aboutsummaryrefslogtreecommitdiffstats
path: root/queries/sparql
diff options
context:
space:
mode:
authorBonaBeavis <gordian.dziwis@gmail.com>2020-12-28 12:54:18 +0100
committerStephan Seitz <stephan.lauf@yahoo.de>2020-12-30 17:51:44 +0100
commite934c5508aacc6276769afefc1f324405c84a5a0 (patch)
tree5af633fde51fa6afa945d4e86f688567f0c5ca5b /queries/sparql
parentwildcards to capture keys (diff)
downloadnvim-treesitter-e934c5508aacc6276769afefc1f324405c84a5a0.tar
nvim-treesitter-e934c5508aacc6276769afefc1f324405c84a5a0.tar.gz
nvim-treesitter-e934c5508aacc6276769afefc1f324405c84a5a0.tar.bz2
nvim-treesitter-e934c5508aacc6276769afefc1f324405c84a5a0.tar.lz
nvim-treesitter-e934c5508aacc6276769afefc1f324405c84a5a0.tar.xz
nvim-treesitter-e934c5508aacc6276769afefc1f324405c84a5a0.tar.zst
nvim-treesitter-e934c5508aacc6276769afefc1f324405c84a5a0.zip
Add SPARQL
Signed-off-by: BonaBeavis <gordian.dziwis@gmail.com>
Diffstat (limited to 'queries/sparql')
-rw-r--r--queries/sparql/folds.scm26
-rw-r--r--queries/sparql/highlights.scm211
-rw-r--r--queries/sparql/indents.scm17
-rw-r--r--queries/sparql/locals.scm6
4 files changed, 260 insertions, 0 deletions
diff --git a/queries/sparql/folds.scm b/queries/sparql/folds.scm
new file mode 100644
index 000000000..2b93a7bc7
--- /dev/null
+++ b/queries/sparql/folds.scm
@@ -0,0 +1,26 @@
+[
+ (prologue)
+ (select_query)
+ (construct_query)
+ (describe_query)
+ (ask_query)
+ (values_clause)
+ (load)
+ (clear)
+ (drop)
+ (add)
+ (move)
+ (copy)
+ (create)
+ (insert_data)
+ (delete_data)
+ (delete_where)
+ (modify)
+ (group_graph_pattern)
+ (triples_same_subject)
+ (where_clause)
+ (delete_clause)
+ (insert_clause)
+ (data_block)
+ (blank_node_property_list)
+] @fold
diff --git a/queries/sparql/highlights.scm b/queries/sparql/highlights.scm
new file mode 100644
index 000000000..8b09502bc
--- /dev/null
+++ b/queries/sparql/highlights.scm
@@ -0,0 +1,211 @@
+[
+ (path_mod)
+ "||"
+ "&&"
+ "="
+ "<"
+ ">"
+ "<="
+ ">="
+ "+"
+ "-"
+ "*"
+ "/"
+ "!"
+ "|"
+ "^"
+] @operator
+
+[
+ "_:"
+ (namespace)
+] @namespace
+
+[
+ "UNDEF"
+ "a"
+] @variable.builtin
+
+
+[
+ "ADD"
+ "ALL"
+ "AS"
+ "ASC"
+ "ASK"
+ "BIND"
+ "BY"
+ "CLEAR"
+ "CONSTRUCT"
+ "COPY"
+ "CREATE"
+ "DEFAULT"
+ "DELETE"
+ "DELETE DATA"
+ "DELETE WHERE"
+ "DESC"
+ "DESCRIBE"
+ "DISTINCT"
+ "DROP"
+ "EXISTS"
+ "FILTER"
+ "FROM"
+ "GRAPH"
+ "GROUP"
+ "HAVING"
+ "INSERT"
+ "INSERT DATA"
+ "INTO"
+ "LIMIT"
+ "LOAD"
+ "MINUS"
+ "MOVE"
+ "NAMED"
+ "NOT"
+ "OFFSET"
+ "OPTIONAL"
+ "ORDER"
+ "PREFIX"
+ "REDUCED"
+ "SELECT"
+ "SERVICE"
+ "SILENT"
+ "UNION"
+ "USING"
+ "VALUES"
+ "WHERE"
+ "WITH"
+] @keyword
+
+(string) @string
+(echar) @string.escape
+
+(integer) @number
+[
+ (decimal)
+ (double)
+] @float
+(boolean_literal) @boolean
+
+[
+ "BASE"
+ "PREFIX"
+] @keyword
+
+[
+ "ABS"
+ "AVG"
+ "BNODE"
+ "BOUND"
+ "CEIL"
+ "CONCAT"
+ "COALESCE"
+ "CONTAINS"
+ "DATATYPE"
+ "DAY"
+ "ENCODE_FOR_URI"
+ "FLOOR"
+ "HOURS"
+ "IF"
+ "IRI"
+ "LANG"
+ "LANGMATCHES"
+ "LCASE"
+ "MD5"
+ "MINUTES"
+ "MONTH"
+ "NOW"
+ "RAND"
+ "REGEX"
+ "ROUND"
+ "SECONDS"
+ "SHA1"
+ "SHA256"
+ "SHA384"
+ "SHA512"
+ "STR"
+ "SUM"
+ "MAX"
+ "MIN"
+ "SAMPLE"
+ "GROUP_CONCAT"
+ "SEPARATOR"
+ "COUNT"
+ "STRAFTER"
+ "STRBEFORE"
+ "STRDT"
+ "STRENDS"
+ "STRLANG"
+ "STRLEN"
+ "STRSTARTS"
+ "STRUUID"
+ "TIMEZONE"
+ "TZ"
+ "UCASE"
+ "URI"
+ "UUID"
+ "YEAR"
+ "isBLANK"
+ "isIRI"
+ "isLITERAL"
+ "isNUMERIC"
+ "isURI"
+ "sameTerm"
+] @function.builtin
+
+[
+ "."
+ ","
+ ";"
+] @punctuation.delimiter
+
+[
+ "("
+ ")"
+ "["
+ "]"
+ "{"
+ "}"
+ (nil)
+ (anon)
+] @punctuation.bracket
+
+[
+ "IN"
+ ("NOT" "IN")
+] @keyword.operator
+
+
+(comment) @comment
+
+
+; Could this be summarized?
+(select_clause
+ [
+ bound_variable: (var)
+ "*"
+ ] @parameter)
+(bind bound_variable: (var) @parameter)
+(data_block bound_variable: (var) @parameter)
+(group_condition bound_variable: (var) @parameter)
+
+(iri_reference ["<" ">"] @namespace)
+
+(lang_tag) @type
+(rdf_literal
+ "^^" @type
+ datatype: (_ ["<" ">" (namespace)] @type) @type)
+
+(function_call identifier: (_) @function)
+
+(function_call identifier: (iri_reference ["<" ">"] @function))
+(function_call identifier: (prefixed_name (namespace) @function))
+(base_declaration (iri_reference ["<" ">"] @variable))
+(prefix_declaration (iri_reference ["<" ">"] @variable))
+
+[
+ (var)
+ (blank_node_label)
+ (iri_reference)
+ (prefixed_name)
+] @variable
diff --git a/queries/sparql/indents.scm b/queries/sparql/indents.scm
new file mode 100644
index 000000000..a154522a5
--- /dev/null
+++ b/queries/sparql/indents.scm
@@ -0,0 +1,17 @@
+[
+ (group_graph_pattern)
+ (triples_block)
+ (triples_template)
+ (construct_template)
+ (construct_triples)
+ (quads)
+ (data_block)
+ (blank_node_property_list)
+ (collection)
+] @indent
+[
+ "}"
+ "]"
+ ")"
+ (triples_same_subject)
+] @branch
diff --git a/queries/sparql/locals.scm b/queries/sparql/locals.scm
new file mode 100644
index 000000000..3a3d3187f
--- /dev/null
+++ b/queries/sparql/locals.scm
@@ -0,0 +1,6 @@
+(group_graph_pattern (triples_block) @scope)
+
+(sub_select (select_clause (var) @definition.var)(set! "definition.var.scope" "parent"))
+(select_query (select_clause (var) @definition.var)(set! "definition.var.scope" "parent"))
+
+(var) @reference