Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'runtime/queries/gpr/highlights.scm')
-rw-r--r--runtime/queries/gpr/highlights.scm51
1 files changed, 51 insertions, 0 deletions
diff --git a/runtime/queries/gpr/highlights.scm b/runtime/queries/gpr/highlights.scm
new file mode 100644
index 00000000..9d24928b
--- /dev/null
+++ b/runtime/queries/gpr/highlights.scm
@@ -0,0 +1,51 @@
+[ "abstract" "all" "at"
+ "case"
+ "end" "extends" "external" "external_as_list"
+ "for"
+ "is"
+ "limited"
+ "null"
+ "others"
+ "package"
+ ;; "project"
+ "renames"
+ "type"
+ "use"
+ "when"
+ "with"
+ ] @keyword
+
+;; Avoid highlighting Project in Project'Project_Dir
+(project_declaration "project" @keyword)
+
+;; highlight qualifiers as keywords (not all qualifiers are actual keywords)
+(project_qualifier _ @keyword)
+
+[":=" "&" "|" "=>"] @operator
+
+(comment) @comment
+(string_literal) @string
+(numeric_literal) @constant.numeric
+
+;; Type
+(typed_string_declaration name: (identifier) @type)
+(variable_declaration type: (name (identifier) @type .))
+
+;; Variable
+(variable_declaration name: (identifier) @variable)
+(variable_reference (name (identifier) @variable .) .)
+
+;; Function
+(builtin_function_call name: _ @function.builtin)
+
+;; Attribute
+(attribute_declaration name: (identifier) @attribute)
+(attribute_reference (identifier) @attribute)
+
+;; Package
+(variable_reference (name (identifier) @function .) "'")
+(package_declaration
+ [ name: (identifier) @function
+ endname: (identifier) @function
+ origname: (name (identifier) @function .)
+ basename: (name (identifier) @function .)])