Available Plugins

The following plugins may only implement a subset of features of their alternatives.

TODO: elaborate on plugins' usage.

colorizer

[plugin.colorizer]
enable = true
FeaturesAlternatives
Highlight color namecolorizer
vim-css-color

ctags

FeaturesAlternatives
statusline integration(current symbol)vista.vim

word-highlighter

[plugin.word-highlighter]
enable = true
FeaturesAlternatives
Highlight the word under the cursornvim-blame-line
vim-illuminate
vim-cursorword
vim-brightest
Highlight the keyword like TODOvim-todo-highlight

By default this plugin utilizes Normal guibg as the primary color. It then lighten this base color for ClapCursorWord and darkens it for ClapCursorWordTwins. You can manually adjust them in case the default highlights does not meet your expectations.

diagnostics

This plugin does not do any substantial work but used to provide an interface to interact with the diagnostics provided by the linter and lsp plugin.

git

[plugin.git]
enable = true
FeaturesAlternatives
Show blame info at the end of linenvim-blame-line
Show git diff in sign columnvim-gitgutter
Open the permalink of current line in browserrepolink.nvim

The signs are updated when you save the buffer and are rendered lazily, i.e., the signs are only displayed when they are visually in the range of screen.

linter

[plugin.linter]
enable = true

Although ALE has been an incredible and feature-rich linter plugin that served me well for an extended period, I began to notice a persistent lagging issue over time. There were noticeable delays in refreshing the latest diagnostics whenever I made changes to the source file (especially the Rust file). This prompted me to develop this linter plugin in Rust and the results have been remarkable. The diagnostics update is now considerably faster from what I see on Rust project.

Currently supported linters:

Ensure the required linter executables are installed and can be found in your system before using this plugin.

lsp

[plugin.lsp]
enable = true

This plugin aims to implement the language server protocol. It's still pretty experimental and only a handful features are supported at present.

  • Goto reference/definition/declaration/typeDefinition/implementation/reference
  • Open documentSymbols/workspaceSymbols

markdown

[plugin.markdown]
enable = true
  • Features
    • Generate/Update/Delete toc
    • Open preview in browser

syntax

[plugin.syntax]
enable = true

This plugin implements the sublime-syntax and tree-sitter highlighting. The sublime-syntax is feature-limited and pretty experimental, this plugin primarily focues on the tree-sitter highlighting support.

Currently tree-sitter supported languages:

  • Bash, C, Cpp, Dockerfile, Go, Javascript, Json, Markdown, Python, Rust, Toml, Viml