From 4df31befe565a21e1a0f2baeb790cee13fae1f46 Mon Sep 17 00:00:00 2001 From: "Connor Lay (Clay)" Date: Thu, 1 Sep 2022 17:52:22 -0700 Subject: [PATCH 1/3] elixir: group multiple comment ts objects together --- runtime/queries/elixir/textobjects.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/runtime/queries/elixir/textobjects.scm b/runtime/queries/elixir/textobjects.scm index cc1bee990b72..ab4565845dfb 100644 --- a/runtime/queries/elixir/textobjects.scm +++ b/runtime/queries/elixir/textobjects.scm @@ -32,4 +32,4 @@ (do_block (_)* @test.inside)?) (#match? @_keyword "^(test|describe)$")) @test.around -(comment) @comment.around @comment.inside +(comment)+ @comment.around @comment.inside From ec32c40de5368dcd10fd6720bc80ef1c35504364 Mon Sep 17 00:00:00 2001 From: "Connor Lay (Clay)" Date: Thu, 1 Sep 2022 19:36:37 -0700 Subject: [PATCH 2/3] elixir: inject markdown into live view docs --- runtime/queries/elixir/injections.scm | 32 +++++++++++++++++++++------ 1 file changed, 25 insertions(+), 7 deletions(-) diff --git a/runtime/queries/elixir/injections.scm b/runtime/queries/elixir/injections.scm index 5c58a8630d77..d49e1b4ad69b 100644 --- a/runtime/queries/elixir/injections.scm +++ b/runtime/queries/elixir/injections.scm @@ -1,6 +1,8 @@ +; Elixir Comments ((comment) @injection.content (#set! injection.language "comment")) +; Elixir Regular Expressions ((sigil (sigil_name) @_sigil_name (quoted_content) @injection.content) @@ -8,13 +10,7 @@ (#set! injection.language "regex") (#set! injection.combined)) -((sigil - (sigil_name) @_sigil_name - (quoted_content) @injection.content) - (#eq? @_sigil_name "H") - (#set! injection.language "heex") - (#set! injection.combined)) - +; Elixir Documentation (unary_operator operator: "@" operand: (call @@ -23,3 +19,25 @@ (string (quoted_content) @injection.content) (sigil (quoted_content) @injection.content) ])) (#set! injection.language "markdown")) + +; Phoenix Live View HEEx Sigils +((sigil + (sigil_name) @_sigil_name + (quoted_content) @injection.content) + (#eq? @_sigil_name "H") + (#set! injection.language "heex") + (#set! injection.combined)) + +; Phoenix Live View Component Macros +(call + (identifier) @_identifier + (arguments + (atom)+ + (keywords (pair + (keyword) + [ + (string (quoted_content) @injection.content) + (sigil (quoted_content) @injection.content) + ])) + (#match? @_identifier "^(attr|slot)$") + (#set! injection.language "markdown"))) From f5bd43f12ceb4537c40f08994ce6d056bc400b33 Mon Sep 17 00:00:00 2001 From: "Connor Lay (Clay)" Date: Sat, 3 Sep 2022 10:07:35 -1000 Subject: [PATCH 3/3] elixir: inject zig, json into sigils --- runtime/queries/elixir/injections.scm | 24 ++++++++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/runtime/queries/elixir/injections.scm b/runtime/queries/elixir/injections.scm index d49e1b4ad69b..4853b84b64d8 100644 --- a/runtime/queries/elixir/injections.scm +++ b/runtime/queries/elixir/injections.scm @@ -1,4 +1,4 @@ -; Elixir Comments +; Elixir Code Comments ((comment) @injection.content (#set! injection.language "comment")) @@ -6,11 +6,11 @@ ((sigil (sigil_name) @_sigil_name (quoted_content) @injection.content) - (#match? @_sigil_name "^(r|R)$") + (#match? @_sigil_name "^(R|r)$") (#set! injection.language "regex") (#set! injection.combined)) -; Elixir Documentation +; Elixir Markdown Documentation (unary_operator operator: "@" operand: (call @@ -20,6 +20,22 @@ (sigil (quoted_content) @injection.content) ])) (#set! injection.language "markdown")) +; Zigler Sigils +((sigil + (sigil_name) @_sigil_name + (quoted_content) @injection.content) + (#match? @_sigil_name "^(Z|z)$") + (#set! injection.language "zig") + (#set! injection.combined)) + +; Jason Sigils +((sigil + (sigil_name) @_sigil_name + (quoted_content) @injection.content) + (#match? @_sigil_name "^(J|j)$") + (#set! injection.language "json") + (#set! injection.combined)) + ; Phoenix Live View HEEx Sigils ((sigil (sigil_name) @_sigil_name @@ -34,7 +50,7 @@ (arguments (atom)+ (keywords (pair - (keyword) + ((keyword) @_keyword (#eq? @_keyword "doc: ")) [ (string (quoted_content) @injection.content) (sigil (quoted_content) @injection.content)