]>
Sergey Matveev's repositories - vim-lsp.git/log
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
Ubaldo Tiberi [Sat, 20 May 2023 18:52:19 +0000 (20:52 +0200)]
Removed call for function calls
Ubaldo Tiberi [Sat, 20 May 2023 18:44:31 +0000 (20:44 +0200)]
removed quotes in dicts key and backslashes for new lines
Ubaldo Tiberi [Fri, 19 May 2023 16:23:12 +0000 (18:23 +0200)]
Examples to vim9, added index and some ascii artwork in docs
Santosh Bandichode [Thu, 18 May 2023 19:19:30 +0000 (00:49 +0530)]
Remove return after throw
Guillaume Démurgé [Thu, 18 May 2023 13:16:08 +0000 (15:16 +0200)]
Reorder options by alphabetical order
Guillaume Démurgé [Thu, 18 May 2023 13:09:18 +0000 (15:09 +0200)]
Add a global example of the features configuration into README
Andreas Louv [Thu, 4 May 2023 21:23:16 +0000 (23:23 +0200)]
Add support for custom request handlers
Girish Palya [Wed, 17 May 2023 15:38:56 +0000 (17:38 +0200)]
Ignore non-standard request from eclipse java LS
Eclipse java language server sends the 'workspace/executeClientCommand'
request (to reload bundles) which is not in the LSP specification.
Ignore this request and suppress the error message.
Fixed typos in lspserver.vim
M autoload/lsp/handlers.vim
M autoload/lsp/lspserver.vim
newtonne [Sun, 14 May 2023 16:02:41 +0000 (17:02 +0100)]
Default keepFocusInDiags to false
newtonne [Sun, 14 May 2023 15:53:13 +0000 (16:53 +0100)]
make more explicit
newtonne [Sun, 14 May 2023 14:59:35 +0000 (15:59 +0100)]
add tests
newtonne [Sun, 14 May 2023 13:06:32 +0000 (14:06 +0100)]
Link to unit test results from README rather than image
newtonne [Sun, 14 May 2023 12:51:19 +0000 (13:51 +0100)]
Add `keepFocusInDiags` option
This option serves a similar purpose to `keepFocusInReferences` but for
`LspDiagShow` rather than `LspShowReferences`. No changes to default
behaviour since it defaults to true.
newtonne [Sun, 14 May 2023 12:38:55 +0000 (13:38 +0100)]
Always switch to correct loclist after running `:LspShowDiags`
Fixes #300
Yegappan Lakshmanan [Sun, 14 May 2023 03:12:03 +0000 (20:12 -0700)]
Merge pull request #298 from inetic/cygpath
Simplify cygwin path conversions
Peter Jankuliak [Sat, 13 May 2023 15:47:09 +0000 (16:47 +0100)]
Update comment
Peter Jankuliak [Thu, 11 May 2023 19:52:15 +0000 (20:52 +0100)]
Simplify cygwin path conversions
Yegappan Lakshmanan [Tue, 9 May 2023 14:20:15 +0000 (07:20 -0700)]
Update the README file with a link to the omnisharp LSP client plugin.
Yegappan Lakshmanan [Tue, 9 May 2023 14:07:56 +0000 (07:07 -0700)]
Merge pull request #297 from inetic/cygwin-file-to-uri
Adapt LspFileTorUri for Cygwin
Peter Jankuliak [Tue, 9 May 2023 06:37:35 +0000 (07:37 +0100)]
Style changes
Peter Jankuliak [Mon, 8 May 2023 19:40:03 +0000 (20:40 +0100)]
Adapt LspFileTorUri for Cygwin
Convert paths of the form "/cygdrive/c/foo/bar" to "c:/foo/bar" and paths of
the form "/home/pete/foo" to "C:/cygwin64/home/pete/foo"
Yegappan Lakshmanan [Mon, 1 May 2023 14:12:15 +0000 (07:12 -0700)]
Merge pull request #293 from berggeist/add-headline-to-language-server-messages
Add headline to language server message
berggeist [Mon, 1 May 2023 09:27:39 +0000 (11:27 +0200)]
Add headline to language server message
Yegappan Lakshmanan [Thu, 27 Apr 2023 14:29:47 +0000 (07:29 -0700)]
Merge pull request #289 from andlrc/remove-if-around-prop-decl
Remove option checks around prop_ declarations
Yegappan Lakshmanan [Thu, 27 Apr 2023 13:55:13 +0000 (06:55 -0700)]
Merge pull request #290 from andlrc/always-send-initOpts
Always send "initializationOptions"
Andreas Louv [Thu, 27 Apr 2023 08:12:36 +0000 (10:12 +0200)]
Always send "initializationOptions"
Some servers expects the object to be there. One being
https://github.com/vuejs/language-tools
Andreas Louv [Thu, 27 Apr 2023 06:43:00 +0000 (08:43 +0200)]
Remove option checks around prop_ declarations
There is no reason not supporting enabling these options about
initialization instead.
Yegappan Lakshmanan [Sun, 23 Apr 2023 16:35:46 +0000 (09:35 -0700)]
Merge pull request #284 from greeschenko/main
add words from current buffer to completion list
Oleksiy Hryshchenko [Sun, 23 Apr 2023 16:17:15 +0000 (19:17 +0300)]
fix if
Yegappan Lakshmanan [Sun, 23 Apr 2023 15:36:44 +0000 (08:36 -0700)]
Save the server textDocumentSync capability
Oleksiy Hryshchenko [Sun, 23 Apr 2023 14:06:03 +0000 (17:06 +0300)]
added requested changes
Yegappan Lakshmanan [Sat, 22 Apr 2023 06:10:27 +0000 (23:10 -0700)]
Update README.md
Yegappan Lakshmanan [Sat, 22 Apr 2023 06:09:24 +0000 (23:09 -0700)]
Update the readme file
Yegappan Lakshmanan [Sat, 22 Apr 2023 03:56:41 +0000 (20:56 -0700)]
Adding inlay hints results in error if the text is modified
Oleksiy Hryshchenko [Fri, 21 Apr 2023 20:29:02 +0000 (23:29 +0300)]
add useBufferCompletion option
Oleksiy Hryshchenko [Fri, 21 Apr 2023 19:30:52 +0000 (22:30 +0300)]
add words from current buffer to completion list
Yegappan Lakshmanan [Fri, 21 Apr 2023 19:23:49 +0000 (12:23 -0700)]
Merge pull request #283 from berggeist/cleanup-diagnostics-code-duplicates
Cleanup of code duplications for diagnostics.
berggeist [Fri, 21 Apr 2023 18:45:16 +0000 (20:45 +0200)]
Cleanup of code duplications for diagnostics.
Yegappan Lakshmanan [Fri, 21 Apr 2023 05:25:05 +0000 (22:25 -0700)]
Use filterText to filter the completion matches. Move the Ultisnips code to a separate function
Yegappan Lakshmanan [Fri, 21 Apr 2023 05:05:30 +0000 (22:05 -0700)]
In Vim9 scripts, 'ignorecase' is not used for comparison operators