aboutsummaryrefslogtreecommitdiffstats
path: root/runtime/queries/ipkg
diff options
context:
space:
mode:
authorChristian Clason <c.clason@uni-graz.at>2023-06-12 09:54:30 -0600
committerChristian Clason <c.clason@uni-graz.at>2025-05-12 18:43:40 +0200
commit692b051b09935653befdb8f7ba8afdb640adf17b (patch)
tree167162b6b129ae04f68c5735078521a72917c742 /runtime/queries/ipkg
parentfeat(c-family): inherit injections (diff)
downloadnvim-treesitter-692b051b09935653befdb8f7ba8afdb640adf17b.tar
nvim-treesitter-692b051b09935653befdb8f7ba8afdb640adf17b.tar.gz
nvim-treesitter-692b051b09935653befdb8f7ba8afdb640adf17b.tar.bz2
nvim-treesitter-692b051b09935653befdb8f7ba8afdb640adf17b.tar.lz
nvim-treesitter-692b051b09935653befdb8f7ba8afdb640adf17b.tar.xz
nvim-treesitter-692b051b09935653befdb8f7ba8afdb640adf17b.tar.zst
nvim-treesitter-692b051b09935653befdb8f7ba8afdb640adf17b.zip
feat!: drop modules, general refactor and cleanup
Diffstat (limited to 'runtime/queries/ipkg')
-rw-r--r--runtime/queries/ipkg/folds.scm13
-rw-r--r--runtime/queries/ipkg/highlights.scm56
-rw-r--r--runtime/queries/ipkg/indents.scm33
-rw-r--r--runtime/queries/ipkg/injections.scm5
-rw-r--r--runtime/queries/ipkg/locals.scm24
5 files changed, 131 insertions, 0 deletions
diff --git a/runtime/queries/ipkg/folds.scm b/runtime/queries/ipkg/folds.scm
new file mode 100644
index 000000000..271654f9a
--- /dev/null
+++ b/runtime/queries/ipkg/folds.scm
@@ -0,0 +1,13 @@
+[
+ (source_file)
+ (dependency_list)
+ (module_list)
+ (dependency_declaration)
+ (module_declaration)
+ (module_declaration)
+ (package_declaration)
+ (main_declaration)
+ (executable_declaration)
+ (version_declaration)
+ (langversion_declaration)
+] @fold
diff --git a/runtime/queries/ipkg/highlights.scm b/runtime/queries/ipkg/highlights.scm
new file mode 100644
index 000000000..13c102018
--- /dev/null
+++ b/runtime/queries/ipkg/highlights.scm
@@ -0,0 +1,56 @@
+; Keywords
+"package" @keyword.import
+
+[
+ "authors"
+ "maintainers"
+ "license"
+ "brief"
+ "readme"
+ "homepage"
+ "sourceloc"
+ "bugtracker"
+ "opts"
+ "sourcedir"
+ "builddir"
+ "outputdir"
+ "prebuild"
+ "postbuild"
+ "preinstall"
+ "postinstall"
+ "preclean"
+ "postclean"
+ "version"
+ "langversion"
+ "modules"
+ "main"
+ "executable"
+ "depends"
+] @keyword
+
+[
+ "="
+ (version_range_op)
+] @operator
+
+"," @punctuation.delimiter
+
+; Field values
+(string_value) @string
+
+(boolean_value) @boolean
+
+; Version numbers and ranges
+(version_number) @string.special
+
+[
+ (dependency_item)
+ (package_name)
+ (module_name)
+] @module
+
+; Comments
+[
+ (line_comment)
+ (block_comment)
+] @comment @spell
diff --git a/runtime/queries/ipkg/indents.scm b/runtime/queries/ipkg/indents.scm
new file mode 100644
index 000000000..a596e9ebe
--- /dev/null
+++ b/runtime/queries/ipkg/indents.scm
@@ -0,0 +1,33 @@
+; Indentation rules for Idris .ipkg files
+[
+ (package_declaration)
+ (field_declaration)
+ (main_declaration)
+ (executable_declaration)
+ (version_declaration)
+ (langversion_declaration)
+] @indent.begin
+
+(dependency_declaration
+ "=" @indent.begin
+ (dependency_list
+ "," @indent.begin))
+
+(module_declaration
+ "=" @indent.begin
+ (module_list
+ "," @indent.begin))
+
+(field_declaration
+ "=" @indent.begin)
+
+"=" @indent.branch
+
+(string_value) @indent.begin
+
+[
+ (line_comment)
+ (block_comment)
+] @indent.ignore
+
+(ERROR) @indent.auto
diff --git a/runtime/queries/ipkg/injections.scm b/runtime/queries/ipkg/injections.scm
new file mode 100644
index 000000000..3cd6aac8e
--- /dev/null
+++ b/runtime/queries/ipkg/injections.scm
@@ -0,0 +1,5 @@
+([
+ (line_comment)
+ (block_comment)
+] @injection.content
+ (#set! injection.language "comment"))
diff --git a/runtime/queries/ipkg/locals.scm b/runtime/queries/ipkg/locals.scm
new file mode 100644
index 000000000..c1970fcdf
--- /dev/null
+++ b/runtime/queries/ipkg/locals.scm
@@ -0,0 +1,24 @@
+; Scopes
+(source_file) @local.scope
+
+; Definitions
+(package_declaration
+ (package_name) @local.definition.import)
+
+(module_declaration
+ (module_list
+ (module_name) @local.definition.namespace))
+
+(main_declaration
+ (module_name) @local.definition.import)
+
+(executable_declaration
+ (package_name) @local.definition.import)
+
+; References
+(dependency_declaration
+ (dependency_list
+ (dependency_item
+ (package_name) @local.reference)))
+
+(module_name) @local.reference