Use the Flux LSP with Vim
Requirements
- Vim 8+
- npm
Install the Flux plugin
There are many ways to install and manage Vim plugins. We recommend either of the following two methods:
Both methods require you to add the following to your .vimrc
so that Vim can recognize the .flux
file type:
" Flux file type
au BufRead,BufNewFile *.flux set filetype=flux
Install with vim-lsp
-
Install
flux-lsp-cli
with npmnpm i -g @influxdata/flux-lsp-cli
-
Install vim-lsp
If it doesn’t exist yet, create a directory called
pack/$USER/start/
in your~/.vim/
and clonevim-lsp
into it:cd ~ mkdir -p .vim/pack/$USER/start/ cd .vim/pack/$USER/start/ git clone https://github.com/prabirshrestha/vim-lsp
-
Edit your
.vimrc
Next, edit your
.vimrc
configuration file to include the following:let g:lsp_diagnostics_enabled = 1 if executable('flux-lsp') au User lsp_setup call lsp#register_server({ \ 'name': 'flux lsp', \ 'cmd': {server_info->[&shell, &shellcmdflag, 'flux-lsp']}, \ 'whitelist': ['flux'], \ }) endif autocmd FileType flux nmap gd <plug>(lsp-definition)
Install with vim-coc
-
Install
flux-lsp-cli
from npmnpm i -g @influxdata/flux-lsp-cli
-
Install plug-vim
Install plug-vim, a plugin manager for Vim.
-
Install vim-coc
Install vim-coc, a code-completion plugin for Vim.
-
Configure vim-coc
vim-coc uses a
coc-settings.json
located in your~/.vim/
directory. To run the Flux LSP, add the Flux section underlanguageserver
:{ "languageserver": { "flux": { "command": "flux-lsp", "filetypes": ["flux"] } } }
To debug flux-lsp, configure it to log to
/tmp/fluxlsp
:{ "languageserver": { "flux": { "command": "flux-lsp", "args": ["-l", "/tmp/fluxlsp"], "filetypes": ["flux"] } } }
Was this page helpful?
Thank you for your feedback!
Support and feedback
Thank you for being part of our community! We welcome and encourage your feedback and bug reports for InfluxDB and this documentation. To find support, use the following resources:
Customers with an annual or support contract can contact InfluxData Support.