https://github.com/google/vimscript-language-server
https://github.com/google/vimscript-language-server
Last synced: 8 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/google/vimscript-language-server
- Owner: google
- License: apache-2.0
- Created: 2020-08-04T08:22:47.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2024-12-09T20:52:56.000Z (11 months ago)
- Last Synced: 2025-03-22T00:42:48.190Z (8 months ago)
- Language: Rust
- Size: 132 KB
- Stars: 393
- Watchers: 15
- Forks: 15
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
[](https://github.com/google/vimscript-language-server/actions)
# Vim script Language Server
Implementation of Language Server protocol for Vim script / vimL language in
Rust.
This project is still in very early development stage - it does not support all
of Vim script syntax and most features are not implemented yet.
The long term goal is to implement Vim script AST that will allow for:
* building language server
* building Vim script formatter, that vim plugins could use in CI
* building linter, that vim plugin could use in CI
The next steps:
* perform additional analysis on AST (e.g. variable tracking), to allow for features like renaming,
* build a foundation for formatter,
* build a foundation for generic linter (so that custom checks can be added),
* support all syntax of Vim script.
## Setup
### Build
```shell
$ cargo build
```
Then, copy built binary to a location that is in your PATH.
### Configure in vim-lsp
```vim
if executable('vimscript-language-server')
au User lsp_setup call lsp#register_server({
\ 'name': 'vimscript-language-server',
\ 'cmd': {server_info->['vimscript-language-server']},
\ 'whitelist': ['vim'],
\ })
endif
```
## Contributing
See [Contributing.md](CONTRIBUTING.md).
--------------------------------------------------------------------------------
This is not an officially supported Google product