@influxdata/flux-lsp-cli v0.7.31
Flux LSP
An implementation of the Language Server Protocol for the Flux language.
Install
npm i -g @influxdata/flux-lsp-cliCore functionality
The core of the flux parsing library can be found here which is compiled into WASM for consumption in this tool.
Vim setup
There are a lot of plugins that are capable of running language servers. This section will cover the one we use or know about.
In any case, you need to recognize the filetype. This is done looking at the file extension, in our case .flux. You should place this in your vimrc file:
" Flux file type
au BufRead,BufNewFile *.flux set filetype=fluxwith vim-lsp
Requires vim-lsp
in your .vimrc
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)with vim-coc
Requires vim-coc. vim-coc uses a coc-settings.json file and it is located in your ~/.vim directory. In order to run the flux-lsp you need to add the flux section in the languageserver.
{
"languageserver": {
"flux": {
"command": "flux-lsp",
"filetypes": ["flux"]
}
}
}If you need to debug what flux-lsp is doing, you can configure it to log to /tmp/fluxlsp:
{
"languageserver": {
"flux": {
"command": "flux-lsp",
"args": ["-l", "/tmp/fluxlsp"],
"filetypes": ["flux"]
}
}
}Supported LSP features
- initialize
- shutdown
- textDocument/definition
- textDocument/didChange
- textDocument/didOpen
- textDocument/didSave
- textDocument/foldingRange
- textDocument/references
- textDocument/rename
4 years ago
4 years ago
5 years ago
4 years ago
4 years ago
5 years ago
4 years ago
4 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago