chore: query formatting

This commit is contained in:
Pham Huy Hoang 2024-01-06 15:05:50 +09:00 committed by Christian Clason
parent 79975d6557
commit 57a8acf0c4
674 changed files with 18466 additions and 12648 deletions

View file

@ -15,15 +15,14 @@
"}"
] @punctuation.bracket
[
"%"
] @punctuation.special
"%" @punctuation.special
; Identifiers
(identifier) @variable
; Unused Identifiers
((identifier) @comment (#lua-match? @comment "^_"))
((identifier) @comment
(#lua-match? @comment "^_"))
; Comments
(comment) @comment @spell
@ -43,7 +42,11 @@
] @string.special.symbol
; Interpolation
(interpolation ["#{" "}"] @string.special)
(interpolation
[
"#{"
"}"
] @string.special)
; Escape sequences
(escape_sequence) @string.escape
@ -69,82 +72,65 @@
; Operators
(operator_identifier) @operator
(unary_operator operator: _ @operator)
(unary_operator
operator: _ @operator)
(binary_operator operator: _ @operator)
(binary_operator
operator: _ @operator)
; Pipe Operator
(binary_operator operator: "|>" right: (identifier) @function)
(binary_operator
operator: "|>"
right: (identifier) @function)
(dot operator: _ @operator)
(dot
operator: _ @operator)
(stab_clause operator: _ @operator)
(stab_clause
operator: _ @operator)
; Local Function Calls
(call target: (identifier) @function.call)
(call
target: (identifier) @function.call)
; Remote Function Calls
(call target: (dot left: [
(atom) @type
(_)
] right: (identifier) @function.call) (arguments))
(call
target:
(dot
left:
[
(atom) @type
(_)
]
right: (identifier) @function.call)
(arguments))
; Definition Function Calls
(call target: ((identifier) @keyword.function (#any-of? @keyword.function
"def"
"defdelegate"
"defexception"
"defguard"
"defguardp"
"defimpl"
"defmacro"
"defmacrop"
"defmodule"
"defn"
"defnp"
"defoverridable"
"defp"
"defprotocol"
"defstruct"
))
(arguments [
(call (identifier) @function)
(identifier) @function
(binary_operator left: (call target: (identifier) @function) operator: "when")])?)
(call
target:
((identifier) @keyword.function
(#any-of? @keyword.function "def" "defdelegate" "defexception" "defguard" "defguardp" "defimpl" "defmacro" "defmacrop" "defmodule" "defn" "defnp" "defoverridable" "defp" "defprotocol" "defstruct"))
(arguments
[
(call
(identifier) @function)
(identifier) @function
(binary_operator
left:
(call
target: (identifier) @function)
operator: "when")
])?)
; Kernel Keywords & Special Forms
(call target: ((identifier) @keyword (#any-of? @keyword
"alias"
"case"
"catch"
"cond"
"else"
"for"
"if"
"import"
"quote"
"raise"
"receive"
"require"
"reraise"
"super"
"throw"
"try"
"unless"
"unquote"
"unquote_splicing"
"use"
"with"
)))
(call
target:
((identifier) @keyword
(#any-of? @keyword "alias" "case" "catch" "cond" "else" "for" "if" "import" "quote" "raise" "receive" "require" "reraise" "super" "throw" "try" "unless" "unquote" "unquote_splicing" "use" "with")))
; Special Constants
((identifier) @constant.builtin (#any-of? @constant.builtin
"__CALLER__"
"__DIR__"
"__ENV__"
"__MODULE__"
"__STACKTRACE__"
))
((identifier) @constant.builtin
(#any-of? @constant.builtin "__CALLER__" "__DIR__" "__ENV__" "__MODULE__" "__STACKTRACE__"))
; Reserved Keywords
[
@ -170,14 +156,22 @@
; Capture Operator
(unary_operator
operator: "&"
operand: [
(integer) @operator
(binary_operator
left: [
(call target: (dot left: (_) right: (identifier) @function))
(identifier) @function
] operator: "/" right: (integer) @operator)
])
operand:
[
(integer) @operator
(binary_operator
left:
[
(call
target:
(dot
left: (_)
right: (identifier) @function))
(identifier) @function
]
operator: "/"
right: (integer) @operator)
])
; Non-String Sigils
(sigil
@ -201,24 +195,30 @@
; Module attributes
(unary_operator
operator: "@"
operand: [
(identifier)
(call target: (identifier))
] @constant) @constant
operand:
[
(identifier)
(call
target: (identifier))
] @constant) @constant
; Documentation
(unary_operator
operator: "@"
operand: (call
target: ((identifier) @_identifier (#any-of? @_identifier "moduledoc" "typedoc" "shortdoc" "doc")) @comment.documentation
(arguments [
(string)
(boolean)
(charlist)
(sigil
"~" @comment.documentation
((sigil_name) @comment.documentation)
quoted_start: _ @comment.documentation
(quoted_content) @comment.documentation
quoted_end: _ @comment.documentation)
] @comment.documentation))) @comment.documentation
operand:
(call
target:
((identifier) @_identifier
(#any-of? @_identifier "moduledoc" "typedoc" "shortdoc" "doc")) @comment.documentation
(arguments
[
(string)
(boolean)
(charlist)
(sigil
"~" @comment.documentation
((sigil_name) @comment.documentation)
quoted_start: _ @comment.documentation
(quoted_content) @comment.documentation
quoted_end: _ @comment.documentation)
] @comment.documentation))) @comment.documentation

View file

@ -20,4 +20,6 @@
] @indent.end @indent.branch
; Elixir pipelines are not indented, but other binary operator chains are
((binary_operator operator: _ @_operator) @indent.begin (#not-eq? @_operator "|>"))
((binary_operator
operator: _ @_operator) @indent.begin
(#not-eq? @_operator "|>"))

View file

@ -1,56 +1,61 @@
; Comments
((comment) @injection.content
(#set! injection.language "comment"))
((comment) @injection.content
(#set! injection.language "comment"))
; Documentation
(unary_operator
operator: "@"
operand: (call
target: ((identifier) @_identifier (#any-of? @_identifier "moduledoc" "typedoc" "shortdoc" "doc"))
(arguments [
(string (quoted_content) @injection.content)
(sigil (quoted_content) @injection.content)
])
(#set! injection.language "markdown")))
operand:
(call
target:
((identifier) @_identifier
(#any-of? @_identifier "moduledoc" "typedoc" "shortdoc" "doc"))
(arguments
[
(string
(quoted_content) @injection.content)
(sigil
(quoted_content) @injection.content)
])
(#set! injection.language "markdown")))
; HEEx
(sigil
(sigil_name) @_sigil_name
(quoted_content) @injection.content
(#eq? @_sigil_name "H")
(#set! injection.language "heex"))
(#eq? @_sigil_name "H")
(#set! injection.language "heex"))
; Surface
(sigil
(sigil_name) @_sigil_name
(quoted_content) @injection.content
(#eq? @_sigil_name "F")
(#set! injection.language "surface"))
(#eq? @_sigil_name "F")
(#set! injection.language "surface"))
; Zigler
(sigil
(sigil_name) @_sigil_name
(quoted_content) @injection.content
(#any-of? @_sigil_name "E" "L")
(#set! injection.language "eex"))
(#any-of? @_sigil_name "E" "L")
(#set! injection.language "eex"))
(sigil
(sigil_name) @_sigil_name
(quoted_content) @injection.content
(#any-of? @_sigil_name "z" "Z")
(#set! injection.language "zig"))
(#any-of? @_sigil_name "z" "Z")
(#set! injection.language "zig"))
; Regex
(sigil
(sigil_name) @_sigil_name
(quoted_content) @injection.content
(#any-of? @_sigil_name "r" "R")
(#set! injection.language "regex"))
(#any-of? @_sigil_name "r" "R")
(#set! injection.language "regex"))
; Json
(sigil
(sigil_name) @_sigil_name
(quoted_content) @injection.content
(#any-of? @_sigil_name "j" "J")
(#set! injection.language "json"))
(#any-of? @_sigil_name "j" "J")
(#set! injection.language "json"))

View file

@ -5,7 +5,7 @@
; Module Definitions
(call
target:
target:
((identifier) @_identifier
(#eq? @_identifier "defmodule"))
(arguments