aboutsummaryrefslogtreecommitdiff
path: root/runtime/lua/vim
Commit message (Collapse)AuthorAge
* 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
|
* Revert "runtime: Add vim.lsp.get_client_by_name" #11623Ashkan Kiani2019-12-29
| | | reverts 680693e263576e34d5947c43ab0ae3ff0ebfeab5 #11603
* runtime: Add vim.lsp.get_client_by_name (#11603)Hirokazu Hata2019-12-28
| | | | Since the client name is more obvious than the client id for the user, add an API to get the lsp client by the client name.
* LSP: Handle rpc RequestCancelled specifically. (#11606)Ashkan Kiani2019-12-24
| | | | | | | This was creating extra noise in errors that we should've been handling internally. Fixes #11515
* tree-sitter: implement query functionality and highlighting prototype ↵Björn Linse2019-12-22
| | | | [skip.lint]
* LSP: Use async completion for omnifunc. (#11578)Ashkan Kiani2019-12-20
|
* LSP: Improve the display of the default hover callback. (#11576)Ashkan Kiani2019-12-20
| | | Strips the code blocks from markdown and does syntax highlighting.
* LSP: fix omnifunc findstart (#11522)Mike Hartington2019-12-20
|
* LSP: Add jump when calling gotodef (#11521)Jakub Łuczyński2019-12-07
|
* Add vim.startswith and vim.endswith (#11248)Ashkan Kiani2019-12-01
|
* lsp: allow the user to config LspDiagnosticError etc by standard meansBjörn Linse2019-11-28
|
* LSP: Move default buf callbacks to vim.lsp.callbacks (#11452)Ashkan Kiani2019-11-26
| | | | | | | - In the process, refactored focusable_preview to a util function. - Add text for locations_to_items of the current line. - Improve location callback to handle multiple return values by using set_qflist. - Remove update_tagstack and leave note for future travelers.
* doc + extmarks tweaks #11421Justin M. Keyes2019-11-25
| | | | - nvim_buf_get_extmarks: rename "amount" => "limit" - rename `set_extmark_index_from_obj`
* Bring vim into local scopeAshkan Kiani2019-11-24
|
* Add support for textDocument/references.Ashkan Kiani2019-11-24
| | | | | | Add set_qflist and set_loclist. - Also add locations_to_items, which calculates byte offsets for character positions in files and avoids unnecessary operations.