استخدم Treesitter إلى علامة HTML AutoClose و Autorename
يعمل مع:
وأكثر
Before Input After
------------------------------------
<div > <div></div>
<div></div> ciwspan<esc> <span></span>
------------------------------------
يتطلب Nvim 0.9.5
وما فوق.
لاحظ أن nvim-ts-autotag
لن يعمل إلا إذا كان لديك محلات Treesitter (مثل html
) مثبتة لنمط fileType معين. انظر NVIM Treesitter لتثبيت المحلات.
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
}
}
})
حذر
إذا كنت تقوم بإعداد عبر nvim-treesitter.configs
فقد تم إهمالها! يرجى الترحيل إلى الطريق الجديد. سيتم إزالته في 1.0.0
.
لأولئك منكم الذين يستخدمون التحميل البطيء من خلال مدير البرنامج المساعد (مثل Lazy.nvim) التحميل الكسول ليس ضروريًا بشكل خاص لهذا البرنامج المساعد. nvim-ts-autotag
فعال في الاختيار عندما يحتاج إلى تحميل. إذا كنت لا تزال تصر على التحميل الكسول nvim-ts-autotag
، فإن حدثين جيدين لاستخدامه هما BufReadPre
& BufNewFile
.
دعنا نقول أن هناك لغة لا تدعمها nvim-ts-autotag
حاليًا وتريد دعمها في التكوين الخاص بك. على الرغم من أنه سيكون تفضيل المؤلف أن تقوم بتغييراتك ، ربما لا تفضل ذلك؟
على سبيل المثال ، إذا كان لديك لغة لها تصميم مشابه جدًا في استفسارات الأشجار مثل html
، فيمكنك إضافة اسم مستعار مثل ذلك:
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 " )
سيجعل ذلك nvim-ts-autotag
علامات إغلاق وفقًا لقواعد تكوين html
باللغة المحددة.
ولكن ماذا لو انهار المحلل لأي سبب من الأسباب ، على سبيل المثال ، غيرت شجرة الأشجار في المنبع أسماء العقدة والآن الاستعلامات الافتراضية التي توفرها nvim-ts-autotag
لم تعد تعمل.
الخوف لا! يمكنك تمديد التكوينات الموجودة وتجاوزها مباشرة. على سبيل المثال ، دعنا نقول أن أنماط العلامات البدء والنهاية قد تغيرت لـ xml
. يمكننا تجاوز تكوين xml
مباشرة:
local TagConfigs = require ( " nvim-ts-autotag.config.init " )
TagConfigs : update ( TagConfigs : get ( " xml " ): override ( " xml " , {
start_tag_pattern = { " STag " },
end_tag_pattern = { " ETag " },
}))
في الواقع ، هذا ما نقوم به تقريبًا خلال مرحلة التهيئة الداخلية الخاصة بنا لـ nvim-ts-autotag
.
إذا كان لديك هذه المشكلة رقم 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 ,
}
)
شكرًا @pricehiller على عمله على هذا البرنامج المساعد.
إذا وجدت هذا البرنامج المساعد مفيدًا ، فيرجى التفكير في رعاية المشروع.
راعي