From 79ab9fc6fbbccd9cf3ea7877bd47c187360086a5 Mon Sep 17 00:00:00 2001 From: TravonteD Date: Fri, 24 Apr 2020 08:48:18 -0400 Subject: Squashed commit of the following: commit 1b3700b0cd68cb507c64b7243a5bea050379f09c Author: TravonteD Date: Fri Apr 24 08:44:34 2020 -0400 remove local from the capture groups commit 62f1a613c7c6f26e3a85f06f322ead28280dc7ca Author: TravonteD Date: Thu Apr 23 18:43:09 2020 -0400 update captures for identifiers commit 9966d5a9cd780b2de80e620cee6833fd341028d0 Author: TravonteD Date: Thu Apr 23 18:42:42 2020 -0400 add capture for constants that are recievers of a method call commit 10f03606710a3a54c8c722e4883b9475c6f9f776 Author: TravonteD Date: Thu Apr 23 17:54:25 2020 -0400 update captures for function definitions and calls commit 4b350274cb02e1b69ae013fa157bae5c6be9e577 Author: TravonteD Date: Thu Apr 23 17:21:10 2020 -0400 update captures for operators commit c66d42cd0d56d0a1bbfb1f88ffa7ff6ae8b6c2df Author: TravonteD Date: Thu Apr 23 17:10:13 2020 -0400 update captures for literals commit a9c097fe03f7294fdaede760f2c016cf6c960a45 Author: TravonteD Date: Thu Apr 23 15:54:47 2020 -0400 add highlights and locals from treesitter-ruby --- queries/ruby/highlights.scm | 140 ++++++++++++++++++++++++++++++++++++++++++++ queries/ruby/locals.scm | 45 ++++++++++++++ 2 files changed, 185 insertions(+) create mode 100644 queries/ruby/highlights.scm create mode 100644 queries/ruby/locals.scm (limited to 'queries') diff --git a/queries/ruby/highlights.scm b/queries/ruby/highlights.scm new file mode 100644 index 00000000..22e2267e --- /dev/null +++ b/queries/ruby/highlights.scm @@ -0,0 +1,140 @@ +; Keywords + +"alias" @keyword +"and" @keyword +"begin" @keyword +"break" @keyword +"case" @keyword +"class" @keyword +"def" @keyword +"do" @keyword +"else" @keyword +"elsif" @keyword +"end" @keyword +"ensure" @keyword +"for" @keyword +"if" @keyword +"in" @keyword +"module" @keyword +"next" @keyword +"or" @keyword +"rescue" @keyword +"retry" @keyword +"return" @keyword +"then" @keyword +"unless" @keyword +"until" @keyword +"when" @keyword +"while" @keyword +"yield" @keyword + +((identifier) @keyword + (match? @keyword "^(private|protected|public)$")) + +; Function calls + +((identifier) @function + (eq? @function "require")) + +"defined?" @function + +(call + receiver: (constant) @constant) +(method_call + receiver: (constant) @constant) +(call + method: (identifier) @function) +(method_call + method: (identifier) @function) +(call + method: (constant) @function) +(method_call + method: (constant) @function) + +; Function definitions + +(alias (identifier) @function) +(setter (identifier) @function) +(method name: (identifier) @function) +(method name: (constant) @constant) +(class name: (constant) @constant) +(singleton_method name: (identifier) @function) +(singleton_method name: (constant) @constant) + +; Identifiers + +(class_variable) @Identifier +(instance_variable) @Identifier + +((identifier) @constant + (match? @constant "^__(FILE|LINE|ENCODING)__$")) + +((constant) @constant + (match? @constant "^[A-Z\\d_]+$")) + +(constant) @constant + +(self) @constant +(super) @Identifier + +(method_parameters (identifier) @Type) +(lambda_parameters (identifier) @Type) +(block_parameters (identifier) @Type) +(splat_parameter (identifier) @Type) +(hash_splat_parameter (identifier) @Type) +(optional_parameter (identifier) @Type) +(destructured_parameter (identifier) @Type) +(block_parameter (identifier) @Type) +(keyword_parameter (identifier) @Type) + +((identifier) @function + (is-not? local)) + +; Literals + +(string) @string +(bare_string) @string +(bare_symbol) @constant +(subshell) @string +(heredoc_beginning) @Delimiter +(heredoc_body) @string +(heredoc_end) @Delimiter +(symbol) @constant +(regex) @string +(escape_sequence) @Special +(integer) @number +(float) @number + +(nil) @Identifier +(true) @Identifier +(false) @Identifier + +(interpolation + "#{" @Delimiter + (identifier) @Identifier + "}" @Delimiter) @embedded + +(comment) @comment + +; Operators + +"=" @operator +"=>" @operator +"->" @operator +"+" @operator +"-" @operator +"*" @operator +"/" @operator + +"," @Normal +";" @Normal +"." @Normal + +"(" @Normal +")" @Normal +"[" @Normal +"]" @Normal +"{" @Normal +"}" @Normal +"%w(" @Normal +"%i(" @Normal diff --git a/queries/ruby/locals.scm b/queries/ruby/locals.scm new file mode 100644 index 00000000..6c1b2523 --- /dev/null +++ b/queries/ruby/locals.scm @@ -0,0 +1,45 @@ +; The MIT License (MIT) +; +; Copyright (c) 2016 Rob Rix +; +; Permission is hereby granted, free of charge, to any person obtaining a copy +; of this software and associated documentation files (the "Software"), to deal +; in the Software without restriction, including without limitation the rights +; to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +; copies of the Software, and to permit persons to whom the Software is +; furnished to do so, subject to the following conditions: +; +; The above copyright notice and this permission notice shall be included in all +; copies or substantial portions of the Software. +; +; THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +; IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +; FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +; AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +; LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +; OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +; SOFTWARE. + +;;; DESCLARATIONS AND SCOPES +((method) @scope + (set! scope-inherits false)) + +(block) @scope +(do_block) @scope + +(method_parameters (identifier) @definition) +(lambda_parameters (identifier) @definition) +(block_parameters (identifier) @definition) +(splat_parameter name: (identifier) @definition) +(hash_splat_parameter name: (identifier) @definition) +(optional_parameter name: (identifier) @definition) +(destructured_parameter name: (identifier) @definition) +(block_parameter name: (identifier) @definition) +(keyword_parameter name: (identifier) @definition) + +(identifier) @reference + +(assignment left:(identifier) @definition) +(left_assignment_list (identifier) @definition) +(rest_assignment (identifier) @definition) +(destructured_left_assignment (identifier) @definition) -- cgit v1.2.3 From 22f73628f618465913d93e907a0a3881ed221b1d Mon Sep 17 00:00:00 2001 From: Thomas Vigouroux Date: Thu, 7 May 2020 09:23:33 +0200 Subject: fix(lua): update queries --- queries/lua/highlights.scm | 25 +++++++++++++------------ queries/lua/locals.scm | 24 ++++++++---------------- 2 files changed, 21 insertions(+), 28 deletions(-) (limited to 'queries') diff --git a/queries/lua/highlights.scm b/queries/lua/highlights.scm index 3077be10..a674638e 100644 --- a/queries/lua/highlights.scm +++ b/queries/lua/highlights.scm @@ -3,16 +3,16 @@ ;;; Builtins ;; Keywords "local" @keyword -"if" @keyword -"then" @keyword -"else" @keyword -"elseif" @keyword +"if" @conditional +"then" @conditional +"else" @conditional +"elseif" @conditional "end" @keyword "return" @keyword -"do" @keyword -"while" @keyword -"repeat" @keyword -"for" @keyword +"do" @repeat +"while" @repeat +"repeat" @repeat +"for" @repeat (break_statement) @keyword "goto" @keyword @@ -43,15 +43,16 @@ "#" @operator ;; Constants -(false) @constant -(true) @constant -(nil) @constant +(false) @boolean +(true) @boolean +(nil) @constant.builtin (spread) @constant ;; "..." ;; Nodes (function "function" @function "end" @function) +(function_definition "function" @function "end" @function) (local_function "function" @function "end" @function) -(table "{" @operator "}" @operator) +(table "{" @constructor "}" @constructor) (comment) @comment (string) @string (number) @number diff --git a/queries/lua/locals.scm b/queries/lua/locals.scm index 5f21e0aa..ee292732 100644 --- a/queries/lua/locals.scm +++ b/queries/lua/locals.scm @@ -2,25 +2,20 @@ ;; Variable and field declarations ((variable_declarator - (identifier) @definition) - (set! definition.kind "v")) + (identifier) @definition.var)) ((variable_declarator - (field_expression object:(*) @definition.associated (property_identifier) @definition)) - (set! difinition.kind "v")) + (field_expression object:(*) @definition.associated (property_identifier) @definition.var))) ;; Parameters ((local_function - (parameters (identifier) @definition)) - (set! definition.kind "v")) + (parameters (identifier) @definition.var))) ((function - (parameters (identifier) @definition)) - (set! definition.kind "v")) + (parameters (identifier) @definition.var))) ;; Loops ((loop_expression - (identifier) @definition) - (set! definition.kind "v")) + (identifier) @definition.var)) ;; Function definitions ;; Functions definitions creates both a definition and a new scope @@ -28,16 +23,13 @@ (function_name (function_name_field (identifier) @definition.associated - (property_identifier) @definition))) @scope - (set! definition.kind "m")) + (property_identifier) @definition.method))) @scope) ((function - (function_name (identifier) @definition)) @scope - (set! definition.kind "f")) + (function_name (identifier) @definition.function)) @scope) ((local_function - (identifier) @definition) @scope - (set! definition.kind "f")) + (identifier) @definition.function) @scope) ((if_statement) @scope) ((for_in_statement) @scope) -- cgit v1.2.3