Gunakan Treesitter untuk Autoklose dan Autorename HTML Tag
Itu bekerja dengan:
dan lebih banyak lagi
Before Input After
------------------------------------
<div > <div></div>
<div></div> ciwspan<esc> <span></span>
------------------------------------
Membutuhkan Nvim 0.9.5
ke atas.
Perhatikan bahwa nvim-ts-autotag
tidak akan berfungsi kecuali Anda memiliki parser pohon (seperti html
) yang diinstal untuk filetype yang diberikan. Lihat NVIM-Treesitter untuk memasang parser.
require ( ' nvim-ts-autotag ' ). setup ({
opts = {
-- Defaults
enable_close = true , -- Auto close tags
enable_rename = true , -- Auto rename pairs of tags
enable_close_on_slash = false -- Auto close on trailing </
},
-- Also override individual filetype configs, these take priority.
-- Empty by default, useful if one of the "opts" global settings
-- doesn't work well in a specific filetype
per_filetype = {
[ " html " ] = {
enable_close = false
}
}
})
Peringatan
Jika Anda mengatur melalui nvim-treesitter.configs
itu sudah usang! Silakan bermigrasi ke cara baru. Ini akan dihapus dalam 1.0.0
.
Bagi Anda yang menggunakan pemuatan malas melalui manajer plugin (seperti malas.nvim) pemuatan malas tidak terlalu diperlukan untuk plugin ini. nvim-ts-autotag
efisien dalam memilih ketika perlu dimuat. Jika Anda masih bersikeras memuat malas nvim-ts-autotag
, maka dua acara bagus untuk digunakan adalah BufReadPre
& BufNewFile
.
Katakanlah ada bahasa yang saat ini tidak didukung oleh nvim-ts-autotag
dan Anda ingin mendukungnya di konfigurasi Anda. Walaupun itu akan menjadi preferensi penulis yang Anda ubah perubahan Anda, mungkin Anda lebih suka tidak?
Misalnya, jika Anda memiliki bahasa yang memiliki tata letak yang sangat mirip dalam permintaan pohonnya sebagai html
, Anda dapat menambahkan alias seperti itu:
require ( ' nvim-ts-autotag ' ). setup ({
aliases = {
[ " your language here " ] = " html " ,
}
})
-- or
local TagConfigs = require ( " nvim-ts-autotag.config.init " )
TagConfigs : add_alias ( " your language here " , " html " )
Itu akan membuat tag dekat nvim-ts-autotag
sesuai dengan aturan konfigurasi html
dalam bahasa yang diberikan.
Tetapi bagaimana jika parser mematahkan alasan apa pun, misalnya pohon pohon hulu mengubah nama simpulnya dan sekarang permintaan default yang disediakan nvim-ts-autotag
tidak lagi berfungsi.
Jangan takut! Anda dapat secara langsung memperluas dan mengganti konfigurasi yang ada. Misalnya, katakanlah pola tag awal dan akhir telah berubah untuk xml
. Kami dapat secara langsung mengganti konfigurasi xml
:
local TagConfigs = require ( " nvim-ts-autotag.config.init " )
TagConfigs : update ( TagConfigs : get ( " xml " ): override ( " xml " , {
start_tag_pattern = { " STag " },
end_tag_pattern = { " ETag " },
}))
Faktanya, hampir apa yang kita lakukan selama fase inisialisasi internal kita sendiri untuk nvim-ts-autotag
.
Jika Anda memiliki masalah itu #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 ,
}
)
Terima kasih @priceHiller atas pekerjaannya di plugin ini.
Jika Anda menemukan plugin ini bermanfaat, silakan pertimbangkan untuk mensponsori proyek.
Sponsor