Vue Language Server
- Vue Language Serverはnpmのパッケージ
vue-language-server
として公開されているvls
コマンドとして提供される
- Vue Language ServerはLanguage Server Protocolのサーバー実装
- Vue Language ServerはVeturが使用する言語サーバー
Vetur - Visual Studio Marketplace
vim-lspにvue-language-serverを登録する
let s:vls_exe=expand('~/node_modules/.bin/vls') if executable(s:vls_exe) au User lsp_setup call lsp#register_server({ \ 'name': 'vue-language-server', \ 'cmd': {server_info->[s:vls_exe]}, \ 'whitelist': ['vue'], \ 'initialization_options': { 'config': { \ 'html': {}, 'vetur': {'validation': {}, 'completion': {'scaffoldSnippetSources': {}}} \ }} \ }) else echohl ErrorMsg echom '`vue-language-server` is not installed.' echohl endif
configが無いと言語サーバーで
Cannot read property 'ScaffoldSnippetSources' of undefined
などのエラーが発生する
上記のconfigでいくつかの機能を無効にしてるっぽいけど具体的に何するときの何の機能かなのかは確認していない。とりあえずエラーなく起動させるまでやった。
参考にした Vim8でvim-lspとasyncomplete関連でvue-language-serverを使う(細かいオプションは省略) · GitHub