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
* Show documentation in Vim popup
* Use timer
* Reuse logic from output.vim
* Change default text
* Rename functions
* Refactor
* Use v:event
* Add comment
* Remove log
* Refactor
* Implement documentation in Neovim
* Cleanup Neovim popup
* Let Neovim float take all available space
* Extract get_size_info
* Reuse sizing logic from output.vim
* Fix Neovim positioning being reset
* Update autoload/lsp/ui/vim/documentation.vim
Co-Authored-By: Christian Clason <christian.clason@uni-due.de>
* Make vint happy
* Retrigger Travis CI
* add g:lsp_documentation_float flag
* fix lint issues
Co-authored-by: Christian Clason <christian.clason@uni-due.de>
Co-authored-by: Prabir Shrestha <mail@prabir.me>
* Add support for tagfunc option
* Consolidate various synchronous wait implementations
* Refactor to use lsp#utils#position#lsp_to_vim
Also marks get_symbol_text_from_kind as internal and fixes compatibility
with older vims.
* use lua if available for diff
* add docs
* sync with latest vim-lsc changes
* lazily init lua
* update vim to 8.2.0817
* update vim to 8.2.0817 for windows
* use vim 8.2.0814
* check for path 8.2.0775 before enabling lua
* use vim 8.2.0813 since it exists for both linux and windows
* update lua patch check
* optimize vimscript diff by using range
* fix lint issues
* Commonalize some similar functions
* Add <mods> support for some commands
Supported commands:
- :LspDeclaration
- :LspDefinition
- :LspTypeDefinition
- :LspImplementation