aboutsummaryrefslogtreecommitdiffstats
path: root/queries/arduino
diff options
context:
space:
mode:
authorObserverOfTime <chronobserver@disroot.org>2022-10-26 12:58:34 +0300
committerChristian Clason <christian.clason@uni-due.de>2022-11-18 16:51:08 +0100
commit63b6f1f98460666ef5278f1d5795374245114550 (patch)
tree132a75e2fcda154eccfd0597830a3adfea909fa0 /queries/arduino
parentsql: update parser and query (#3820) (diff)
downloadnvim-treesitter-63b6f1f98460666ef5278f1d5795374245114550.tar
nvim-treesitter-63b6f1f98460666ef5278f1d5795374245114550.tar.gz
nvim-treesitter-63b6f1f98460666ef5278f1d5795374245114550.tar.bz2
nvim-treesitter-63b6f1f98460666ef5278f1d5795374245114550.tar.lz
nvim-treesitter-63b6f1f98460666ef5278f1d5795374245114550.tar.xz
nvim-treesitter-63b6f1f98460666ef5278f1d5795374245114550.tar.zst
nvim-treesitter-63b6f1f98460666ef5278f1d5795374245114550.zip
feat(arduino): separate from cpp
Diffstat (limited to 'queries/arduino')
-rw-r--r--queries/arduino/folds.scm1
-rw-r--r--queries/arduino/highlights.scm111
-rw-r--r--queries/arduino/indents.scm1
-rw-r--r--queries/arduino/injections.scm3
-rw-r--r--queries/arduino/locals.scm1
5 files changed, 117 insertions, 0 deletions
diff --git a/queries/arduino/folds.scm b/queries/arduino/folds.scm
new file mode 100644
index 000000000..b617fdc56
--- /dev/null
+++ b/queries/arduino/folds.scm
@@ -0,0 +1 @@
+; inherits: cpp
diff --git a/queries/arduino/highlights.scm b/queries/arduino/highlights.scm
new file mode 100644
index 000000000..a4e74ae89
--- /dev/null
+++ b/queries/arduino/highlights.scm
@@ -0,0 +1,111 @@
+; inherits: cpp
+
+((identifier) @function.builtin
+ (#any-of? @function.builtin
+ ; Digital I/O
+ "digitalRead"
+ "digitalWrite"
+ "pinMode"
+ ; Analog I/O
+ "analogRead"
+ "analogReference"
+ "analogWrite"
+ ; Zero, Due & MKR Family
+ "analogReadResolution"
+ "analogWriteResolution"
+ ; Advanced I/O
+ "noTone"
+ "pulseIn"
+ "pulseInLong"
+ "shiftIn"
+ "shiftOut"
+ "tone"
+ ; Time
+ "delay"
+ "delayMicroseconds"
+ "micros"
+ "millis"
+ ; Math
+ "abs"
+ "constrain"
+ "map"
+ "max"
+ "min"
+ "pow"
+ "sq"
+ "sqrt"
+ ; Trigonometry
+ "cos"
+ "sin"
+ "tan"
+ ; Characters
+ "isAlpha"
+ "isAlphaNumeric"
+ "isAscii"
+ "isControl"
+ "isDigit"
+ "isGraph"
+ "isHexadecimalDigit"
+ "isLowerCase"
+ "isPrintable"
+ "isPunct"
+ "isSpace"
+ "isUpperCase"
+ "isWhitespace"
+ ; Random Numbers
+ "random"
+ "randomSeed"
+ ; Bits and Bytes
+ "bit"
+ "bitClear"
+ "bitRead"
+ "bitSet"
+ "bitWrite"
+ "highByte"
+ "lowByte"
+ ; External Interrupts
+ "attachInterrupt"
+ "detachInterrupt"
+ ; Interrupts
+ "interrupts"
+ "noInterrupts"
+ ))
+
+((identifier) @type.builtin
+ (#any-of? @type.builtin
+ "Serial"
+ "SPI"
+ "Stream"
+ "Wire"
+ "Keyboard"
+ "Mouse"
+ "String"
+ ))
+
+((identifier) @constant.builtin
+ (#any-of? @constant.builtin
+ "HIGH"
+ "LOW"
+ "INPUT"
+ "OUTPUT"
+ "INPUT_PULLUP"
+ "LED_BUILTIN"
+ ))
+
+(function_definition
+ (function_declarator
+ declarator: (identifier) @function.builtin)
+ (#any-of? @function.builtin "loop" "setup"))
+
+(call_expression
+ function: (primitive_type) @function.builtin)
+
+(call_expression
+ function: (identifier) @constructor
+ (#any-of? @constructor "SPISettings" "String"))
+
+(declaration
+ (type_identifier) @type.builtin
+ (function_declarator
+ declarator: (identifier) @constructor)
+ (#eq? @type.builtin "SPISettings"))
diff --git a/queries/arduino/indents.scm b/queries/arduino/indents.scm
new file mode 100644
index 000000000..b617fdc56
--- /dev/null
+++ b/queries/arduino/indents.scm
@@ -0,0 +1 @@
+; inherits: cpp
diff --git a/queries/arduino/injections.scm b/queries/arduino/injections.scm
new file mode 100644
index 000000000..ce1e7948a
--- /dev/null
+++ b/queries/arduino/injections.scm
@@ -0,0 +1,3 @@
+(preproc_arg) @arduino
+
+(comment) @comment
diff --git a/queries/arduino/locals.scm b/queries/arduino/locals.scm
new file mode 100644
index 000000000..b617fdc56
--- /dev/null
+++ b/queries/arduino/locals.scm
@@ -0,0 +1 @@
+; inherits: cpp