diff options
| author | Serhii Khoma <srghma@gmail.com> | 2024-12-30 23:48:20 +0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-12-30 08:48:20 -0800 |
| commit | f87c8956aee2bb0a2406f70751d100a843abb2e4 (patch) | |
| tree | 5a6dfe52d1c3d124fac71791a4737c9a3ab48ef0 /queries | |
| parent | feat(ruby): add injection for debugger command strings (#7480) (diff) | |
| download | nvim-treesitter-f87c8956aee2bb0a2406f70751d100a843abb2e4.tar nvim-treesitter-f87c8956aee2bb0a2406f70751d100a843abb2e4.tar.gz nvim-treesitter-f87c8956aee2bb0a2406f70751d100a843abb2e4.tar.bz2 nvim-treesitter-f87c8956aee2bb0a2406f70751d100a843abb2e4.tar.lz nvim-treesitter-f87c8956aee2bb0a2406f70751d100a843abb2e4.tar.xz nvim-treesitter-f87c8956aee2bb0a2406f70751d100a843abb2e4.tar.zst nvim-treesitter-f87c8956aee2bb0a2406f70751d100a843abb2e4.zip | |
feat(ipkg): add parser and queries (#7277)
Co-authored-by: ObserverOfTime <chronobserver@disroot.org>
Diffstat (limited to 'queries')
| -rw-r--r-- | queries/ipkg/folds.scm | 13 | ||||
| -rw-r--r-- | queries/ipkg/highlights.scm | 56 | ||||
| -rw-r--r-- | queries/ipkg/indents.scm | 33 | ||||
| -rw-r--r-- | queries/ipkg/injections.scm | 5 | ||||
| -rw-r--r-- | queries/ipkg/locals.scm | 24 |
5 files changed, 131 insertions, 0 deletions
diff --git a/queries/ipkg/folds.scm b/queries/ipkg/folds.scm new file mode 100644 index 000000000..271654f9a --- /dev/null +++ b/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/queries/ipkg/highlights.scm b/queries/ipkg/highlights.scm new file mode 100644 index 000000000..13c102018 --- /dev/null +++ b/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/queries/ipkg/indents.scm b/queries/ipkg/indents.scm new file mode 100644 index 000000000..a596e9ebe --- /dev/null +++ b/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/queries/ipkg/injections.scm b/queries/ipkg/injections.scm new file mode 100644 index 000000000..3cd6aac8e --- /dev/null +++ b/queries/ipkg/injections.scm @@ -0,0 +1,5 @@ +([ + (line_comment) + (block_comment) +] @injection.content + (#set! injection.language "comment")) diff --git a/queries/ipkg/locals.scm b/queries/ipkg/locals.scm new file mode 100644 index 000000000..c1970fcdf --- /dev/null +++ b/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 |
