# nvim-ts-autotag Use treesitter to **autoclose** and **autorename** html tag It work with html,tsx,vue,svelte,php. ## Usage ``` text Before Input After ------------------------------------
ciwspan ------------------------------------ ``` ## Setup Neovim 0.5 and nvim-treesitter to work User treesitter setup ```lua require'nvim-treesitter.configs'.setup { autotag = { enable = true, } } ``` or you can use a set up function ``` lua require('nvim-ts-autotag').setup() ``` ### Enable update on insert If you have that issue [#19](https://github.com/windwp/nvim-ts-autotag/issues/19) ```lua 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 ``` lua local filetypes = { 'html', 'javascript', 'javascriptreact', 'typescriptreact', 'svelte', 'vue' } local skip_tags = { 'area', 'base', 'br', 'col', 'command', 'embed', 'hr', 'img', 'slot', 'input', 'keygen', 'link', 'meta', 'param', 'source', 'track', 'wbr','menuitem' } ``` ### Override default values ``` lua require'nvim-treesitter.configs'.setup { autotag = { enable = true, filetypes = { "html" , "xml" }, } } -- OR require('nvim-ts-autotag').setup({ filetypes = { "html" , "xml" }, }) ```