It is convenient to be able to stop all LSP servers, regardless of the
currently active buffer.
Also, it seems confusing that when a server name is specified, it is
only stopped if it is also one handling the current buffer type. I
would imagine it is quite rare to have more than one server handing a
specific buffer type. And if one explicitly specified a name, it seems
reasonable to stop this particular server, regardless of the currently
active buffer.
* add g:lsp_experimental_native_lsp flag to enable native vim lsp client
* send request and correctly call on_notification
* add support for native client in lsp#client#send_notification
* Add native lsp client support for lsp#client#send_response
* add native notification support
* add support for native stop job
* handle error response for document_formatting.vim and code_action.vim
* add missing return for code action
* fix indent
* undo code action error
* check for a:response to be of type dict as stderr will send string
* use out_cb and err_cb instead of channel callback
* bump has_native_client version check to 8.2.4780 which fixes LSP parsing messages when partial data is received
* rename g:lsp_experimental_native_lsp to g:lsp_use_native_client
* fix s:native_err_cb
* pass env
* disable lsp_use_native_client
* add lsp#utils#has_native_lsp_client()
* clean up log
* handle requests from server
* fix lint issues
* update docs
For code actions, some people might find it more convenient to use a
popup menu that shows up at the cursor position, instead of using the
quickpick window at the bottom of the screen.
* initial naive implementation of semanticTokens
* fix race condition when starting new lsp server
* fix error when closing and re-opening a buffer
* support nvim highlighting
* provide tokenTypes and tokenModifiers client capabilities
* move semantic.vim to autoload/lsp/internal
* refactor semantic tokens to use a callbag
* remove scope tree functions
* refactor decoding of semanticTokens responses
* improve semantic tokens nvim support
* add support for multi-byte characters
* update semantic tokens on TextChangedP
* don't apply semantic highlighting to large files
* replace semantic_highlight server key with custom highlight groups
* rename g:lsp_large_buffer_threshold to g:lsp_max_buffer_size
* fix typo: correct LpEvents to LspEvents
* update semantic highlighting documentation
* change has('popupwin') to exists('autoload/lsp/internal/semantic.vimTextChangedP')
* correct lsp_max_buffer_size usage
* add LspSemanticHighlightGroups helper command
* use explicit scope and reorganise decode_tokens
* use robust comparison + single quoted strings in s:init_highlight
* update semantic highlighting on VimEnter
* support semanticTokens/full/delta requests
* request semanticTokens/full on BufNewFile or BufReadPost
* perform full semantic updates on lsp_buffer_enabled
* support SemanticTokensDelta response to textDocument/semanticTokens/full/delta request
* decide between full or delta semanticTokens request based on state
* use prop_add_list to add semantic tokens
* sort semanticTokens edits before applying
* update semantic.vim to conform to google style guide
* update default semantic highlight groups to better match usage
* fix parsing of SemanticTokensOptions
* mention g:lsp_semantic_enabled in vim-lsp-semantic docs
* document g:lsp_semantic_delay
* add support for semantic token modifiers
* sort semantic tokens modifiers alphabetically
* correctly report semantic tokens capabilities
* add g:lsp_experimental_workspace_folders
* send client capabilities for workspaceFolders if g:lsp_experimental_workspace_folders is enabled
* fix g:lsp_experimental_workspace_folders missing s
* send workspaceFolders if workspaceFolder capability is defined via client
* add local copy add opened workspace folders
* Add support for workspace folders
* document Workspace folders
* add indent
* fix doc indent
* use new floating window api for hover
* rename type to ui
* fix lint issues
* add support for --ui=float|preview for LspHover
* add g:lsp_hover_ui
* always show below the cursor
* close on move
* fix when using empty g:lsp_hover_ui
* add hover preview support
* apply markdown for preview
* show top if available
* fix col position when far right
* silent deletebufline
* fix indent
* remove language
* set language
* fix normalize
* don't close if curpos hasn't changed
* if hover window is foused close
* add border
* add double tap support for floating LspHover window and lsp-hover-close plug
* fix indent
* fix lint issue
* fix grammar
* *ed
* remove echom register
* fix indent
* add lsp-hover-float and lsp-hover-preview plug
* support window/showMessage
* describe g:lsp_show_message_log_level in documentation
* add tests for window/showMessage support
Co-authored-by: mattn <mattn.jp@gmail.com>
Using `--nowrap` doesn't work, but the related commands document that
you should use `-wrap=0`, which does work in the mappings too.
Co-authored-by: mattn <mattn.jp@gmail.com>
* render diagnostics in loclist and fix args paser
* document --buffers flag for LspDocumentDiagnostics
* do not show diagnostics if it is disabled for buffer
* remove old code and fix plug mapping for lsp-document-diagnostics
* add unit tests for document diagnostics command
* use callbag to implement document format with timeout
* document lsp#stream() with example
* send message to stream when using lsp#_new_command
* use -- for args parsing and add g:lsp_document_format_sync_timeout
* throw string exception
* use new func for <plug>(lsp-document-format)
* document g:lsp_format_sync_timeout
* rename to document_formatting
* add document_range_formatting.vim
* remove formatting from ui/vim.vim
* document :LspDocumentRangeFormatSync
* add LspDocumentFormatSync example in README.md
Allow users to specify their query on the cmdline so they have easier
access to registers and vim-editing methods (especially with ctrl-f to
enter cmdline-window).
* show message request
* materialize so doesn't throw error and add message to input list
* fix lint issues and rename flag to lsp_show_message_request_enabled
* use action and fix filter
* document g:lsp_show_message_request_enabled
* use materialize() for highlight references
* re-enable highlight references by default
* unlet s:Dispose()
* fix checking for isUndefined()
* update callbag to v0.3.0
* dispose if exists