The `vim-language-server` package provides Language Server Protocol (LSP) features specifically for VimScript, enhancing the development experience within Vim and Neovim environments. It offers core LSP functionalities such as auto-completion, function signature help, hover documentation, go-to-definition, find references, document symbols, and diagnostics. The current stable version is 2.3.1, with releases occurring periodically to introduce new features or improve parsing capabilities, as seen by the recent v2.3.0 update that included an `vimlparser` update. Its key differentiators include its dedicated support for VimScript, robust integration with popular Vim LSP clients like `coc.nvim` and `vim-easycomplete`, and configurable indexing options for performance tuning. This server is designed to be run as a standalone process or managed by an LSP client, rather than being imported as a programmatic library in JavaScript or TypeScript applications.
npm install vim-language-serverVerified import paths — ran on the pinned version, not inferred.
Demonstrates global installation via npm and a comprehensive `coc.nvim` configuration example for the VimScript Language Server, showing both Node.js IPC and stdio setup options.
Review the project's GitHub release notes or issues for `v2.0.0` for specific breaking changes and update configurations accordingly. Test thoroughly after upgrading.
If you encounter errors related to unsupported commands, either set `isNeovim: false` in your configuration or remove/guard the problematic commands in your VimScript files.
Adjust the `initializationOptions.indexes.gap` (indexing time gap in ms, lower for faster) and `initializationOptions.indexes.count` (number of files to index concurrently, higher for faster) to optimize performance for your environment.
Set `isNeovim: false` in your LSP client's configuration for the server, or modify your VimScript to remove/handle Neovim-incompatible commands.
Increase `initializationOptions.indexes.count` (e.g., to 5 or more) and decrease `initializationOptions.indexes.gap` (e.g., to 50 or less) to speed up file indexing.
No dependency data recorded yet.