2021-03-08 06:19:01 -06:00
|
|
|
# nvim-ts-autotag
|
|
|
|
|
2021-03-13 18:33:13 -06:00
|
|
|
Use treesitter to **autoclose** and **autorename** html tag
|
2021-03-08 06:19:01 -06:00
|
|
|
|
2022-02-07 14:05:41 -06:00
|
|
|
It work with html,tsx,vue,svelte,php,rescript.
|
2021-03-07 21:47:09 -06:00
|
|
|
|
|
|
|
## Usage
|
|
|
|
|
|
|
|
``` text
|
|
|
|
Before Input After
|
|
|
|
------------------------------------
|
2021-08-04 10:37:59 -05:00
|
|
|
<div > <div></div>
|
|
|
|
<div></div> ciwspan<esc> <span></span>
|
2021-03-07 21:47:09 -06:00
|
|
|
------------------------------------
|
|
|
|
```
|
|
|
|
|
2021-03-08 06:19:01 -06:00
|
|
|
|
2021-03-07 21:47:09 -06:00
|
|
|
## Setup
|
2023-03-16 21:19:39 -05:00
|
|
|
Neovim 0.7 and nvim-treesitter to work
|
2021-03-07 21:47:09 -06:00
|
|
|
|
2021-03-10 00:09:41 -06:00
|
|
|
User treesitter setup
|
|
|
|
```lua
|
|
|
|
require'nvim-treesitter.configs'.setup {
|
|
|
|
autotag = {
|
|
|
|
enable = true,
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
```
|
|
|
|
or you can use a set up function
|
|
|
|
|
2021-03-07 21:47:09 -06:00
|
|
|
``` lua
|
2021-03-08 08:18:10 -06:00
|
|
|
require('nvim-ts-autotag').setup()
|
2021-03-10 00:09:41 -06:00
|
|
|
|
2021-03-07 21:47:09 -06:00
|
|
|
```
|
|
|
|
|
2021-06-17 00:50:35 -05:00
|
|
|
### Enable update on insert
|
|
|
|
|
|
|
|
If you have that issue
|
|
|
|
[#19](https://github.com/windwp/nvim-ts-autotag/issues/19)
|
2021-06-17 00:33:40 -05:00
|
|
|
|
|
|
|
```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,
|
|
|
|
}
|
|
|
|
)
|
|
|
|
```
|
2021-03-07 21:47:09 -06:00
|
|
|
## Default values
|
|
|
|
|
|
|
|
``` lua
|
|
|
|
local filetypes = {
|
2022-02-22 10:28:19 -06:00
|
|
|
'html', 'javascript', 'typescript', 'javascriptreact', 'typescriptreact', 'svelte', 'vue', 'tsx', 'jsx', 'rescript',
|
|
|
|
'xml',
|
|
|
|
'php',
|
|
|
|
'markdown',
|
|
|
|
'glimmer','handlebars','hbs'
|
2021-03-07 21:47:09 -06:00
|
|
|
}
|
|
|
|
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
|
2021-03-10 00:09:41 -06:00
|
|
|
|
|
|
|
require'nvim-treesitter.configs'.setup {
|
|
|
|
autotag = {
|
|
|
|
enable = true,
|
|
|
|
filetypes = { "html" , "xml" },
|
|
|
|
}
|
|
|
|
}
|
|
|
|
-- OR
|
2021-03-08 22:57:14 -06:00
|
|
|
require('nvim-ts-autotag').setup({
|
2021-03-07 21:47:09 -06:00
|
|
|
filetypes = { "html" , "xml" },
|
|
|
|
})
|
|
|
|
|
2021-03-10 00:09:41 -06:00
|
|
|
```
|
2023-03-16 21:19:39 -05:00
|
|
|
|
|
|
|
## Sponsor
|
|
|
|
If you find this plugin useful, please consider sponsoring the project.
|
|
|
|
|
|
|
|
[Sponsor](https://paypal.me/trieule1vn)
|