Use the Flux LSP with Vim


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

  1. Install flux-lsp-cli with npm

    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:

    cd ~
    mkdir -p .vim/pack/$USER/start/
    cd .vim/pack/$USER/start/
    git clone
  3. 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'],
            \ })
    autocmd FileType flux nmap gd <plug>(lsp-definition)

Install with vim-coc

  1. Install flux-lsp-cli from npm

    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:

      "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!

Set your InfluxDB URL

Upgrade to InfluxDB Cloud or InfluxDB 2.0!

InfluxDB Cloud and InfluxDB OSS 2.0 ready for production.