Documentation

Use the Flux LSP with Vim

Requirements

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 https://github.com/prabirshrestha/vim-lsp
    
  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'],
            \ })
    endif
    
    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!


The future of Flux

Flux is going into maintenance mode. You can continue using it as you currently are without any changes to your code.

Read more

InfluxDB v3 enhancements and InfluxDB Clustered is now generally available

New capabilities, including faster query performance and management tooling advance the InfluxDB v3 product line. InfluxDB Clustered is now generally available.

InfluxDB v3 performance and features

The InfluxDB v3 product line has seen significant enhancements in query performance and has made new management tooling available. These enhancements include an operational dashboard to monitor the health of your InfluxDB cluster, single sign-on (SSO) support in InfluxDB Cloud Dedicated, and new management APIs for tokens and databases.

Learn about the new v3 enhancements


InfluxDB Clustered general availability

InfluxDB Clustered is now generally available and gives you the power of InfluxDB v3 in your self-managed stack.

Talk to us about InfluxDB Clustered