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:
1. " Flux file type
2. au BufRead,BufNewFile *.flux set filetype=flux
Install with vim-lsp
- Install
flux-lsp-cliwith npm
1. npm i -g @influxdata/flux-lsp-cli
2. Install vim-lsp
If it doesn’t exist yet, create a directory called pack/$USER/start/ in your ~/.vim/ and clone vim-lsp into it:
1. cd ~
2. mkdir -p .vim/pack/$USER/start/
3. cd .vim/pack/$USER/start/
4. git clone https://github.com/prabirshrestha/vim-lsp
3. Edit your .vimrc
Next, edit your .vimrc configuration file to include the following:
``` 1. 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
(lsp-definition) ```
Install with vim-coc
- Install
flux-lsp-clifrom npm
1. npm i -g @influxdata/flux-lsp-cli
2. Install plug-vim
Install plug-vim, a plugin manager for Vim. 3. Install vim-coc
Install vim-coc, a code-completion plugin for Vim. 4. Configure vim-coc
vim-coc uses a coc-settings.json located in your ~/.vim/ directory. To run the Flux LSP, add the Flux section under languageserver:
1. {
2. "languageserver": {
3. "flux": {
4. "command": "flux-lsp",
5. "filetypes": ["flux"]
6. }
7. }
8. }
To debug flux-lsp, configure it to log to /tmp/fluxlsp:
1. {
2. "languageserver": {
3. "flux": {
4. "command": "flux-lsp",
5. "args": ["-l", "/tmp/fluxlsp"],
6. "filetypes": ["flux"]
7. }
8. }
9. }
