From 8c71c6c5edfa447aaa867858e2e913340ea964b7 Mon Sep 17 00:00:00 2001 From: Pham Huy Hoang Date: Mon, 2 Jan 2023 16:28:40 +0900 Subject: fix(html): fix wrong indents for script/style tags --- queries/html_tags/indents.scm | 27 +++++++++++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) (limited to 'queries') diff --git a/queries/html_tags/indents.scm b/queries/html_tags/indents.scm index 7b9d6afe1..a9e0794f5 100644 --- a/queries/html_tags/indents.scm +++ b/queries/html_tags/indents.scm @@ -1,9 +1,32 @@ [ - (element) + ( + (element + (start_tag + (tag_name) @_not_special) + ) + (#not-any-of? @_not_special "meta" "link") + ) + (element (self_closing_tag)) ] @indent +; These tags are usually written one-lined and doesnt use self-closing tags so special-cased them +; but add indent to the tag to make sure attributes inside them are still indented if written multi-lined +( + (start_tag + (tag_name) @_special) + (#any-of? @_special "meta" "link") +) @indent + + +; These are the nodes that will be captured when we do `normal o` +; But last element has already been ended, so capturing this +; to mark end of last element +(element (end_tag [">"] @indent_end)) +(element (self_closing_tag "/>" @indent_end)) + +; Script/style elements aren't indented, so only branch the end tag of other elements +(element (end_tag) @branch) [ - (end_tag) ">" "/>" ] @branch -- cgit v1.2.3-70-g09d2