sublime-syntax-language-server

readthedocs pre-commit.ci status github/workflow codecov DeepSource

github/downloads github/downloads/latest github/issues github/issues-closed github/issues-pr github/issues-pr-closed github/discussions github/milestones github/forks github/stars github/watchers github/contributors github/commit-activity github/last-commit github/release-date

github/license github/languages github/languages/top github/directory-file-count github/code-size github/repo-size github/v

pypi/status pypi/v pypi/downloads pypi/format pypi/implementation pypi/pyversions

Language server and vim plugin for sublime-syntax and syntax-test’s scope names.

sublime-syntax is a subtype of yaml. See json schema to get support of yaml language server.

  • [x] document hover

  • [x] completion

  • [x] diagnostic: requires syntest

For vim plugin:

  • [x] ftplugin: commentstring, etc

  • [x] compilers: bat, syntest

  • [x] syntax highlight, include incorrect header

Document Hover

Document Hover

Completion

Completion

Diagnostic

Diagnostic

Compilers

Install

  • syntest for syntax_test_*

  • bat for *.sublime-syntax

syntest

Build From Source

git clone --depth=1 https://github.com/trishume/syntect
cd syntect
cargo build --release --example syntest
sudo install -D target/release/examples/syntest -t /usr/local/bin

For Archlinux

yay -S syntest

Syntax Highlight

Every syntax test file should have a correct header. If you input a typo, syntax highlight will tell you:

Correct

Incorrect

If you input correct keyword of sublime syntax file, it will be highlighted as Keyword. Note watch should be match and strings should be string:

Keyword

More usages

:help sublime-syntax

Vim Plugin

You can use branch release to avoid downloading unnecessary files for vim plugin. Such as for dein.vim:

call dein#add('Freed-Wu/sublime-syntax-language-server', {
      \ 'rev': 'release',
      \ })