]>
Sergey Matveev's repositories - vim-lsp.git/log
Yegappan Lakshmanan [Sat, 24 Jun 2023 18:27:45 +0000 (11:27 -0700)]
Minor optimization
Yegappan Lakshmanan [Sat, 24 Jun 2023 18:08:01 +0000 (11:08 -0700)]
Add support for displaying symbols in the current file in a popup menu
Yegappan Lakshmanan [Sun, 18 Jun 2023 22:53:52 +0000 (15:53 -0700)]
Move snippet related code to a separate file
Yegappan Lakshmanan [Sun, 18 Jun 2023 15:24:27 +0000 (08:24 -0700)]
Support using a particular offset encoding in LSP messages
Yegappan Lakshmanan [Sun, 18 Jun 2023 14:26:50 +0000 (07:26 -0700)]
Silence the messages when loading new buffers
Yegappan Lakshmanan [Sun, 18 Jun 2023 13:49:12 +0000 (06:49 -0700)]
Update the check for the presence of a diags location list and update comments
Yegappan Lakshmanan [Sun, 18 Jun 2023 13:24:19 +0000 (06:24 -0700)]
Decode symbol location only when needed
Yegappan Lakshmanan [Sun, 18 Jun 2023 05:47:26 +0000 (22:47 -0700)]
Cursor not positioned correctly when jumping to a symbol in another file
Yegappan Lakshmanan [Sun, 18 Jun 2023 04:39:08 +0000 (21:39 -0700)]
:LspSymbolSeach command doesn't support command modifiers. When only one symbol is found, jump to it
Yegappan Lakshmanan [Sun, 18 Jun 2023 01:26:16 +0000 (18:26 -0700)]
Not able to set language server trace level during initialization
Yegappan Lakshmanan [Sat, 17 Jun 2023 22:10:07 +0000 (15:10 -0700)]
Add a function to get all the diagnostics in a buffer
Yegappan Lakshmanan [Sat, 17 Jun 2023 21:42:39 +0000 (14:42 -0700)]
Update diags location list when the diags for the buffer changes. Update comments
Yegappan Lakshmanan [Sat, 17 Jun 2023 17:56:23 +0000 (10:56 -0700)]
Fix hover test failure
Yegappan Lakshmanan [Sat, 17 Jun 2023 17:50:20 +0000 (10:50 -0700)]
Not able to use :LspHover with 'keywordprg'
Yegappan Lakshmanan [Sat, 17 Jun 2023 13:21:57 +0000 (06:21 -0700)]
Merge pull request #343 from Shane-XB-Qian/fix_test_conflict_failure
fix: test conflict failure
shane.xb.qian [Sat, 17 Jun 2023 10:22:23 +0000 (18:22 +0800)]
fix: test conflict failure
Yegappan Lakshmanan [Sat, 17 Jun 2023 01:55:26 +0000 (18:55 -0700)]
Add support for UTF-8 and UTF-16 offset encoding
Yegappan Lakshmanan [Sat, 10 Jun 2023 19:24:16 +0000 (12:24 -0700)]
Merge pull request #340 from Shane-XB-Qian/fix_super_is_keyword
fix: 'super' is a keyword cannot use
shane.xb.qian [Sat, 10 Jun 2023 18:19:35 +0000 (02:19 +0800)]
fix: 'super' is a keyword cannot use
Yegappan Lakshmanan [Fri, 9 Jun 2023 14:53:09 +0000 (07:53 -0700)]
Merge pull request #334 from vimpostor/ale
Implement Ale integration support
Yegappan Lakshmanan [Fri, 9 Jun 2023 14:43:08 +0000 (07:43 -0700)]
Merge branch 'main' into ale
Yegappan Lakshmanan [Wed, 7 Jun 2023 15:36:34 +0000 (08:36 -0700)]
Some lines in the plugin help text exceed 79 characters
Yegappan Lakshmanan [Tue, 6 Jun 2023 04:46:33 +0000 (21:46 -0700)]
Merge pull request #336 from Shane-XB-Qian/fix_util_getbufline_useless
fix: util.GetBufOneLine is a bit useless
Yegappan Lakshmanan [Tue, 6 Jun 2023 04:43:04 +0000 (21:43 -0700)]
Merge pull request #335 from Shane-XB-Qian/fix_correct_test_fs_ignore
fix: correct test fs gitignore
Yegappan Lakshmanan [Tue, 6 Jun 2023 04:42:39 +0000 (21:42 -0700)]
Merge pull request #337 from Shane-XB-Qian/fix_test_conflict_failure
fix: test conflict failure
shane.xb.qian [Tue, 6 Jun 2023 04:21:57 +0000 (12:21 +0800)]
fix: test conflict failure
shane.xb.qian [Tue, 6 Jun 2023 03:59:20 +0000 (11:59 +0800)]
fix: util.GetBufOneLine is a bit useless
shane.xb.qian [Tue, 6 Jun 2023 03:28:44 +0000 (11:28 +0800)]
fix: correct test fs gitignore
Yegappan Lakshmanan [Tue, 6 Jun 2023 02:32:10 +0000 (19:32 -0700)]
Fix test failure
Yegappan Lakshmanan [Tue, 6 Jun 2023 01:49:19 +0000 (18:49 -0700)]
Fix test failures
Yegappan Lakshmanan [Mon, 5 Jun 2023 06:39:58 +0000 (23:39 -0700)]
Properly support multibyte characters with composing characters
Magnus Groß [Fri, 2 Jun 2023 16:28:18 +0000 (18:28 +0200)]
Add Ale integration support
Ale [0] is a famous plugin to show linter warnings and diagnostics. It
already provides extensive functionality and configurability to display
those diagnostics.
In order to allow diagnostics from other plugins (e.g. LSP plugins) to
be shown together with those linter warnings, Ale has API so that those
diagnostics can be sent to Ale.
Ale will then display them as if they came from Ale itself. This is
useful for many reasons, e.g. this ensures a consistent look and allows
the location list for a window to be populated with all diagnostics,
regardless from which plugin they come.
There are other famous LSP plugins, that already integrate with Ale,
e.g. coc.nvim [1] allows this with "diagnostic.displayByAle".
This patch implements the same functionality by adding an "aleSupport"
option that is off by default. If the option is turned on, diagnostics
will be sent to Ale instead of being displayed by this plugin directly.
[0] https://github.com/dense-analysis/ale
[1] https://github.com/neoclide/coc.nvim
Magnus Groß [Fri, 2 Jun 2023 16:15:46 +0000 (18:15 +0200)]
Use getbufoneline() in GetLineByteFromPos
This makes this more robust and also decreases the indentation level.
Yegappan Lakshmanan [Thu, 1 Jun 2023 15:29:35 +0000 (08:29 -0700)]
Merge pull request #332 from girishji/vim-vsnip-support
Add support for hrsh7th/vim-vsnip plugin
Girish Palya [Thu, 1 Jun 2023 15:26:53 +0000 (17:26 +0200)]
Use string evaluation
M autoload/lsp/completion.vim
Girish Palya [Thu, 1 Jun 2023 15:18:05 +0000 (17:18 +0200)]
Correction
M autoload/lsp/completion.vim
Girish Palya [Thu, 1 Jun 2023 15:12:14 +0000 (17:12 +0200)]
Change to '->' method call syntax
M autoload/lsp/completion.vim
Yegappan Lakshmanan [Thu, 1 Jun 2023 14:34:33 +0000 (07:34 -0700)]
Merge pull request #333 from girishji/buffer-compl
Fix bug where buffer completion spams
Girish Palya [Thu, 1 Jun 2023 14:13:57 +0000 (16:13 +0200)]
Fix bug where buffer completion spams
Steps to reproduce:
- Enable buffer completion
- Search for 'xyz' where 'xy' has completions
- Backspace to remove 'z'
- You'll see all items from current buffer shown that are not related
to 'xy'
M autoload/lsp/completion.vim
Girish Palya [Thu, 1 Jun 2023 09:53:42 +0000 (11:53 +0200)]
Enchance documentation
M doc/lsp.txt
Girish Palya [Thu, 1 Jun 2023 09:26:57 +0000 (11:26 +0200)]
Enhance documentation
M doc/lsp.txt
Girish Palya [Thu, 1 Jun 2023 09:18:20 +0000 (11:18 +0200)]
Fix merge issue
M autoload/lsp/completion.vim
Girish Palya [Thu, 1 Jun 2023 09:04:43 +0000 (11:04 +0200)]
Add support for hrsh7th/vim-vsnip snippets
Summary:
- Query vim-vsnip plugin for snippet completions and add the items
to the completion list.
- Add a boolean flag to set vsnip completion option
- Update documentation
- Without this enhancement vsnip could only expand LSP provided
snippets
- Inteface to vim-vsnip plugin is based on hrsh7th/cmp-vsnip
Following plugins need to be installed:
[required] hrsh7th/vim-vsnip
[required] hrsh7th/vim-vsnip-integ
[optional] rafamadriz/friendly-snippets
Options should be set as follows:
completionTextEdit: false,
snippetSupport: true,
vsnipSupport: true,
ultisnipsSupport: false,
Shortcoming:
Completion is not triggered for non-keyword characters like '#' (ex. #
before #if in C) even though vsnip is capable of such completion,
unless LSP server sets special characters as trigger characters. This
is not a major shortcoming since it will expand once a keyword
character is typed (say, #i in #if). To address this issue some code
reorganization is needed, and perhaps separation of completion
mechanism from the LSP client core.
User can define keymaps for Tab completion as follows:
(<Space> will expand the snippet)
def! g:LspCleverTab(): string
return pumvisible() ? "\<c-n>" : vsnip#jumpable(1) ?
\ "\<Plug>(vsnip-jump-next)" : g:WhitespaceOnly() ?
\ "\<tab>" : "\<c-n>"
enddef
def! g:LspCleverSTab(): string
return pumvisible() ? "\<c-p>" : vsnip#jumpable(-1) ?
\ "\<Plug>(vsnip-jump-prev)" : g:WhitespaceOnly() ?
\ "\<s-tab>" : "\<c-p>"
enddef
autocmd FileType java,c,cpp,python
\| iunmap <silent> <tab>
\| iunmap <silent> <s-tab>
\| inoremap <expr> <tab> g:LspCleverTab()
\| snoremap <expr> <tab> g:LspCleverTab()
\| inoremap <expr> <S-Tab> g:LspCleverSTab()
\| snoremap <expr> <S-Tab> g:LspCleverSTab()
M autoload/lsp/completion.vim
M autoload/lsp/options.vim
M doc/lsp.txt
Yegappan Lakshmanan [Thu, 1 Jun 2023 05:18:28 +0000 (22:18 -0700)]
Fix test failure
Yegappan Lakshmanan [Thu, 1 Jun 2023 05:03:45 +0000 (22:03 -0700)]
getbufoneline() is supported only starting from Vim 9.0.0916
Yegappan Lakshmanan [Thu, 1 Jun 2023 02:30:46 +0000 (19:30 -0700)]
Merge pull request #331 from vimpostor/completepopup
Fix completepopup colors
Yegappan Lakshmanan [Thu, 1 Jun 2023 02:29:25 +0000 (19:29 -0700)]
Merge pull request #330 from vimpostor/getbufoneline
Fix rare out-of-bounds issue with getbufline()
Yegappan Lakshmanan [Thu, 1 Jun 2023 02:24:20 +0000 (19:24 -0700)]
Merge pull request #329 from vimpostor/continue-missing-server
Skip invalid servers instead of aborting
Yegappan Lakshmanan [Thu, 1 Jun 2023 02:23:07 +0000 (19:23 -0700)]
Merge pull request #328 from inetic/cygpath-cache
Speed up cygwin path transformation.
Magnus Groß [Wed, 31 May 2023 22:51:38 +0000 (00:51 +0200)]
Unify completepopup settings
There is not really a reason to have different completepopup settings
depending on if the LSP server supports lazy documentation or not:
In both cases info may be displayed, the only difference being that with
"resolveProvider" the info is to be fetched on demand.
But for both scenarios the formatting of the info popup should be the
same.
This fixes a problem, where in the non-lazydoc branch the info popup is
colored with the PmenuSel highlight group, which is a little bit ugly
when the content is syntax highlighted as well.
Magnus Groß [Wed, 31 May 2023 21:44:24 +0000 (23:44 +0200)]
Use getbufoneline() where applicable
This has better performance than getbufline() and as a sideeffect also
fixes a rare issue where the LSP sends invalid data such that
getbufline() reads an empty list and causes the array access to get out
of bounds. With getbufoneline() this neatly falls back to returning the
empty string.
Magnus Groß [Wed, 31 May 2023 20:01:47 +0000 (22:01 +0200)]
Skip invalid servers instead of aborting in LspAddServer()
If the user calls LspAddServer() with a list of servers, where the very
first entry does not exist, but all the remaining ones do, then no
servers are added at all. This doesn't make much sense, as the other
entries might be valid entries.
Fix this by simply continuing with the next entry instead of returning
when encountering an error.
Peter Jankuliak [Mon, 29 May 2023 06:33:50 +0000 (07:33 +0100)]
Minor refactor
Yegappan Lakshmanan [Sun, 28 May 2023 19:50:26 +0000 (12:50 -0700)]
Use method calling syntax
Yegappan Lakshmanan [Sun, 28 May 2023 15:36:20 +0000 (08:36 -0700)]
Markdown text in a completion popup window is not properly rendered. In a Vim9 script, string index is a character index and not a byte index. Use strpart() instead of indexing a string to extract characters
Peter Jankuliak [Sun, 28 May 2023 14:49:42 +0000 (15:49 +0100)]
Cache full paths in LspFileToUri
Peter Jankuliak [Sun, 28 May 2023 13:23:27 +0000 (14:23 +0100)]
Speed up cygwin path transformation.
Yegappan Lakshmanan [Sat, 27 May 2023 17:35:18 +0000 (10:35 -0700)]
Fix test failures
Yegappan Lakshmanan [Sat, 27 May 2023 17:16:39 +0000 (10:16 -0700)]
In the LSP client capabilities, use 'markdown' first before 'plaintext'
Yegappan Lakshmanan [Sat, 27 May 2023 17:08:02 +0000 (10:08 -0700)]
Error message about a language server not supporting a particular feature is not correct
Yegappan Lakshmanan [Thu, 25 May 2023 15:16:38 +0000 (08:16 -0700)]
Merge pull request #326 from andlrc/conditional-prop-override
Conditionally override cursor for props when "&cursorline" is set
Andreas Louv [Thu, 25 May 2023 14:09:00 +0000 (16:09 +0200)]
Conditionally override cursor for props when "&cursorline" is set
Yegappan Lakshmanan [Wed, 24 May 2023 14:27:21 +0000 (07:27 -0700)]
Merge pull request #302 from newtonne/focus-fix
Add `keepFocusInDiags` option
Yegappan Lakshmanan [Wed, 24 May 2023 14:20:46 +0000 (07:20 -0700)]
Merge pull request #325 from andlrc/refactor/golsp-test
Save bufnr() in a variable instead of inlining it
Andreas Louv [Wed, 24 May 2023 14:16:37 +0000 (16:16 +0200)]
Save bufnr() in a variable instead of inlining it
Yegappan Lakshmanan [Wed, 24 May 2023 03:22:21 +0000 (20:22 -0700)]
Merge branch 'main' into focus-fix
Yegappan Lakshmanan [Wed, 24 May 2023 03:19:13 +0000 (20:19 -0700)]
Merge pull request #301 from newtonne/loclist-fix
Always switch to correct loclist after running `:LspShowDiags`
newtonne [Tue, 23 May 2023 20:32:57 +0000 (21:32 +0100)]
update comment
newtonne [Tue, 23 May 2023 20:30:33 +0000 (21:30 +0100)]
move code to ShowAllDiags
newtonne [Tue, 23 May 2023 20:28:42 +0000 (21:28 +0100)]
Merge branch 'main' into loclist-fix
newtonne [Tue, 23 May 2023 20:21:56 +0000 (21:21 +0100)]
default to true and update tests
newtonne [Tue, 23 May 2023 19:29:19 +0000 (20:29 +0100)]
Merge branch 'main' into focus-fix
Yegappan Lakshmanan [Tue, 23 May 2023 14:30:54 +0000 (07:30 -0700)]
Ignore the '$/analyzerStatus' notification message from the dart language server
Yegappan Lakshmanan [Tue, 23 May 2023 14:19:27 +0000 (07:19 -0700)]
Merge pull request #321 from andlrc/add-priority-to-props
Add priority to props
Andreas Louv [Tue, 23 May 2023 05:34:30 +0000 (07:34 +0200)]
Add priority to inline diagnostics
This will render an error sign above warning, info and hint signs.
Andreas Louv [Tue, 23 May 2023 05:33:39 +0000 (07:33 +0200)]
Add priority to signs
This will render an error sign above warning, info and hint signs.
Yegappan Lakshmanan [Tue, 23 May 2023 01:13:10 +0000 (18:13 -0700)]
Get the resolveProvider capability only if completionProvider is present
Yegappan Lakshmanan [Tue, 23 May 2023 00:55:25 +0000 (17:55 -0700)]
Merge pull request #320 from andlrc/omni-compl-and-lazy-docs
Add support for lazy documentation and omni completion
Andreas Louv [Mon, 22 May 2023 20:57:03 +0000 (22:57 +0200)]
Respect when "&completeopt" doesn't contain "preview"
Andreas Louv [Mon, 22 May 2023 20:30:39 +0000 (22:30 +0200)]
Add support for lazy documentation and omni completion
Yegappan Lakshmanan [Mon, 22 May 2023 21:01:06 +0000 (14:01 -0700)]
Merge pull request #306 from andlrc/custom-ref-highlight
Custom ref highlight
Andreas Louv [Tue, 16 May 2023 07:46:03 +0000 (09:46 +0200)]
Don't override visual selection, hlsearch etc, when highlighting refs
Andreas Louv [Tue, 16 May 2023 07:45:44 +0000 (09:45 +0200)]
Make it possible to define custom ref highlights
Yegappan Lakshmanan [Sun, 21 May 2023 19:38:36 +0000 (12:38 -0700)]
Merge pull request #318 from andlrc/process-diags
Process diags
Yegappan Lakshmanan [Sun, 21 May 2023 19:35:28 +0000 (12:35 -0700)]
Merge branch 'main' into process-diags
Yegappan Lakshmanan [Sun, 21 May 2023 19:23:31 +0000 (12:23 -0700)]
Update comment to mention the list of unhandled server requests
Yegappan Lakshmanan [Sun, 21 May 2023 19:04:20 +0000 (12:04 -0700)]
Merge pull request #310 from andlrc/customrequesthandlers
Add support for custom request handlers
Yegappan Lakshmanan [Sun, 21 May 2023 18:59:32 +0000 (11:59 -0700)]
Merge branch 'main' into customrequesthandlers
Yegappan Lakshmanan [Sun, 21 May 2023 18:28:22 +0000 (11:28 -0700)]
Merge pull request #309 from girishji/ignore_jdtls_request
Ignore non-standard request from eclipse java LS
Yegappan Lakshmanan [Sun, 21 May 2023 17:42:34 +0000 (10:42 -0700)]
Merge pull request #312 from guildem/feature/readme
Updated documentation with options example and reordering
Yegappan Lakshmanan [Sun, 21 May 2023 14:58:57 +0000 (07:58 -0700)]
Move the license in the help text to the end
Yegappan Lakshmanan [Sun, 21 May 2023 14:53:39 +0000 (07:53 -0700)]
Merge pull request #316 from ubaldot/docs_examples_to_vim9
Examples to vim9, added index and some ascii artwork in docs
Yegappan Lakshmanan [Sun, 21 May 2023 05:06:21 +0000 (22:06 -0700)]
Merge pull request #303 from newtonne/fix-link
Link to unit test results from README rather than image
Yegappan Lakshmanan [Sun, 21 May 2023 05:05:16 +0000 (22:05 -0700)]
Merge pull request #314 from techntools/fix/return-after-throw
Remove return after throw
Andreas Louv [Sat, 20 May 2023 19:44:46 +0000 (21:44 +0200)]
Add test for "processDiagHandler"
Andreas Louv [Sat, 20 May 2023 19:39:39 +0000 (21:39 +0200)]
Add example for how to prefix diagnostics messages
Andreas Louv [Sat, 20 May 2023 19:39:29 +0000 (21:39 +0200)]
Add example for how to filter diagnostics
Andreas Louv [Sat, 20 May 2023 19:38:47 +0000 (21:38 +0200)]
Add error checking for the config "processDiagHandler"
Andreas Louv [Sat, 20 May 2023 19:38:34 +0000 (21:38 +0200)]
Add the server config "processDiagHandler"
Ubaldo Tiberi [Sat, 20 May 2023 19:24:20 +0000 (21:24 +0200)]
Integrated feedbacks 1-5