mirror of
https://github.com/mattn/vim-lsp-settings.git
synced 2025-12-12 20:35:54 +01:00
193 lines
6.7 KiB
Plaintext
193 lines
6.7 KiB
Plaintext
*vim-lsp-settings.txt*
|
|
*vim-lsp-settings*
|
|
|
|
-------------------------------------------------------
|
|
Auto configurations for Language Server for vim-lsp
|
|
-------------------------------------------------------
|
|
|
|
Author: Yasuhiro Matsumoto <mattn.jp@gmail.com>
|
|
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'
|
|
<
|
|
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.
|
|
|
|
*g:lsp_settings_filetype_xxx*
|
|
g:lsp_settings_filetype_xxx
|
|
xxx is a filetype name like typescript with: >
|
|
g:lsp_settings_filetype_typescript
|
|
<
|
|
This variable can specify default language server. If the variable is a
|
|
|string|, vim-lsp-settings load the langage server name. If the variable is
|
|
a |list|, all of the language server names are loaded. If the variable have
|
|
one element and type of the element is |function|, vim-lsp-settings call it
|
|
and the result is evaluated lazy.
|
|
|
|
: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:
|