aboutsummaryrefslogtreecommitdiff
path: root/runtime/lua/vim
Commit message (Collapse)AuthorAge
...
* Merge pull request #11989 from Weypare/textEditMatthieu Coudron2020-04-20
|\ | | | | LSP/completion: add textEdit support
| * LSP/completion: Add completion text helper functionAndrey Avramenko2020-04-20
| |
| * LSP/completion: add textEdit supportAndrey Avramenko2020-03-06
| | | | | | | | | | According to lsp specification, value of insertText should be ignored if textEdit is provided.
* | lsp: export convert_signature_help_to_markdown_lines (#11950)Hirokazu Hata2020-04-19
| | | | | | This function is also useful for users to create their own `textDocument/signatureHelp` callback function.
* | lua: allow deepcopy of functions (#12136)Tristan Konolige2020-04-19
| |
* | lsp: replace the event that closes the signature help preview window from ↵Hirokazu Hata2020-04-18
| | | | | | | | | | | | InsertCharPre to CursolMovedI (#11954) In the case of InsertCharPre, it is inconvenient because the signature help is displayed when backspaced in insert mode, so change it to CursolMovedI.
* | LSP: fix breakage when severity isn't specified (#12027)Ghjuvan Lacambre2020-04-18
| | | | | | | | | | | | Before this commit, the LSP client would throw errors when messages without severity would be sent by the server. We make severity default to `Error` as a kludge before proper heuristics to discover the severity of a message are found.
* | treesitter: escape backslashes in queriesThomas Vigouroux2020-04-18
| | | | | | | | | | | | | | | | Treesitter changed their decoders and apparently thus causing this change. This decoder change happened on ee9a3c0ebb218990cf391ed987be7f2448c54a73.
* | lsp: provide a default for missing reference kind (#12127)George Zhao2020-04-16
| | | | | | | | | | | | | | Fix #12122 >Error executing vim.schedule lua callback: /usr/local/share/nvim/runtime/lua/vim/lsp/util.lua:560: Expected lua string Some lsp server(e.g. https://github.com/bash-lsp/bash-language-server) not have kind in reference, reference["kind"] is nil
* | vim.uri: fix uri_to_fname (#12059)Hirokazu Hata2020-03-30
| | | | | | | | | | fix: #12056 If the colon of the drive letter of windows is URI encoded, it doesn't match the expected pattern, so decode it first.
* | Merge pull request #11927 from Jesse-Bakker/lsp-buf-versionBjörn Linse2020-03-16
|\ \ | |/ |/| LSP: Use buffer version instead of changedtick for edits
| * Use buffer version instead of changedtick for editsJesse Bakker2020-02-27
| |
* | lsp: make showMessage and logMessage callbacks different (#11942)Hirokazu Hata2020-03-02
| | | | | | | | According to the LSP specification, showMessage is what is displayed and logMessage is what is stored. Since these are different things, I devide the callback into those that match.
* | lua: add vim.tbl_len() #11889Hirokazu Hata2020-03-01
| |
* | lsp: add 'textDocument/documentSymbol’ callbackHirokazu Hata2020-03-01
| | | | | | | | Spec: https://microsoft.github.io/language-server-protocol/specifications/specification-current/#textDocument_documentSymbol
* | lsp: add bufnr to callback function argumentsHirokazu Hata2020-02-28
| | | | | | | | | | DocumentSymbol type doesn't have location field. So when we'll add 'textDocument/documentSymbol’ handler, we can't decide which file have we jump to.
* | LSP: Remove diagnostic message handling in locations_to_itemsMathias Fussenegger2020-02-27
| | | | | | | | | | `locations_to_items` is for turning `Location[]` into items, not for `Diagnostic[]`
* | LSP/references: Add context to locations returned by serverMathias Fussenegger2020-02-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This changes the `textDocument/references' callback to annotate the locations returned by the server with the content present at the locations range. The quickfix list then looks as follows: cr8/insert_fake_data.py|17 col 32| from .misc import parse_table, parse_version cr8/insert_fake_data.py|43 col 15| version = parse_version(r['rows'][0][0]) cr8/java_magic.py|8 col 22| from cr8.misc import parse_version cr8/java_magic.py|30 col 19| version = parse_version(fst) cr8/java_magic.py|33 col 16| return parse_version(version_str) Instead of: cr8/insert_fake_data.py|17 col 32| cr8/insert_fake_data.py|43 col 15| cr8/java_magic.py|8 col 22| cr8/java_magic.py|30 col 19| cr8/java_magic.py|33 col 16|
* | Merge pull request #11880 from bfredl/tree-sitter-regexBjörn Linse2020-02-27
|\ \ | | | | | | add regex support in treesitter queries
| * | lua: add regex support, and `@match` support in treesitter queriesBjörn Linse2020-02-26
| | |
| * | treesitter: redraw on changed queryBjörn Linse2020-02-26
| |/
* | Add signs for Lsp diagnostics (#11668)Alvaro Muñoz2020-02-27
| | | | | | | | | | | | * Add signs for Lsp diagnostics * defer sign definition until init.vim is loaded
* | LSP/hover: Do not throw away contents if first line is empty (#11939)Mathias Fußenegger2020-02-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | haskell-ide-engine sends `hover` payloads as follows: { contents = { kind = "markdown", value = "\n```haskell\nfoo :: Either String (Integer, Text)\n```\n`foo` *local*" }, range = { end = { character = 5, line = 57 }, start = { character = 2, line = 57 } } } `value` starts with `\n`. The logic in `convert_input_to_markdown_lines` threw away the whole information.
* | add support to show diagnostics count in statusline (#11641)Alvaro Muñoz2020-02-26
| | | | | | | | | | * add support to show diagnostics count in statusline * documentation
* | LSP: implement documentHighlight (#11638)Alvaro Muñoz2020-02-26
|/ | | | | | | | * implement documentHighlight * fix bug * document highlight groups * use uppercase for help section title * documentation
* lsp/completion: show duplicates in completion popup #11920Mathias Fußenegger2020-02-21
| | | | | | | | | | | | | Allow duplicates so that in languages with overloaded functions it will show all signatures. E.g. instead of having a single (last one wins) add(int index, String element) It shows all signatures: add(String e) : boolean add(int index, String element) : void
* lsp: make functions private and use filter functionHirokazu Hata2020-02-19
|
* lsp: respect the sort order if there is sortTextHirokazu Hata2020-02-19
|
* lsp: fix textDocument/completion handlingHirokazu Hata2020-02-19
| | | | | | | fix: #11826 Some lanuguage servers return complementary candidates whose prefixes do not match are also returned. So we exclude completion candidates whose prefix does not match. ex) Microsoft python-language-server, rust-analyzer
* lua: move test helper function, map and filter, to vim.shared moduleHirokazu Hata2020-02-18
|
* lsp/rpc.lua: fix `env` application functionJustin M. Keyes2020-02-16
| | | | Env vars must be merged with the current env.
* LSP: fix validate_client_configJustin M. Keyes2020-02-16
| | | | | - `cmd_env` is a table not a function. - tests: Set $NVIM_LOG_FILE for fake LSP server.
* lua: if second argument is vim.empty_dict(), vim.tbl_extend uses ↵Hirokazu Hata2020-02-14
| | | | empty_dict() instead of {}
* lua: vim.deepcopy uses empty_dict() instead of {} for empty_dict()Hirokazu Hata2020-02-13
| | | | fix: https://github.com/neovim/nvim-lsp/issues/94
* LSP: rename validate_command to _cmd_parts #11847Matthieu Coudron2020-02-11
| | | and now only accepts a list of strings (instead of string or list).
* LSP: Refine formatting tabSize #11834Jesse-Bakker2020-02-10
| | | | | | | | | | | | Use the logic explained in the softtabstop help section for defining the tabSize parameter in formatting requests. This means that: - if softtabstop is 0, tabstop is used - if softtabstop < 0, shiftwidth is used - if softtabstop > 0, softtabstop is used When inserting spaces instead of tabs, softtabstop is used in vim. Therefor it would be more logical to use it when formatting instead of the current tabstop.
* treesitter: use internal "decorations" bufferBjörn Linse2020-02-10
|
* lsp: Support text edit on inactive buffer (#11843)Mathias Fußenegger2020-02-10
| | | | | | | | | Using `vim.lsp.buf.rename()` can result in receiving a TextEdit that affects a file for which there is no active or loaded buffer. In that case `api.nvim_buf_get_lines(...)` returned an empty result, leading to an error. Closes https://github.com/neovim/neovim/issues/11790
* LSP: set InitializeParams.rootPath value #11838Hirokazu Hata2020-02-08
| | | InitializeParams.rootPath is deprecated now. But some language servers still use it.
* treesitter: add standard &rtp/parser/ search path for parsersBjörn Linse2020-02-07
|
* LSP: show diagnostic in qf/loclist #11777Matthieu Coudron2020-01-28
| | | | | instead of the content of the file at this line. ref https://github.com/neovim/nvim-lsp/issues/69
* terminal: absolute CWD in term:// URI #11289Chris LaRose2020-01-26
| | | | | | | | | This makes it possible to restore the working directory of :terminal buffers when reading those buffers from a session file. Fixes #11288 Co-authored-by: Justin M. Keyes <justinkz@gmail.com>
* doc [ci skip] #11656Justin M. Keyes2020-01-12
|
* LSP: highlight groups test, docJustin M. Keyes2020-01-08
|
* LSP: differentiate diagnostic underline by severityAlvaro Muñoz2020-01-08
|
* LSP: place hover window by vertical space #11657Ville Hakulinen2020-01-03
| | | | Make the hover window position itself vertically wherever is the most space available.
* lua: metatable for empty dict valueBjörn Linse2020-01-01
|
* LSP: eliminate lsp.print_debug_info…()Justin M. Keyes2019-12-31
| | | | | Reduce API surface. We should not add functions unless they are really needed. Users should be nudged to use vim.inspect() directly.
* LSP: eliminate lsp.stop_all_clients()Justin M. Keyes2019-12-31
| | | | | | Reduce API surface. We don't need so many variations of functions. Too many functions means verbose, largely redundant documentation, tests, and cognitive burden.
* gen_vimdoc.py: generate LSP docsJustin M. Keyes2019-12-31
|