Add parenthesized expression SQL pattern

This commit is contained in:
HiPhish 2024-08-31 00:50:30 +02:00
parent 44b1976f6b
commit 9bbd3ea1b2
3 changed files with 348 additions and 24 deletions

View file

@ -12,6 +12,11 @@ Versioning`_.
Unreleased
##########
Added
=====
- SQL: `parenthesized_expression` pattern
Fixed
=====

View file

@ -10,23 +10,6 @@
"(" @delimiter
")" @delimiter @sentinel) @container
;;; The following queries do not work because all parentheses are on the same
;;; level.
;;;
;;; See https://github.com/DerekStride/tree-sitter-sql/issues/274
; (where
; "(" @delimiter
; ")" @delimiter @sentinel) @container
; (binary_expression
; "(" @delimiter
; ")" @delimiter @sentinel
; ) @container
; ; The following can cause problems with (((())))
; (term
; "(" @delimiter
; ; ("(" ")")* ; to fix _some_ problems, this can be uncommented
; ")" @delimiter @sentinel
; ) @container
(parenthesized_expression
"(" @delimiter
")" @delimiter @sentinel) @container

View file

@ -1,5 +1,221 @@
return {
sql = { {
end_col = 8,
end_row = 0,
hl_group = "RainbowDelimiterRed",
start_col = 7,
start_row = 0
}, {
end_col = 13,
end_row = 0,
hl_group = "RainbowDelimiterYellow",
start_col = 12,
start_row = 0
}, {
end_col = 18,
end_row = 0,
hl_group = "RainbowDelimiterBlue",
start_col = 17,
start_row = 0
}, {
end_col = 23,
end_row = 0,
hl_group = "RainbowDelimiterOrange",
start_col = 22,
start_row = 0
}, {
end_col = 28,
end_row = 0,
hl_group = "RainbowDelimiterGreen",
start_col = 27,
start_row = 0
}, {
end_col = 33,
end_row = 0,
hl_group = "RainbowDelimiterViolet",
start_col = 32,
start_row = 0
}, {
end_col = 38,
end_row = 0,
hl_group = "RainbowDelimiterCyan",
start_col = 37,
start_row = 0
}, {
end_col = 43,
end_row = 0,
hl_group = "RainbowDelimiterRed",
start_col = 42,
start_row = 0
}, {
end_col = 48,
end_row = 0,
hl_group = "RainbowDelimiterYellow",
start_col = 47,
start_row = 0
}, {
end_col = 49,
end_row = 0,
hl_group = "RainbowDelimiterBlue",
start_col = 48,
start_row = 0
}, {
end_col = 51,
end_row = 0,
hl_group = "RainbowDelimiterBlue",
start_col = 50,
start_row = 0
}, {
end_col = 55,
end_row = 0,
hl_group = "RainbowDelimiterBlue",
start_col = 54,
start_row = 0
}, {
end_col = 57,
end_row = 0,
hl_group = "RainbowDelimiterBlue",
start_col = 56,
start_row = 0
}, {
end_col = 58,
end_row = 0,
hl_group = "RainbowDelimiterYellow",
start_col = 57,
start_row = 0
}, {
end_col = 59,
end_row = 0,
hl_group = "RainbowDelimiterRed",
start_col = 58,
start_row = 0
}, {
end_col = 60,
end_row = 0,
hl_group = "RainbowDelimiterCyan",
start_col = 59,
start_row = 0
}, {
end_col = 61,
end_row = 0,
hl_group = "RainbowDelimiterViolet",
start_col = 60,
start_row = 0
}, {
end_col = 62,
end_row = 0,
hl_group = "RainbowDelimiterGreen",
start_col = 61,
start_row = 0
}, {
end_col = 63,
end_row = 0,
hl_group = "RainbowDelimiterOrange",
start_col = 62,
start_row = 0
}, {
end_col = 64,
end_row = 0,
hl_group = "RainbowDelimiterBlue",
start_col = 63,
start_row = 0
}, {
end_col = 65,
end_row = 0,
hl_group = "RainbowDelimiterYellow",
start_col = 64,
start_row = 0
}, {
end_col = 66,
end_row = 0,
hl_group = "RainbowDelimiterRed",
start_col = 65,
start_row = 0
}, {
end_col = 5,
end_row = 3,
hl_group = "RainbowDelimiterRed",
start_col = 4,
start_row = 3
}, {
end_col = 10,
end_row = 3,
hl_group = "RainbowDelimiterYellow",
start_col = 9,
start_row = 3
}, {
end_col = 11,
end_row = 3,
hl_group = "RainbowDelimiterBlue",
start_col = 10,
start_row = 3
}, {
end_col = 13,
end_row = 3,
hl_group = "RainbowDelimiterBlue",
start_col = 12,
start_row = 3
}, {
end_col = 17,
end_row = 3,
hl_group = "RainbowDelimiterBlue",
start_col = 16,
start_row = 3
}, {
end_col = 18,
end_row = 3,
hl_group = "RainbowDelimiterOrange",
start_col = 17,
start_row = 3
}, {
end_col = 19,
end_row = 3,
hl_group = "RainbowDelimiterGreen",
start_col = 18,
start_row = 3
}, {
end_col = 20,
end_row = 3,
hl_group = "RainbowDelimiterViolet",
start_col = 19,
start_row = 3
}, {
end_col = 22,
end_row = 3,
hl_group = "RainbowDelimiterViolet",
start_col = 21,
start_row = 3
}, {
end_col = 23,
end_row = 3,
hl_group = "RainbowDelimiterGreen",
start_col = 22,
start_row = 3
}, {
end_col = 24,
end_row = 3,
hl_group = "RainbowDelimiterOrange",
start_col = 23,
start_row = 3
}, {
end_col = 25,
end_row = 3,
hl_group = "RainbowDelimiterBlue",
start_col = 24,
start_row = 3
}, {
end_col = 26,
end_row = 3,
hl_group = "RainbowDelimiterYellow",
start_col = 25,
start_row = 3
}, {
end_col = 27,
end_row = 3,
hl_group = "RainbowDelimiterRed",
start_col = 26,
start_row = 3
}, {
end_col = 8,
end_row = 5,
hl_group = "RainbowDelimiterRed",
@ -35,6 +251,90 @@ return {
hl_group = "RainbowDelimiterRed",
start_col = 0,
start_row = 16
}, {
end_col = 23,
end_row = 17,
hl_group = "RainbowDelimiterRed",
start_col = 22,
start_row = 17
}, {
end_col = 28,
end_row = 17,
hl_group = "RainbowDelimiterYellow",
start_col = 27,
start_row = 17
}, {
end_col = 34,
end_row = 17,
hl_group = "RainbowDelimiterYellow",
start_col = 33,
start_row = 17
}, {
end_col = 35,
end_row = 17,
hl_group = "RainbowDelimiterRed",
start_col = 34,
start_row = 17
}, {
end_col = 41,
end_row = 17,
hl_group = "RainbowDelimiterRed",
start_col = 40,
start_row = 17
}, {
end_col = 46,
end_row = 17,
hl_group = "RainbowDelimiterYellow",
start_col = 45,
start_row = 17
}, {
end_col = 52,
end_row = 17,
hl_group = "RainbowDelimiterYellow",
start_col = 51,
start_row = 17
}, {
end_col = 53,
end_row = 17,
hl_group = "RainbowDelimiterRed",
start_col = 52,
start_row = 17
}, {
end_col = 57,
end_row = 17,
hl_group = "RainbowDelimiterRed",
start_col = 56,
start_row = 17
}, {
end_col = 62,
end_row = 17,
hl_group = "RainbowDelimiterYellow",
start_col = 61,
start_row = 17
}, {
end_col = 71,
end_row = 17,
hl_group = "RainbowDelimiterBlue",
start_col = 70,
start_row = 17
}, {
end_col = 73,
end_row = 17,
hl_group = "RainbowDelimiterBlue",
start_col = 72,
start_row = 17
}, {
end_col = 74,
end_row = 17,
hl_group = "RainbowDelimiterYellow",
start_col = 73,
start_row = 17
}, {
end_col = 75,
end_row = 17,
hl_group = "RainbowDelimiterRed",
start_col = 74,
start_row = 17
}, {
end_col = 25,
end_row = 18,
@ -47,30 +347,54 @@ return {
hl_group = "RainbowDelimiterRed",
start_col = 35,
start_row = 18
}, {
end_col = 7,
end_row = 24,
hl_group = "RainbowDelimiterRed",
start_col = 6,
start_row = 24
}, {
end_col = 25,
end_row = 26,
hl_group = "RainbowDelimiterRed",
hl_group = "RainbowDelimiterYellow",
start_col = 24,
start_row = 26
}, {
end_col = 54,
end_row = 26,
hl_group = "RainbowDelimiterRed",
hl_group = "RainbowDelimiterYellow",
start_col = 53,
start_row = 26
}, {
end_col = 23,
end_col = 1,
end_row = 27,
hl_group = "RainbowDelimiterRed",
start_col = 0,
start_row = 27
}, {
end_col = 2,
end_row = 29,
hl_group = "RainbowDelimiterRed",
start_col = 1,
start_row = 29
}, {
end_col = 23,
end_row = 29,
hl_group = "RainbowDelimiterYellow",
start_col = 22,
start_row = 29
}, {
end_col = 39,
end_row = 29,
hl_group = "RainbowDelimiterRed",
hl_group = "RainbowDelimiterYellow",
start_col = 38,
start_row = 29
}, {
end_col = 66,
end_row = 29,
hl_group = "RainbowDelimiterRed",
start_col = 65,
start_row = 29
}, {
end_col = 31,
end_row = 31,
@ -83,5 +407,17 @@ return {
hl_group = "RainbowDelimiterRed",
start_col = 36,
start_row = 31
}, {
end_col = 45,
end_row = 31,
hl_group = "RainbowDelimiterRed",
start_col = 44,
start_row = 31
}, {
end_col = 50,
end_row = 31,
hl_group = "RainbowDelimiterRed",
start_col = 49,
start_row = 31
} }
}