عرض معلومات جليسة الأشجار مباشرة في Neovim!
تم إهمال هذا المكون الإضافي نظرًا لأن الوظيفة مضمنة في Neovim: Use
:Inspect
لإظهار مجموعات التمييز الموجودة أسفل المؤشر:InspectTree
لإظهار شجرة بناء الجملة التي تم تحليلها ("TSPlayground"):EditQuery
لفتح محرر الاستعلام المباشر (Nvim 0.10+) query
) قم بتثبيت البرنامج المساعد (vim-plug موضح):
Plug ' nvim-treesitter/nvim-treesitter '
Plug ' nvim-treesitter/playground '
يوصى أيضًا بتثبيت محلل query
لتمييز محرر الاستعلام. قم بتشغيل هذا بعد تثبيت المكونات الإضافية المذكورة أعلاه.
:TSInstall query
التكوين يشبه أي وحدة nvim-treesitter أخرى.
require " nvim-treesitter.configs " . setup {
playground = {
enable = true ,
disable = {},
updatetime = 25 , -- Debounced time for highlighting nodes in the playground from source code
persist_queries = false , -- Whether the query persists across vim sessions
keybindings = {
toggle_query_editor = ' o ' ,
toggle_hl_groups = ' i ' ,
toggle_injected_languages = ' t ' ,
toggle_anonymous_nodes = ' a ' ,
toggle_language_display = ' I ' ,
focus_language = ' f ' ,
unfocus_language = ' F ' ,
update = ' R ' ,
goto_node = ' <cr> ' ,
show_help = ' ? ' ,
},
}
}
يمكن تبديل الشجرة باستخدام الأمر :TSPlaygroundToggle
.
R
: يقوم بتحديث عرض الملعب عند التركيز عليه أو إعادة تحميل الاستعلام عند التركيز على محرر الاستعلام.o
: لتبديل محرر الاستعلام عندما يتم التركيز على الملعب.a
: تبديل رؤية العقد المجهولة.i
: تبديل رؤية المجموعات المميزة.I
: تبديل رؤية اللغة التي تنتمي إليها العقدة.t
: لتبديل رؤية اللغات المحقونة.f
: يركز شجرة اللغة الموجودة أسفل المؤشر في الملعب. سيستخدم محرر الاستعلام الآن اللغة المركزة.F
: إلغاء التركيز على اللغة التي يتم التركيز عليها حاليًا.<cr>
: انتقل إلى العقدة الحالية في المخزن المؤقت للتعليمات البرمجية اضغط على o
لإظهار محرر الاستعلام. اكتب استعلامك مثل (node) @capture
، ثم ضع المؤشر أسفل الالتقاط لتمييز المطابقات.
عندما تكون في المخزن المؤقت query
، يمكنك الحصول على قائمة بالاقتراحات باستخدام Ctrl-X Ctrl-O . انظر :h 'omnifunc'
.
يمكن للملعب فحص ملفات الاستعلام لك. للقيام بذلك، تحتاج إلى تنشيط وحدة query_linter
:
require " nvim-treesitter.configs " . setup {
query_linter = {
enable = true ,
use_virtual_text = true ,
lint_events = { " BufWrite " , " CursorHold " },
},
}
ملاحظة: يفترض Query linter بنية دليل معينة لتحديد الاستعلامات اللغوية التي تنتمي إليها. ويتوقع أن تكون ملفات الاستعلام ضمن ./queries/<language_name>
يأتي الملعب مزودًا بـ :TSHighlightCapturesUnderCursor
الذي يُظهر أي مجموعة من مجموعات تمييز الأشجار أو بناء الجملة أسفل المؤشر.
إذا كنت ترغب فقط في عرض معلومات حول العقدة التي يوجد عليها المؤشر حاليًا (دون الحاجة إلى فتح الشجرة الكاملة)، فيمكنك استخدام :TSNodeUnderCursor
بدلاً من ذلك. سيتم عرض نافذة عائمة تحتوي على معلومات حول المحلل اللغوي واسم العقدة ونطاقات الصفوف/الأعمدة.