*vim-lsp-settings.txt* *vim-lsp-settings* ------------------------------------------------------- Auto configurations for Language Server for vim-lsp ------------------------------------------------------- Author: Yasuhiro Matsumoto Repository: https://github.com/mattn/vim-lsp-settings License: MIT ============================================================================== CONTENTS *vim-lsp-settings-contents* 1. Introduction..............................|vim-lsp-settings-introduction| 2. Installation..............................|vim-lsp-settings-installation| 3. Install Language Server...............................|:LspInstallServer| 4. Uninstall Language Server...........................|:LspUninstallServer| 5. Configuration............................|vim-lsp-settings-configuration| ============================================================================== INTRODUCTION *vim-lsp-settings-introduction* vim-lsp-settings is a plugin to improve vim-lsp. * Easy to install Language Servers. * Easy to uninstall Language Servers. * Auto-configuration for Language Servers. * Extra useful commands. ============================================================================== INSTALLATION *vim-lsp-settings-installation* Manual installation: Copy the files to your .vim directory (_vimfiles on Windows). Run :PluginInstall NeoBundle: add below to .vimrc > NeoBundle 'mattn/vim-lsp-settings' < Run :NeoBundleInstall vim-plug: add below to .vimrc > Plug 'mattn/vim-lsp-settings' to .vimrc < Run :PlugInstall ============================================================================== INSTALL LANGUAGE SERVER *LspInstallServer* To install Language Server, you need to open the source file. The filetype should be set correctly. Then |:LspInstallServer|. |:LspInstallServer| can be taken an argument for the name of Language Server installable. > :LspInstallServer pyls < If you want to update Language Server, please do |:LspInstallServer| again. ============================================================================== UNINSTALL LANGUAGE SERVER *LspUninstallServer* To uninstall Language Server, do |:LspUninstallServer|. > :LspUninstallServer pyls < ============================================================================== CONFIGURATION *vim-lsp-settings-configuration* vim-lsp-settings have two way configurations. One way is write with Vim script. You can modify configuration like below: > let g:lsp_settings = { \ 'r-languageserver': { \ 'cmd': ['c:\Program Files\R\R-3.6.2\bin\R.exe', '--slave', '-e', 'languageserver::run()'], \ }, \ 'sqls1': { \ 'initialization_options': function('s:sqls_selector'), \ }, \ 'perl-languageserver': { \ 'disabled': 0, \ }, \ 'efm-langserver': { \ 'blocklist': ['', 'twitvim'], \ 'disabled': 0, \ }, \ 'yaml-language-server': { \ 'workspace_config': { \ 'yaml': { \ 'schemas': { \ 'https://mattn.github.io/efm-langserver/schema.json': '/efm-langserver/config.yaml' \ }, \ 'completion': v:true, \ 'hover': v:true, \ 'validate': v:true, \ } \ } \ }, \} < Tips: If you want to only add/replace arguments for the server, > let g:lsp_settings = { \ 'some-langserver': { \ 'args': ['foo', 'bar', 'baz'], \ }, \} < If you want to add extra schemas for yaml-language-server or json-language-server, do |:LspSettingsLocalEdit| or |:LspSettingsGlobalEdit| and put schemas property like below: > { "yaml-language-server": { "schemas": [ { "fileMatch":["my-config.yaml"], "url": "https://example.com/my-config-schema.json" }, { "fileMatch":["your-config.yaml"], "url": "https://example.com/your-config-schema.json" } ] } } < *g:lsp_settings_enable_suggestions* g:lsp_settings_enable_suggestions Default: 1 Set 0 only if you'd like to opt-out "Please do :LspInstallServer to enable Language Server" suggestion messages. *g:lsp_settings_servers_dir* g:lsp_settings_servers_dir Default: %LOCALAPPDATA%\vim-lsp-settings\servers (Windows) $HOME/.local/share/vim-lsp-settings/servers (Non-Windows) $XDG_DATA_HOME/vim-lsp-settings/servers ($XDG_DATA_HOME defined Non-Windows) When value defined, store server file under these directory. *g:lsp_settings_global_settings_dir* g:lsp_settings_global_settings_dir Default: %LOCALAPPDATA%\vim-lsp-settings (Windows) $HOME/.local/share/vim-lsp-settings (Non-Windows) $XDG_DATA_HOME/vim-lsp-settings ($XDG_DATA_HOME defined Non-Windows) When value defined, store global settings under these directory. *g:lsp_settings_deny_local_keys* g:lsp_settings_deny_local_keys Default: ['cmd'] vim-lsp-settings load local settings from .vim-lsp-settings but it might be dangerous when the git repository contains the directory same named. This variable is specified name of settings like 'cmd' to drop items in the settings. :LspSettingsLocalEdit [root] *:LspSettingsLocalEdit* Edit local settings. Accepts an optional explicit [root] directory that contains the .vim-lsp-settings config directory. [root] is path to the vim-lsp-settings plugin if omitted. :LspSettingsGlobalEdit *:LspSettingsGlobalEdit* Edit global settings. You can use the :LspSettingsStatus command to inspect the current config. :LspSettingsStatus *:LspSettingsStatus* Print a status dump of information about the language server configured for the current buffer. ============================================================================== vim:tw=78:ts=8:ft=help:norl:noet:fen:fdl=0: