From 692b051b09935653befdb8f7ba8afdb640adf17b Mon Sep 17 00:00:00 2001 From: Christian Clason Date: Mon, 12 Jun 2023 09:54:30 -0600 Subject: feat!: drop modules, general refactor and cleanup --- runtime/queries/ipkg/folds.scm | 13 +++++++++ runtime/queries/ipkg/highlights.scm | 56 +++++++++++++++++++++++++++++++++++++ runtime/queries/ipkg/indents.scm | 33 ++++++++++++++++++++++ runtime/queries/ipkg/injections.scm | 5 ++++ runtime/queries/ipkg/locals.scm | 24 ++++++++++++++++ 5 files changed, 131 insertions(+) create mode 100644 runtime/queries/ipkg/folds.scm create mode 100644 runtime/queries/ipkg/highlights.scm create mode 100644 runtime/queries/ipkg/indents.scm create mode 100644 runtime/queries/ipkg/injections.scm create mode 100644 runtime/queries/ipkg/locals.scm (limited to 'runtime/queries/ipkg') 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 -- cgit v1.2.3-70-g09d2