aboutsummaryrefslogtreecommitdiff
path: root/runtime/lua
Commit message (Collapse)AuthorAge
...
* | feat(lsp): jump to diagnostics by position (#14795)Zi How Poh2021-08-19
|/
* docs(lsp): prevent internal comments from showing as vim.lsp.init docsMathias Fussenegger2021-08-16
|
* fix(lsp): properly handle `nil` lines when trimming empty lines (#15325)Andrea Cappuccio2021-08-10
|
* fix(lsp): floating popup should take offset_x into account when positioning ↵Hans Pinckaers2021-08-09
| | | | (#15297)
* docs: Add some references to LSP specification (#15321)max3975742021-08-09
|
* Merge pull request #14767 from theHamsta/no-treesitter-mapping-to-non-existentThomas Vigouroux2021-08-07
|\ | | | | fix(treesitter): do not map hl_group when no mapping is set
| * chore: remove reference to nvim-treesitter in commentStephan Seitz2021-08-06
| |
| * fix(treesitter): do not map hl_group when no mapping is setStephan Seitz2021-08-06
| | | | | | | | | | | | | | | | | | | | | | This changes the behavior of the hl_cache to the old one. - when the capture exists as a hlgroup -> use it - when hl_map contains a mapping -> use it - else do nothing (before: map capture to non-existing capture) Before also captures `@foo.bar` would intend to use the hlgroup `foo.bar` which results in a confusing error since hlgroups can't contain dots.
* | fix(lsp): prevent duplicate lines seperated by newlines (#15284)Folke Lemaitre2021-08-06
|/
* refactor: remove remaining references to nvim_buf_set_virtual_textGregory Anders2021-08-03
|
* fix(lsp): Include client name in handler error messages (#15227)Mathias Fußenegger2021-07-31
| | | Makes it easier to tell with language server caused an error.
* feat(lsp): implement vim.lsp.diagnostic.redraw() (#15203)Gregory Anders2021-07-29
| | | | | | | | | | | | | Add a new function to redraw diagnostics from the current diagnostic cache, without receiving a "publishDiagnostics" message from the server. This is already being done in two places in the Lua stdlib, so this function unifies that functionality in addition to providing it to third party plugins. An example use case for this could be a command or key-binding for toggling diagnostics virtual text. The virtual text configuration option can be toggled using `vim.lsp.with` followed by `vim.lsp.diagnostic.redraw()` to immediately redraw the diagnostics with the updated setting.
* feat(lsp): make list handlers configurable (#15199)Gregory Anders2021-07-26
| | | | | | | | | | | | The handlers for textDocument/references, textDocument/documentSymbol, and workspace/symbol open their results in the quickfix list by default and are not configurable. They are also incompatible with `vim.lsp.with` as they do not accept a configuration parameter. Add a `config` parameter to the handler for these three messages which allows them to be configured with `vim.lsp.with`. Additionally, add a new configuration option 'loclist' that, when true, causes these handlers to open their results in the location list rather than the quickfix list.
* docs(ts): add documentation for listing fnsThomas Vigouroux2021-07-25
|
* treesitter: add query.list_directivesStephan Seitz2021-07-24
|
* feat(treesitter): allow to set highlight priority for queriesStephan Seitz2021-07-22
|
* lsp: add vim.lsp.diagnostic.set_qflist() function (#14831)Marc Jakobi2021-07-22
| | | | * Add vim.lsp.diagnostic.set_qflist() function * replaces opts.open_loclist with unified opts.open
* lsp(start_client): Allow passing custom workspaceFolders to the LSP (#15132)sim2021-07-20
| | | | | | | | | | | | | | Some language servers *cough*rust-analyzer*cough* need an empty/custom workspaceFolders for certain usecases. For example, rust-analyzer needs an empty workspaceFolders table for standalone file support (See https://github.com/rust-analyzer/rust-analyzer/pull/8955). This can also be useful for other languages that need to commonly open a certain directory (like flutter or lua), which would help prevent spinning up a new language server altogether. In case no workspaceFolders are passed, we fallback to what we had before.
* docs: made can_merge private (#15138)Folke Lemaitre2021-07-19
|
* fix(lsp): allow diagnostic.clear to accept nil bufnr (#15137)Gregory Anders2021-07-19
| | | | | | | Passing `nil` is equivalent to passing 0, i.e. it simply uses the current buffer number. This fixes a bug when vim.lsp.diagnostic.disable() is called without arguments.
* feat(lsp): allow diagnostics to be disabled for a buffer (#15134)Gregory Anders2021-07-19
| | | | | | | | | | | | | | | Add two new methods to allow diagnostics to be disabled (and re-enabled) in the current buffer. When diagnostics are disabled they are simply not displayed to the user, but they are still sent by the server and processed by the client. Disabling diagnostics can be helpful in a number of scenarios. For example, if one is working on a buffer with an overwhelming amount of diagnostic warnings it can be helpful to simply disable diagnostics without disabling the LSP client entirely. This also allows users more flexibility on when and how they may want diagnostic information to be displayed. For example, some users may not want to display diagnostic information until after the buffer is first written.
* feat(lsp): allow configuring zindex for floating windows (#15086)rayx2021-07-19
|
* fix(shared): do not treat empty tables as list in deep extend (#15094)Folke Lemaitre2021-07-19
| | | | | | | | | | An empty table was previously always treated as a list, which means that while merging tables, whenever an empty table was encountered it would always truncate any table on the left. `vim.tbl_deep_extend("force", { b = { a = 1 } }, { b = {} })` Before: `{ b = {} }` After: `{ b = { a = 1 } }`
* feat: aggregate code actions from all clients (#15121)Folke Lemaitre2021-07-18
|
* doc(lsp): various small fixes (#15113)Ido Ariel2021-07-17
| | | | | | - remove incorrect usage of docstrings - fix make_formatting_params return type documentation to 'DocumentFormattingParams' - make progress_handler private - fix links
* Merge pull request #15017 from donbex/local-file-uriMichael Lingelbach2021-07-14
|\ | | | | fix(lsp): accept file URIs without a hostname
| * feat(vim.uri): Allow URI schemes other than file: without authorityTom Payne2021-07-10
| |
| * fix(lsp): accept file URIs without a hostnameAlessandro Pezzoni2021-07-10
| | | | | | | | | | | | | | RFC 8089, which defines the file URI scheme, also allows URIs without a hostname, i.e. of the form file:/path/to/file. These are returned by some language servers and accepted by other LSP implementations, such as VSCode's, so it is reasonable for us to accept them as well.
* | fix(lsp): pass bufnr for async formatting (#15084)Michael Lingelbach2021-07-14
| | | | | | | | | | | | the `textDocument/rangeFormatting` nad `textDocument/formatting` did not pass bufnr to apply_text_edits, meaning edits were applied to the user's currently active buffer. This could result in text being applied to the wrong buffer.
* | fix(lsp): avoid ipairs on non-sequential tables (#15059)Michael Lingelbach2021-07-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ipairs terminates on the first nil index when iterating over table keys: for i,k in ipairs( {[1] = 'test', [3] = 'test'} ) do print(i, k) end prints: 1 test Instead, use pairs which continues iterating over the entire table: for i,k in pairs( {[1] = 'test', [3] = 'test'} ) do print(i, k) end prints: 1 test 3 test
* | fix(lsp): Ensure human readable errors are printedMathias Fussenegger2021-07-11
| | | | | | | | | | | | | | | | | | | | `return err_message(tostring(err))` caused errors to be printed as `table: 0x123456789` instead of showing the error code and error message. This also removes some `if err` blocks that never got called because at the end of `handlers.lua` all the handlers are wrapped with logic that adds generic error handling.
* | fix(lsp): Ensure users get feedback on references/symbols errors or empty ↵Mathias Fussenegger2021-07-11
| | | | | | | | | | | | | | | | | | results Relates to https://github.com/neovim/neovim/issues/15050 Users should get some indication if there was an error or an empty result.
* | fix(lsp): Add separator between codelens in virttext (#15049)Mathias Fußenegger2021-07-10
| | | | | | | | | | | | | | | | | | | | | | | | Before: Lens1Lens2 After: Lens1 | Lens2 Fixes https://github.com/neovim/neovim/issues/15048
* | fix(lsp): correctly check for windows in lsp logger (#14954)Oliver Marriott2021-07-10
| |
* | feat(lsp): Make line diagnostics display prettierMathias Fussenegger2021-07-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Adds indentation that matches the number prefix to ensure diagnostic messages spawning multiple lines align. Before: Diagnostics: 1. • Variable not in scope: red :: t0 -> t • Perhaps you meant one of these: ‘rem’ (imported from Prelude), ‘read’ (imported from Prelude), ‘pred’ (imported from Prelude) 2. • Variable not in scope: repeDoubleColon :: [Char] -> t0 • Perhaps you meant ‘replaceDoubleColon’ (line 32) After: Diagnostics: 1. • Variable not in scope: red :: t0 -> t • Perhaps you meant one of these: ‘rem’ (imported from Prelude), ‘read’ (imported from Prelude), ‘pred’ (imported from Prelude) 2. • Variable not in scope: repeDoubleColon :: [Char] -> t0 • Perhaps you meant ‘replaceDoubleColon’ (line 32)
* | fix(lsp): support duplicate params in signature help (#15032)Folke Lemaitre2021-07-09
| |
* | fix(lsp): restore diagnostics extmarks that were moved to the last edit line ↵Folke Lemaitre2021-07-08
| | | | | | | | (#15023)
* | feat(lsp): highlight active parameter in signature help (#15018)Folke Lemaitre2021-07-07
|/
* fix(lsp): restore diagnostics extmarks on buffer changes (#15011)Folke Lemaitre2021-07-07
|
* fix(lsp): prevent double <text> for cached plaintext markupFolke Lemaitre2021-07-05
|
* fix(vim.opt): vimL map string values not trimmed (#14982)jadedpasta2021-07-04
| | | | | | | | | Options formatted as a list of comma-separated key-value pairs may have values that contain leading and trailing whitespace characters. For example, the `listchars` option has a default value of `"tab:> ,trail:-,nbsp:+"`. When converting this value to a lua table, leading and trailing whitespace should not be trimmed. Co-authored-by: Robert Hrusecky <robert.hrusecky@utexas.edu>
* fix(vim.opt): Fix #14828 with empty values being incorrectly insertedTJ DeVries2021-06-29
|
* fix(vim.opt): Fix #14668 Now correctly handles unescaped commas in isfname styleTJ DeVries2021-06-29
|
* fix(vim.opt): Fix #14669 whichwrap now acts as expectedTJ DeVries2021-06-29
|
* fix(vim.opt): Add basic error handlingDavid Zhang2021-06-29
|
* fix(vim.opt): Get window options before setting.ckipp012021-06-29
| | | | | | | This closes #14677, but I also am a little unsure if there are times where this may not be correct. However, this just changes the behavior that even if `was_set` was false, we still get for `nvim_win_get_option`.
* fix(vim.opt): #14708 Now lets you put duplicate values in wildmodeTJ DeVries2021-06-29
|
* Fixed +1 -1 in util.lua (#14913)jimman20032021-06-26
| | | No point in adding and then subtracting I believe ;)
* fix(lsp): render the last line in stylize_markdownFolke Lemaitre2021-06-25
|
* style(lsp): make get_markdown_fences privateFolke Lemaitre2021-06-25
|