A Neovim lua plugin for Helm adding additional features using helm-ls. The plugin can be used as an alternative to towolf/vim-helm for Neovim.
The plugin is in early development.
- File types for Helm (including values.yaml files required for helm-ls)
- Highlight the current block (
if,with,range, etc.) - Jump between the start and end of a block with
% - experimental: Overwrite templates with their current values using virtual text (See Demos)
- experimental: Show hints highlighting the effect of
nindentandindentfunctions (See Demos)
The plugin adds the following keymaps for helm files:
%: Jump between the start and end of a block (if,with,range)
{
"qvalentin/helm-ls.nvim",
ft = "helm",
opts = {
-- leave empty or see below
},
}If you are not using lazy, make sure to call require("helm-ls").setup() in your Lua config.
The plugin requires helm-ls and the helm tree-sitter grammar for the additional features.
Install the helm tree-sitter grammar using TSInstall after installing the nvim-treesitter plugin.
:TSInstall helm
Default config:
{
conceal_templates = {
-- enable the replacement of templates with virtual text of their current values
enabled = true, -- this might change to false in the future
},
indent_hints = {
-- enable hints for indent and nindent functions
enabled = true,
-- show the hints only for the line the cursor is on
only_for_current_line = true,
},
action_highlight = {
-- enable highlighting of the current block
enabled = true,
},
}