google / vimscript-language-server

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Build Status

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

$ cargo build

Then, copy built binary to a location that is in your PATH.

Configure in vim-lsp

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.


This is not an officially supported Google product

About

License:Apache License 2.0


Languages

Language:Rust 99.7%Language:Vim Script 0.2%Language:Lex 0.1%