You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
A Neovim plugin for setting the commentstring option based on the cursor
location in the file. The location is checked via treesitter queries.
This is useful when there are embedded languages in certain types of files. For
example, Vue files can have many different sections, each of which can have a
different style for comments.
Note that this plugin only changes the commentstring setting. It does not
add any mappings for commenting. It is recommended to use a commenting plugin
like Comment.nvim alongside this
plugin.
For most commenting plugins, this is all you need and the defaults should work
out of the box. However, some commenting plugins require a bit more set up. See
the Configuration section for more details about the different
plugins.
If you want to change the configuration, call the setup function of this
plugin, e.g.:
There is a minimal configuration file available at
utils/minimal_init.lua for reference.
Note
Don't forget to use :h lua-heredoc if you're using init.vim.
Configuration
It is recommended to use a commenting plugin that has an integration available
with this plugin. Then, the commentstring calculation can be triggered only
when commenting. The available integrations are listed in the
wiki.
The following plugins have an integration available:
However, if an integration is not set up, then the default behavior is to
calculate the commentstring on the CursorHold autocmd, meaning that the
:h updatetime should be set to a smaller value than the default of 4s:
vim.opt.updatetime=100
Note
For more advanced configuration options, see :h ts-context-commentstring.
More demos
React:
Svelte:
HTML:
Nesting:
I injected HTML into JavaScript strings and created multiple levels of nesting
with language tree. This sort of nesting of languages works without any extra
configuration in the plugin.
About
Neovim treesitter plugin for setting the commentstring based on the cursor location in a file.