diff options
| author | BonaBeavis <gordian.dziwis@gmail.com> | 2020-12-28 12:54:18 +0100 |
|---|---|---|
| committer | Stephan Seitz <stephan.lauf@yahoo.de> | 2020-12-30 17:51:44 +0100 |
| commit | e934c5508aacc6276769afefc1f324405c84a5a0 (patch) | |
| tree | 5af633fde51fa6afa945d4e86f688567f0c5ca5b /queries/sparql | |
| parent | wildcards to capture keys (diff) | |
| download | nvim-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.scm | 26 | ||||
| -rw-r--r-- | queries/sparql/highlights.scm | 211 | ||||
| -rw-r--r-- | queries/sparql/indents.scm | 17 | ||||
| -rw-r--r-- | queries/sparql/locals.scm | 6 |
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 |
