mirror of
https://github.com/windwp/nvim-ts-autotag.git
synced 2024-12-28 21:19:16 -06:00
.github | ||
lua | ||
plugin | ||
sample | ||
tests | ||
.editorconfig | ||
.gitignore | ||
LICENSE | ||
Makefile | ||
README.md |
nvim-ts-autotag
Use treesitter to autoclose and autorename html tag
It work with html,tsx,vue,svelte,php,rescript.
Usage
Before Input After
------------------------------------
<div > <div></div>
<div></div> ciwspan<esc> <span></span>
------------------------------------
Setup
Neovim 0.7 and nvim-treesitter to work
User treesitter setup
require'nvim-treesitter.configs'.setup {
autotag = {
enable = true,
}
}
or you can use a set up function
require('nvim-ts-autotag').setup()
Enable update on insert
If you have that issue #19
vim.lsp.handlers['textDocument/publishDiagnostics'] = vim.lsp.with(
vim.lsp.diagnostic.on_publish_diagnostics,
{
underline = true,
virtual_text = {
spacing = 5,
severity_limit = 'Warning',
},
update_in_insert = true,
}
)
Default values
local filetypes = {
'html', 'javascript', 'typescript', 'javascriptreact', 'typescriptreact', 'svelte', 'vue', 'tsx', 'jsx', 'rescript',
'xml',
'php',
'markdown',
'glimmer','handlebars','hbs'
}
local skip_tags = {
'area', 'base', 'br', 'col', 'command', 'embed', 'hr', 'img', 'slot',
'input', 'keygen', 'link', 'meta', 'param', 'source', 'track', 'wbr','menuitem'
}
Override default values
require'nvim-treesitter.configs'.setup {
autotag = {
enable = true,
filetypes = { "html" , "xml" },
}
}
-- OR
require('nvim-ts-autotag').setup({
filetypes = { "html" , "xml" },
})
Sponsor
If you find this plugin useful, please consider sponsoring the project.