diff --git a/languages/elixir/highlights.scm b/languages/elixir/highlights.scm index 2970d44..b8892a2 100644 --- a/languages/elixir/highlights.scm +++ b/languages/elixir/highlights.scm @@ -144,6 +144,20 @@ (sigil_name) @_sigil_name (#any-of? @_sigil_name "C" "c" "S" "s")) @string +; Wordlist sigils +(sigil + (sigil_name) @_sigil_name + (quoted_content)? @string + (#any-of? @_sigil_name "W" "w")) @punctuation.bracket + +; Wordlist sigils with atom modifier +(sigil + (sigil_name) @_sigil_name + (quoted_content) @string.special.symbol + (sigil_modifiers) @_sigil_modifier + (#eq? @_sigil_modifier "a") + (#any-of? @_sigil_name "W" "w")) + ; Regex sigils (sigil (sigil_name) @_sigil_name diff --git a/languages/elixir/indents.scm b/languages/elixir/indents.scm index e4b4525..9b044e4 100644 --- a/languages/elixir/indents.scm +++ b/languages/elixir/indents.scm @@ -20,6 +20,10 @@ "end" @end) (anonymous_function "end" @end) + (sigil + (sigil_name) @_sigil_name + quoted_end: _ @end + (#any-of? @_sigil_name "W" "w")) ] @indent ; These have no end delimiter that can be captured,