From a8f5b17d31af1a1f20699eb77ad0c87e9e2cb0e7 Mon Sep 17 00:00:00 2001 From: Andrew Dupont Date: Sun, 17 Dec 2023 16:20:19 -0800 Subject: [PATCH 01/68] [tree-sitter] Fold on type objects in TypeScript --- packages/language-typescript/grammars/common/folds.scm | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/language-typescript/grammars/common/folds.scm b/packages/language-typescript/grammars/common/folds.scm index 97c5a6f0f6..54cdd8eb8a 100644 --- a/packages/language-typescript/grammars/common/folds.scm +++ b/packages/language-typescript/grammars/common/folds.scm @@ -4,6 +4,7 @@ (object) (template_string) (named_imports) + (object_type) ] @fold ; When we've got From a1e9fa0aa84c74127d3f4cd7d6a9578693d9138e Mon Sep 17 00:00:00 2001 From: Andrew Dupont Date: Tue, 19 Dec 2023 00:44:50 -0800 Subject: [PATCH 02/68] [tree-sitter] Make the shell grammar's file types match the TM grammar's --- .../grammars/tree-sitter-bash.cson | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/packages/language-shellscript/grammars/tree-sitter-bash.cson b/packages/language-shellscript/grammars/tree-sitter-bash.cson index 4f74335b58..723f2c94a5 100644 --- a/packages/language-shellscript/grammars/tree-sitter-bash.cson +++ b/packages/language-shellscript/grammars/tree-sitter-bash.cson @@ -6,6 +6,26 @@ parser: 'tree-sitter-bash' fileTypes: [ 'sh' 'bash' + 'ksh' + 'zsh' + 'zsh-theme' + 'zshenv' + 'zlogin' + 'zlogout' + 'zprofile' + 'zshrc' + 'bashrc' + 'bash_aliases' + 'bash_profile' + 'bash_login' + 'profile' + 'bash_logout' + 'npmrc' + 'PKGBUILD' + 'install' + 'cygport' + 'bats' + 'ebuild' ] injectionRegex: '^(bash|sh|BASH|SH)$' From daf063750ece77429f960ea3a096c95972557b56 Mon Sep 17 00:00:00 2001 From: Andrew Dupont Date: Tue, 19 Dec 2023 00:53:37 -0800 Subject: [PATCH 03/68] Do the same for the modern Tree-sitter grammar --- .../grammars/modern-tree-sitter-bash.cson | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/packages/language-shellscript/grammars/modern-tree-sitter-bash.cson b/packages/language-shellscript/grammars/modern-tree-sitter-bash.cson index a814a7b1e5..965f0c5fe3 100644 --- a/packages/language-shellscript/grammars/modern-tree-sitter-bash.cson +++ b/packages/language-shellscript/grammars/modern-tree-sitter-bash.cson @@ -6,6 +6,26 @@ parser: 'tree-sitter-bash' fileTypes: [ 'sh' 'bash' + 'ksh' + 'zsh' + 'zsh-theme' + 'zshenv' + 'zlogin' + 'zlogout' + 'zprofile' + 'zshrc' + 'bashrc' + 'bash_aliases' + 'bash_profile' + 'bash_login' + 'profile' + 'bash_logout' + 'npmrc' + 'PKGBUILD' + 'install' + 'cygport' + 'bats' + 'ebuild' ] firstLineRegex: [ From 818d20471651470df9017765472c18b9a02e33fe Mon Sep 17 00:00:00 2001 From: Andrew Dupont Date: Tue, 19 Dec 2023 00:54:02 -0800 Subject: [PATCH 04/68] [tree-sitter] Add the pipe character (`|`) as an operator --- .../language-shellscript/grammars/tree-sitter/highlights.scm | 3 +++ 1 file changed, 3 insertions(+) diff --git a/packages/language-shellscript/grammars/tree-sitter/highlights.scm b/packages/language-shellscript/grammars/tree-sitter/highlights.scm index b969e01bda..635547c97b 100644 --- a/packages/language-shellscript/grammars/tree-sitter/highlights.scm +++ b/packages/language-shellscript/grammars/tree-sitter/highlights.scm @@ -103,6 +103,9 @@ (list ["&&" "||"] @keyword.operator.logical.shell) (binary_expression ["&&" "||"] @keyword.operator.logical.shell) +(pipeline "|" @keyword.operator.pipe.shell) + + ; "*" @keyword.operator.glob.shell [ From 037377a6b72200331882ccf5fee5601a3e203480 Mon Sep 17 00:00:00 2001 From: Andrew Dupont Date: Thu, 21 Dec 2023 12:31:27 -0600 Subject: [PATCH 05/68] =?UTF-8?q?[tree-sitter]=20Ruby=20fixes=E2=80=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Show `def self.foo` methods as `self.foo` in the symbols list. * Highlight the `foo` in `def self.foo` as a method name. * Properly highlight `..` and `...` range operators. * Highlight keyword parameters as `variable.parameter.keyword`. --- packages/language-ruby/grammars/ts/highlights.scm | 9 +++++++++ packages/language-ruby/grammars/ts/tags.scm | 5 ++++- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/packages/language-ruby/grammars/ts/highlights.scm b/packages/language-ruby/grammars/ts/highlights.scm index 4359b111a2..0d9b19784b 100644 --- a/packages/language-ruby/grammars/ts/highlights.scm +++ b/packages/language-ruby/grammars/ts/highlights.scm @@ -129,6 +129,10 @@ "." @keyword.operator.accessor.ruby ) @meta.function.method.with-arguments +(singleton_method + name: (identifier) @entity.name.function.ruby + (#set! capture.final "true")) + (call method: (identifier) @keyword.other.special-method (#match? @keyword.other.special-method "^(raise|loop)$")) @@ -202,6 +206,8 @@ (#set! adjust.endAt firstChild.nextSibling.endPosition) (#set! capture.final true)) +(keyword_parameter name: (identifier) @variable.parameter.keyword.ruby) + ; This scope should span both the key and the adjacent colon. ((pair key: (hash_key_symbol)) @constant.other.symbol.hashkey.ruby (#set! adjust.startAt firstChild.startPosition) @@ -487,6 +493,9 @@ "&" ] @keyword.operator.other.ruby +".." @keyword.operator.range.inclusive.ruby +"..." @keyword.operator.range.exclusive.ruby + [ "==" "===" diff --git a/packages/language-ruby/grammars/ts/tags.scm b/packages/language-ruby/grammars/ts/tags.scm index 5a6bda78df..2d270a724d 100644 --- a/packages/language-ruby/grammars/ts/tags.scm +++ b/packages/language-ruby/grammars/ts/tags.scm @@ -21,7 +21,10 @@ ; Method names (method name: (_) @name) @definition.method -(singleton_method name: (_) @name) @definition.method +( + (singleton_method name: (_) @name) @definition.method + (#set! symbol.prepend "self.")) + ; Aliased methods (alias name: (_) @name) @definition.method From 1ed79e21e1cf8eb305b6ead3836ddf7cdea1bd11 Mon Sep 17 00:00:00 2001 From: Andrew Dupont Date: Sat, 23 Dec 2023 10:06:09 -0600 Subject: [PATCH 06/68] [tree-sitter] Fix indentation hinting at the edges of injections When the cursor is placed right where an injection _starts_, and the user presses Return, we usually shouldn't use the injection layer for hinting. --- src/wasm-tree-sitter-language-mode.js | 24 +++++++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) diff --git a/src/wasm-tree-sitter-language-mode.js b/src/wasm-tree-sitter-language-mode.js index 7404083bf4..f235d32038 100644 --- a/src/wasm-tree-sitter-language-mode.js +++ b/src/wasm-tree-sitter-language-mode.js @@ -1214,7 +1214,25 @@ class WASMTreeSitterLanguageMode { // `indents.scm`, perhaps with an explanatory comment.) let controllingLayer = this.controllingLayerAtPoint( comparisonRowEnd, - (layer) => !!layer.indentsQuery + (layer) => { + if (!layer.indentsQuery) return false; + // We want to exclude layers with a content range that _begins at_ the + // cursor position. Why? Because the content that starts at the cursor + // is about to shift down to the next line. It'd be odd if that layer + // was in charge of the indentation hint if it didn't have any content + // on the preceding line. + // + // So first we test for containment exclusive of endpoints… + if (layer.containsPoint(comparisonRowEnd, true)) { + return true; + } + + // …but we'll still accept layers that have a content range which + // _ends_ at the cursor position. + return layer.getCurrentRanges().some(r => { + return r.end.compare(comparisonRowEnd) === 0; + }); + } ); if (!controllingLayer) { @@ -3687,9 +3705,9 @@ class LanguageLayer { return markers.map(m => m.getRange()); } - containsPoint(point) { + containsPoint(point, exclusive = false) { let ranges = this.getCurrentRanges() ?? [this.getExtent()]; - return ranges.some(r => r.containsPoint(point)); + return ranges.some(r => r.containsPoint(point, exclusive)); } getOrParseTree({ force = true, anonymous = false } = {}) { From fdc70fc4a5f9d68a62972ba6bbf2e5c14c7720d7 Mon Sep 17 00:00:00 2001 From: Andrew Dupont Date: Sat, 23 Dec 2023 10:06:31 -0600 Subject: [PATCH 07/68] [tree-sitter] Highlight an obscure inheritance construct properly in C++ --- packages/language-c/grammars/tree-sitter-cpp/highlights.scm | 3 +++ 1 file changed, 3 insertions(+) diff --git a/packages/language-c/grammars/tree-sitter-cpp/highlights.scm b/packages/language-c/grammars/tree-sitter-cpp/highlights.scm index f6a745189d..335640633d 100644 --- a/packages/language-c/grammars/tree-sitter-cpp/highlights.scm +++ b/packages/language-c/grammars/tree-sitter-cpp/highlights.scm @@ -138,6 +138,9 @@ (function_declarator (field_identifier) @entity.name.function.method.cpp) +(field_initializer + (field_identifier) @entity.name.function.cpp) + (call_expression (identifier) @support.function.c99.cpp ; Regex copied from the TM grammar. From 20a64bdbfb8ea1c2c285dc622d85c69c643f37ac Mon Sep 17 00:00:00 2001 From: Andrew Dupont Date: Sat, 23 Dec 2023 11:11:11 -0600 Subject: [PATCH 08/68] =?UTF-8?q?Allow=20`suggestedIndentForBufferRows`=20?= =?UTF-8?q?to=20work=20correctly=E2=80=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit …when auto-indenting the entire buffer. --- src/wasm-tree-sitter-language-mode.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/wasm-tree-sitter-language-mode.js b/src/wasm-tree-sitter-language-mode.js index f235d32038..24c08e8580 100644 --- a/src/wasm-tree-sitter-language-mode.js +++ b/src/wasm-tree-sitter-language-mode.js @@ -1229,7 +1229,7 @@ class WASMTreeSitterLanguageMode { // …but we'll still accept layers that have a content range which // _ends_ at the cursor position. - return layer.getCurrentRanges().some(r => { + return layer.getCurrentRanges()?.some(r => { return r.end.compare(comparisonRowEnd) === 0; }); } @@ -1519,7 +1519,7 @@ class WASMTreeSitterLanguageMode { // because we start at the previous row to find the suggested indent for // the current row. let controllingLayer = this.controllingLayerAtPoint( - new Point(row - 1, Infinity), + this.buffer.clipPosition(new Point(row - 1, Infinity)), (layer) => !!layer.indentsQuery && !!layer.tree ); From be37b26df573d669c62096d04f614a2b2ad560a9 Mon Sep 17 00:00:00 2001 From: Andrew Dupont Date: Sun, 24 Dec 2023 14:53:07 -0600 Subject: [PATCH 09/68] [tree-sitter] Don't highlight JS default param values like parameters --- packages/language-javascript/grammars/ts/highlights.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/language-javascript/grammars/ts/highlights.scm b/packages/language-javascript/grammars/ts/highlights.scm index faf170e16b..0b6033ae20 100644 --- a/packages/language-javascript/grammars/ts/highlights.scm +++ b/packages/language-javascript/grammars/ts/highlights.scm @@ -203,7 +203,7 @@ ; The "foo" in `function (foo = false) {`. (formal_parameters (assignment_pattern - (identifier) @variable.parameter.js)) + left: (identifier) @variable.parameter.js)) ; FUNCTIONS From f6bb61f98468432827c3d9d7326bc0b26e76cb2e Mon Sep 17 00:00:00 2001 From: Andrew Dupont Date: Sun, 24 Dec 2023 22:08:05 -0600 Subject: [PATCH 10/68] [tree-sitter] Highlight assertion function clauses in TypeScript --- packages/language-typescript/grammars/common/highlights.scm | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/packages/language-typescript/grammars/common/highlights.scm b/packages/language-typescript/grammars/common/highlights.scm index 218cd8651e..978bea600b 100644 --- a/packages/language-typescript/grammars/common/highlights.scm +++ b/packages/language-typescript/grammars/common/highlights.scm @@ -58,6 +58,11 @@ name: (identifier) @variable.other.type._LANG_ "is" @keyword.operator.type.is._LANG_) +; Assertion functions: the `asserts` in +; `function checkFoo(obj: unknown): asserts obj is foo` +(asserts "asserts" @keyword.type.asserts._LANG_) +(asserts (identifier) @variable.other.type._LANG_) + ["var" "const" "let"] @storage.type._TYPE_._LANG_ ; A simple variable declaration: @@ -406,6 +411,7 @@ (generator_function_declaration "*" @storage.modifier.generator._LANG_) (method_definition "*" @storage.modifier.generator._LANG_) + ; SUPPORT ; ======= From da100362515bfde2c6a685c0df1a9bacbda86218 Mon Sep 17 00:00:00 2001 From: Andrew Dupont Date: Mon, 25 Dec 2023 11:38:18 -0600 Subject: [PATCH 11/68] [tree-sitter] Fix JSX dedent logic --- packages/language-javascript/grammars/ts/indents.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/language-javascript/grammars/ts/indents.scm b/packages/language-javascript/grammars/ts/indents.scm index 6aab803c11..077f2f9313 100644 --- a/packages/language-javascript/grammars/ts/indents.scm +++ b/packages/language-javascript/grammars/ts/indents.scm @@ -157,6 +157,6 @@ (jsx_opening_element ["<" ">"] @indent) -(jsx_opening_element [">"] @dedent) +; (jsx_opening_element [">"]) @dedent -(jsx_closing_element ">" @dedent) +(jsx_closing_element ">") @dedent From bc55c4fce3ee26b4c5d83b7dca93f8994e32e42c Mon Sep 17 00:00:00 2001 From: Andrew Dupont Date: Mon, 25 Dec 2023 17:54:18 -0600 Subject: [PATCH 12/68] [tree-sitter] Further JSX indent fixes for JS and TS alike --- .../grammars/ts/indents.scm | 38 +++++++++++++++++-- .../grammars/tree-sitter-tsx/indents.scm | 27 +++++++++++-- 2 files changed, 58 insertions(+), 7 deletions(-) diff --git a/packages/language-javascript/grammars/ts/indents.scm b/packages/language-javascript/grammars/ts/indents.scm index 077f2f9313..0a9b558e75 100644 --- a/packages/language-javascript/grammars/ts/indents.scm +++ b/packages/language-javascript/grammars/ts/indents.scm @@ -155,8 +155,38 @@ ; JSX ; === - -(jsx_opening_element ["<" ">"] @indent) -; (jsx_opening_element [">"]) @dedent - +(jsx_opening_element [">"] @indent) +; Support things like… +;
+(jsx_opening_element ["<"] @indent + (#is-not? test.startsOnSameRowAs parent.lastChild)) +((jsx_opening_element [">"] @dedent) + (#is-not? test.startsOnSameRowAs parent.firstChild)) + +; We match on the whole node here because +; (a) we need to please the dedent-while-typing heuristic, so the line text +; must match the capture node's text; and +; (b) we don't want the dedent to trigger until the very last `>` has been +; typed. (jsx_closing_element ">") @dedent + +; Support things like… +; {'foo'} +(jsx_self_closing_element "<" @indent + (#is-not? test.startsOnSameRowAs parent.lastChild)) + +; There isn't a single node whose exact text will match the line content at any +; point, so the usual heuristic won't work. Instead we set `indent.force` and +; use `test.lastTextOnRow` to ensure that the dedent fires exactly once while +; typing. +((jsx_self_closing_element ">" @dedent) + (#is-not? test.startsOnSameRowAs parent.firstChild) + (#is? test.lastTextOnRow) + (#set! indent.force true)) diff --git a/packages/language-typescript/grammars/tree-sitter-tsx/indents.scm b/packages/language-typescript/grammars/tree-sitter-tsx/indents.scm index bd25180c16..ce8984c3f1 100644 --- a/packages/language-typescript/grammars/tree-sitter-tsx/indents.scm +++ b/packages/language-typescript/grammars/tree-sitter-tsx/indents.scm @@ -2,7 +2,28 @@ ; JSX ; === -(jsx_opening_element ["<" ">"] @indent) -(jsx_opening_element [">"] @dedent) +(jsx_opening_element [">"] @indent) +(jsx_opening_element ["<"] @indent + (#is-not? test.startsOnSameRowAs parent.lastChild)) +((jsx_opening_element [">"] @dedent) + (#is-not? test.startsOnSameRowAs parent.firstChild)) -(jsx_closing_element ">" @dedent) +(jsx_closing_element ">") @dedent + +; Support things like… +; {'foo'} +(jsx_self_closing_element "<" @indent + (#is-not? test.startsOnSameRowAs parent.lastChild)) + +; There isn't a single node whose exact text will match the line content at any +; point, so the usual heuristic won't work. Instead we set `indent.force` and +; use `test.lastTextOnRow` to ensure that the dedent fires exactly once while +; typing. +((jsx_self_closing_element ">" @dedent) + (#is-not? test.startsOnSameRowAs parent.firstChild) + (#is? test.lastTextOnRow) + (#set! indent.force true)) From 7b4a50d2b50f657ba4a22c3dc3c59cdcb3bbf526 Mon Sep 17 00:00:00 2001 From: Andrew Dupont Date: Mon, 25 Dec 2023 18:04:44 -0600 Subject: [PATCH 13/68] (oops) --- .../grammars/ts/indents.scm | 8 ++++---- .../grammars/tree-sitter-tsx/indents.scm | 19 +++++++++++++++---- 2 files changed, 19 insertions(+), 8 deletions(-) diff --git a/packages/language-javascript/grammars/ts/indents.scm b/packages/language-javascript/grammars/ts/indents.scm index 0a9b558e75..dfac5ef7e4 100644 --- a/packages/language-javascript/grammars/ts/indents.scm +++ b/packages/language-javascript/grammars/ts/indents.scm @@ -162,9 +162,9 @@ ; onClick={onClick} ; > (jsx_opening_element ["<"] @indent - (#is-not? test.startsOnSameRowAs parent.lastChild)) + (#is-not? test.startsOnSameRowAs parent.lastChild.startPosition)) ((jsx_opening_element [">"] @dedent) - (#is-not? test.startsOnSameRowAs parent.firstChild)) + (#is-not? test.startsOnSameRowAs parent.firstChild.startPosition)) ; We match on the whole node here because ; (a) we need to please the dedent-while-typing heuristic, so the line text @@ -180,13 +180,13 @@ ; alt={'foo'} ; /> (jsx_self_closing_element "<" @indent - (#is-not? test.startsOnSameRowAs parent.lastChild)) + (#is-not? test.startsOnSameRowAs parent.lastChild.startPosition)) ; There isn't a single node whose exact text will match the line content at any ; point, so the usual heuristic won't work. Instead we set `indent.force` and ; use `test.lastTextOnRow` to ensure that the dedent fires exactly once while ; typing. ((jsx_self_closing_element ">" @dedent) - (#is-not? test.startsOnSameRowAs parent.firstChild) + (#is-not? test.startsOnSameRowAs parent.firstChild.startPosition) (#is? test.lastTextOnRow) (#set! indent.force true)) diff --git a/packages/language-typescript/grammars/tree-sitter-tsx/indents.scm b/packages/language-typescript/grammars/tree-sitter-tsx/indents.scm index ce8984c3f1..3a12735e84 100644 --- a/packages/language-typescript/grammars/tree-sitter-tsx/indents.scm +++ b/packages/language-typescript/grammars/tree-sitter-tsx/indents.scm @@ -3,11 +3,22 @@ ; === (jsx_opening_element [">"] @indent) + +; Support things like… +;
(jsx_opening_element ["<"] @indent - (#is-not? test.startsOnSameRowAs parent.lastChild)) + (#is-not? test.startsOnSameRowAs parent.lastChild.startPosition)) ((jsx_opening_element [">"] @dedent) - (#is-not? test.startsOnSameRowAs parent.firstChild)) + (#is-not? test.startsOnSameRowAs parent.firstChild.startPosition)) +; We match on the whole node here because +; (a) we need to please the dedent-while-typing heuristic, so the line text +; must match the capture node's text; and +; (b) we don't want the dedent to trigger until the very last `>` has been +; typed. (jsx_closing_element ">") @dedent ; Support things like… @@ -17,13 +28,13 @@ ; alt={'foo'} ; /> (jsx_self_closing_element "<" @indent - (#is-not? test.startsOnSameRowAs parent.lastChild)) + (#is-not? test.startsOnSameRowAs parent.lastChild.startPosition)) ; There isn't a single node whose exact text will match the line content at any ; point, so the usual heuristic won't work. Instead we set `indent.force` and ; use `test.lastTextOnRow` to ensure that the dedent fires exactly once while ; typing. ((jsx_self_closing_element ">" @dedent) - (#is-not? test.startsOnSameRowAs parent.firstChild) + (#is-not? test.startsOnSameRowAs parent.firstChild.startPosition) (#is? test.lastTextOnRow) (#set! indent.force true)) From 66aea45ffea3600cc4fa5b5079e95c8290bc0d46 Mon Sep 17 00:00:00 2001 From: Andrew Dupont Date: Thu, 28 Dec 2023 21:57:46 -0800 Subject: [PATCH 14/68] [tree-sitter] Fixes for shell script highlighting --- .../grammars/tree-sitter/highlights.scm | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/packages/language-shellscript/grammars/tree-sitter/highlights.scm b/packages/language-shellscript/grammars/tree-sitter/highlights.scm index 635547c97b..eaf6fcee2f 100644 --- a/packages/language-shellscript/grammars/tree-sitter/highlights.scm +++ b/packages/language-shellscript/grammars/tree-sitter/highlights.scm @@ -11,11 +11,14 @@ (#eq? @keyword.control.return.shell "return") (#set! capture.final true)) -((command_name) @support.function.builtin.shell - (#match? @support.function.builtin.shell "^(?:alias|bg|bind|break|builtin|caller|cd|command|compgen|complete|dirs|disown|echo|enable|eval|exec|exit|false|fc|fg|getopts|hash|help|history|jobs|kill|let|logout|popd|printf|pushd|pwd|read|readonly|set|shift|shopt|source|suspend|test|times|trap|true|type|ulimit|umask|unalias|unset|wait)$") +((command_name) @support.function.builtin._TEXT_.shell + (#match? @support.function.builtin._TEXT_.shell "^(?:alias|bg|bind|break|builtin|caller|cd|command|compgen|complete|dirs|disown|echo|enable|eval|exec|exit|false|fc|fg|getopts|hash|help|history|jobs|kill|let|logout|popd|printf|pushd|pwd|read|readonly|set|shift|shopt|source|suspend|test|times|trap|true|type|ulimit|umask|unalias|unset|wait)$") (#set! capture.final true)) -(command_name) @support.other.function.shell +(unset_command "unset" @support.function.builtin.unset.shell) + +((command_name) @support.other.function.shell + (#is-not? test.descendantOfType "command_substitution")) [ @@ -44,7 +47,7 @@ "$" @punctuation.definition.variable.shell (variable_name)) (expansion "${" @punctuation.definition.variable.begin.shell - (variable_name) + ; (variable_name) "}" @punctuation.definition.variable.end.shell) @variable.other.bracket.shell @@ -84,7 +87,10 @@ (#set! adjust.startAndEndAroundFirstMatchOf ".$")) (string - (command_substitution) @meta.embedded.line.subshell.shell) + (command_substitution) @meta.embedded.line.subshell.shell + (#set! capture.final true)) + +(command_substitution) @string.interpolation.backtick.shell (heredoc_start) @punctuation.definition.string.begin.heredoc.shell (heredoc_body) @string.unquoted.heredoc.shell @@ -104,6 +110,7 @@ (binary_expression ["&&" "||"] @keyword.operator.logical.shell) (pipeline "|" @keyword.operator.pipe.shell) +(expansion operator: "#" @keyword.operator.expansion.shell) ; "*" @keyword.operator.glob.shell @@ -145,6 +152,8 @@ destination: (word) @constant.numeric.file-descriptor.shell (#match? @constant.numeric.file-descriptor.shell "^[12]$")) +(number) @constant.numeric.decimal.shell + (test_command "[[" @punctuation.brace.double-square.begin.shell) (test_command From 294134c5443cf74b0bda9c17b158ec2b56477242 Mon Sep 17 00:00:00 2001 From: Andrew Dupont Date: Mon, 1 Jan 2024 16:58:07 -0800 Subject: [PATCH 15/68] [tree-sitter] Highlight private fields similarly to other JS properties --- .../grammars/ts/highlights.scm | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/packages/language-javascript/grammars/ts/highlights.scm b/packages/language-javascript/grammars/ts/highlights.scm index 0b6033ae20..c34c7418b8 100644 --- a/packages/language-javascript/grammars/ts/highlights.scm +++ b/packages/language-javascript/grammars/ts/highlights.scm @@ -74,7 +74,13 @@ ; The "bar" in `foo.bar = true` (assignment_expression left: (member_expression - property: (property_identifier)) @variable.other.assignment.property.js) + property: (property_identifier) @variable.other.assignment.property.js)) + +; The "bar" in `foo.#bar = true` +(assignment_expression + left: (member_expression + property: (private_property_identifier) @variable.other.assignment.property.private.js)) + ; The "foo" in `foo += 1`. (augmented_assignment_expression @@ -84,6 +90,9 @@ (update_expression argument: (identifier) @variable.other.assignment.js) +(field_definition + property: (private_property_identifier) @variable.other.assignment.property.private.js) + ; `object_pattern` appears to only be encountered in assignment expressions, so ; this won't match other uses of object/prop shorthand. ; @@ -451,6 +460,10 @@ (member_expression property: (property_identifier) @support.other.property.js) +; The "#bar" in `foo.#bar`, `foo.#bar.baz`, and `foo.#bar[baz]`. +(member_expression + property: (private_property_identifier) @support.other.property.private.js) + ; The "BAR" in `foo.BAR` should also be scoped as a constant. (member_expression property: (property_identifier) @constant.other.property.js From ee54d3727c744e53400134ce1ddcb668f4751852 Mon Sep 17 00:00:00 2001 From: Andrew Dupont Date: Tue, 2 Jan 2024 17:03:39 -0800 Subject: [PATCH 16/68] [tree-sitter] Highlight TypeScript `infer` clauses properly --- .../grammars/common/highlights.scm | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/packages/language-typescript/grammars/common/highlights.scm b/packages/language-typescript/grammars/common/highlights.scm index 978bea600b..68c4b3462e 100644 --- a/packages/language-typescript/grammars/common/highlights.scm +++ b/packages/language-typescript/grammars/common/highlights.scm @@ -159,6 +159,12 @@ ; The "foo" in `(foo => …)` (arrow_function parameter: (identifier) @variable.parameter._LANG_) +; `infer` keywords inside `extends` clauses function as a sort of type +; parameter, so we'll try highlighting them that way. +; +; TODO: We may or may not want `capture.final` here. +(infer_type (type_identifier) @variable.parameter.type._LANG_ + (#set! capture.final true)) ; COMMENTS ; ======== @@ -260,7 +266,7 @@ ; ===== ["var" "let" "const"] @storage.modifier._TYPE_._LANG_ -["extends" "static" "async"] @storage.modifier._TYPE_._LANG_ +["extends" "static" "async" "infer"] @storage.modifier._TYPE_._LANG_ ["class" "function"] @storage.type._TYPE_._LANG_ @@ -754,6 +760,9 @@ (ternary_expression ["?" ":"] @keyword.operator.ternary._LANG_) +(conditional_type + ["?" ":"] @keyword.operator.ternary._LANG_) + ; PUNCTUATION ; =========== From d6f8a3c43fa772a8d441024637f81e6a29423ef2 Mon Sep 17 00:00:00 2001 From: Andrew Dupont Date: Fri, 5 Jan 2024 00:18:11 -0800 Subject: [PATCH 17/68] Add a modern Tree-sitter PHP grammar MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This one’s got all the frills, including injections into HTML documents and a PHPDoc grammar. As part of this change, we're also migrating to `web-tree-sitter` version 0.20.8 with some customizations. The PR I submitted at https://github.com/tree-sitter/tree-sitter/pull/2795 is landed on this fork, though if the same issues get fixed in a different way on the source, I'll adopt that approach as well. The PHPDoc parser needed another external added. --- .../grammars/modern-tree-sitter-php-html.cson | 33 + .../grammars/modern-tree-sitter-php.cson | 11 + .../grammars/modern-tree-sitter-phpdoc.cson | 11 + .../grammars/tree-sitter/queries/empty.scm | 1 + .../grammars/tree-sitter/queries/folds.scm | 1 + .../tree-sitter/queries/highlights-html.scm | 1 + .../tree-sitter/queries/highlights.scm | 444 ++++ .../grammars/tree-sitter/queries/indents.scm | 8 + .../tree-sitter/queries/phpdoc/highlights.scm | 17 + .../grammars/tree-sitter/queries/tags.scm | 41 + .../grammars/tree-sitter/tree-sitter-php.wasm | Bin 0 -> 731484 bytes .../tree-sitter/tree-sitter-phpdoc.wasm | Bin 0 -> 176393 bytes packages/language-php/lib/main.js | 132 + packages/language-php/package.json | 3 +- src/wasm-tree-sitter-language-mode.js | 8 +- vendor/web-tree-sitter/tree-sitter.js | 2158 +++++++++-------- vendor/web-tree-sitter/tree-sitter.wasm | Bin 179536 -> 191227 bytes 17 files changed, 1887 insertions(+), 982 deletions(-) create mode 100644 packages/language-php/grammars/modern-tree-sitter-php-html.cson create mode 100644 packages/language-php/grammars/modern-tree-sitter-php.cson create mode 100644 packages/language-php/grammars/modern-tree-sitter-phpdoc.cson create mode 100644 packages/language-php/grammars/tree-sitter/queries/empty.scm create mode 100644 packages/language-php/grammars/tree-sitter/queries/folds.scm create mode 100644 packages/language-php/grammars/tree-sitter/queries/highlights-html.scm create mode 100644 packages/language-php/grammars/tree-sitter/queries/highlights.scm create mode 100644 packages/language-php/grammars/tree-sitter/queries/indents.scm create mode 100644 packages/language-php/grammars/tree-sitter/queries/phpdoc/highlights.scm create mode 100644 packages/language-php/grammars/tree-sitter/queries/tags.scm create mode 100755 packages/language-php/grammars/tree-sitter/tree-sitter-php.wasm create mode 100755 packages/language-php/grammars/tree-sitter/tree-sitter-phpdoc.wasm create mode 100644 packages/language-php/lib/main.js diff --git a/packages/language-php/grammars/modern-tree-sitter-php-html.cson b/packages/language-php/grammars/modern-tree-sitter-php-html.cson new file mode 100644 index 0000000000..a1f6ff0c3b --- /dev/null +++ b/packages/language-php/grammars/modern-tree-sitter-php-html.cson @@ -0,0 +1,33 @@ +name: 'PHP' +scopeName: 'text.html.php' +type: 'modern-tree-sitter' +parser: 'tree-sitter-php' + +injectionRegex: 'php|PHP' + +treeSitter: + grammar: 'tree-sitter/tree-sitter-php.wasm' + highlightsQuery: 'tree-sitter/queries/highlights.scm' + tagsQuery: 'tree-sitter/queries/tags.scm' + foldsQuery: 'tree-sitter/queries/folds.scm' + indentsQuery: 'tree-sitter/queries/indents.scm' + +fileTypes: [ + 'aw' + 'ctp' + 'inc' + 'install' + 'module' + 'php' + 'php_cs' + 'php3' + 'php4' + 'php5' + 'phpt' + 'phtml' + 'profile' +] + +firstLineRegex: "^\\#!.*(?:\\s|\\/)php\\d?(?:$|\\s)|^\\s*<\\?(php|=|\\s|$)" + +contentRegex: "<\\?(php|=|\\s|$)" diff --git a/packages/language-php/grammars/modern-tree-sitter-php.cson b/packages/language-php/grammars/modern-tree-sitter-php.cson new file mode 100644 index 0000000000..f2101fb876 --- /dev/null +++ b/packages/language-php/grammars/modern-tree-sitter-php.cson @@ -0,0 +1,11 @@ +scopeName: 'source.php' +type: 'modern-tree-sitter' +parser: 'tree-sitter-php' + +# Give it a precise injectionRegex that won't get accidentally matched with +# anything. This grammar only exists as a way to apply the `source.php` scope. +injectionRegex: '^(internal-php)$' + +treeSitter: + grammar: 'tree-sitter/tree-sitter-php.wasm' + highlightsQuery: 'tree-sitter/queries/empty.scm' diff --git a/packages/language-php/grammars/modern-tree-sitter-phpdoc.cson b/packages/language-php/grammars/modern-tree-sitter-phpdoc.cson new file mode 100644 index 0000000000..a3a43b1c7d --- /dev/null +++ b/packages/language-php/grammars/modern-tree-sitter-phpdoc.cson @@ -0,0 +1,11 @@ + +scopeName: 'comment.block.documentation.phpdoc.php' +type: 'modern-tree-sitter' +parser: 'tree-sitter-phpdoc' + +injectionRegex: '^(phpdoc|PHPDoc)$' + +treeSitter: + parserSource: 'github:claytonrcarter/tree-sitter-phpdoc#915a527d5aafa81b31acf67fab31b0ac6b6319c0' + grammar: 'tree-sitter/tree-sitter-phpdoc.wasm' + highlightsQuery: 'tree-sitter/queries/phpdoc/highlights.scm' diff --git a/packages/language-php/grammars/tree-sitter/queries/empty.scm b/packages/language-php/grammars/tree-sitter/queries/empty.scm new file mode 100644 index 0000000000..447212118b --- /dev/null +++ b/packages/language-php/grammars/tree-sitter/queries/empty.scm @@ -0,0 +1 @@ +; placeholder diff --git a/packages/language-php/grammars/tree-sitter/queries/folds.scm b/packages/language-php/grammars/tree-sitter/queries/folds.scm new file mode 100644 index 0000000000..092bc2b041 --- /dev/null +++ b/packages/language-php/grammars/tree-sitter/queries/folds.scm @@ -0,0 +1 @@ +; diff --git a/packages/language-php/grammars/tree-sitter/queries/highlights-html.scm b/packages/language-php/grammars/tree-sitter/queries/highlights-html.scm new file mode 100644 index 0000000000..5fbb4b9d39 --- /dev/null +++ b/packages/language-php/grammars/tree-sitter/queries/highlights-html.scm @@ -0,0 +1 @@ +; Placeholder diff --git a/packages/language-php/grammars/tree-sitter/queries/highlights.scm b/packages/language-php/grammars/tree-sitter/queries/highlights.scm new file mode 100644 index 0000000000..db67585f60 --- /dev/null +++ b/packages/language-php/grammars/tree-sitter/queries/highlights.scm @@ -0,0 +1,444 @@ +; (program +; (_) @source.php +; (#is-not? test.type text) +; (#is-not? test.type text_interpolation)) + + +; SUPPORT +; ======= + +(array_creation_expression + "array" @support.function.builtin.array.php) + +(list_literal "list" @support.function.builtin.list.php) + +; The list of standard library methods in `php.cson` is… a lot. This is my +; biased attempt to pare it down to the most important functions. + +(function_call_expression + function: (name) @support.function.array.php + (#match? @support.function.array.php "^(shuffle|sizeof|sort|next|nat(case)?sort|count|compact|current|in_array|usort|uksort|uasort|pos|prev|end|each|extract|ksort|key(_exists)?|krsort|list|asort|arsort|rsort|reset|range|array(_(shift|sum|splice|search|slice|chunk|change_key_case|count_values|column|combine|(diff|intersect)(_(u)?(key|assoc))?|u(diff|intersect)(_(u)?assoc)?|unshift|unique|pop|push|pad|product|values|keys|key_exists|filter|fill(_keys)?|flip|walk(_recursive)?|reduce|replace(_recursive)?|reverse|rand|multisort|merge(_recursive)?|map)?))$")) + +(function_call_expression + function: (name) @support.function.basic-functions.php + (#match? @support.function.basic-functions.php "^(show_source|sys_getloadavg|sleep|highlight_(file|string)|constant|connection_(aborted|status)|time_(nanosleep|sleep_until)|ignore_user_abort|die|define(d)?|usleep|uniqid|unpack|__halt_compiler|php_(check_syntax|strip_whitespace)|pack|eval|exit|get_browser)$")) + +(function_call_expression + function: (name) @support.function.bcmath.php + (#match? @support.function.bcmath.php "^(bc(scale|sub|sqrt|comp|div|pow(mod)?|add|mod|mul))$")) + +(function_call_expression + function: (name) @support.function.class-obj.php + (#match? @support.function.class-obj.php "^(class_alias|all_user_method(_array)?|is_(a|subclass_of)|__autoload|(class|interface|method|property|trait)_exists|get_(class(_(vars|methods))?|(called|parent)_class|object_vars|declared_(classes|interfaces|traits)))$")) + +(function_call_expression + function: (name) @support.function.construct.php + (#match? @support.function.construct.php "^(isset|unset|eval|empty)$")) + +(function_call_expression + function: (name) @support.function.construct.output.php + (#match? @support.function.construct.output.php "^(print|echo)$")) + +(function_call_expression + function: (name) @support.function.curl.php + (#match? @support.function.curl.php "^(curl_(share_(close|init|setopt)|strerror|setopt(_array)?|copy_handle|close|init|unescape|pause|escape|errno|error|exec|version|file_create|reset|getinfo|multi_(strerror|setopt|select|close|init|info_read|(add|remove)_handle|getcontent|exec)))$")) + +(function_call_expression + function: (name) @support.function.datetime.php + (#match? @support.function.datetime.php "^(strtotime|str[fp]time|checkdate|time|timezone_name_(from_abbr|get)|idate|timezone_((location|offset|transitions|version)_get|(abbreviations|identifiers)_list|open)|date(_(sun(rise|set)|sun_info|sub|create(_(immutable_)?from_format)?|timestamp_(get|set)|timezone_(get|set)|time_set|isodate_set|interval_(create_from_date_string|format)|offset_get|diff|default_timezone_(get|set)|date_set|parse(_from_format)?|format|add|get_last_errors|modify))?|localtime|get(date|timeofday)|gm(strftime|date|mktime)|microtime|mktime)$")) + +(function_call_expression + function: (name) @support.function.dir.php + (#match? @support.function.dir.php "^(scandir|chdir|chroot|closedir|opendir|dir|rewinddir|readdir|getcwd)$")) + +(function_call_expression + function: (name) @support.function.ereg.php + (#match? @support.function.ereg.php "^(split(i)?|sql_regcase|ereg(i)?(_replace)?)$")) + +(function_call_expression + function: (name) @support.function.errorfunc.php + (#match? @support.function.errorfunc.php "^((restore|set)_(error_handler|exception_handler)|trigger_error|debug_(print_)?backtrace|user_error|error_(log|reporting|get_last))$")) + +(function_call_expression + function: (name) @support.function.exec.php + (#match? @support.function.exec.php "^(shell_exec|system|passthru|proc_(nice|close|terminate|open|get_status)|escapeshell(arg|cmd)|exec)$")) + +(function_call_expression + function: (name) @support.function.file.php + (#match? @support.function.file.php "^(symlink|stat|set_file_buffer|chown|chgrp|chmod|copy|clearstatcache|touch|tempnam|tmpfile|is_(dir|(uploaded_)?file|executable|link|readable|writ(e)?able)|disk_(free|total)_space|diskfreespace|dirname|delete|unlink|umask|pclose|popen|pathinfo|parse_ini_(file|string)|fscanf|fstat|fseek|fnmatch|fclose|ftell|ftruncate|file(size|[acm]time|type|inode|owner|perms|group)?|file_(exists|(get|put)_contents)|f(open|puts|putcsv|passthru|eof|flush|write|lock|read|gets(s)?|getc(sv)?)|lstat|lchown|lchgrp|link(info)?|rename|rewind|read(file|link)|realpath(_cache_(get|size))?|rmdir|glob|move_uploaded_file|mkdir|basename)$")) + +(function_call_expression + function: (name) @support.function.fileinfo.php + (#match? @support.function.fileinfo.php "^(finfo_(set_flags|close|open|file|buffer)|mime_content_type)$")) + +(function_call_expression + function: (name) @support.function.filter.php + (#match? @support.function.filter.php "^(filter_(has_var|input(_array)?|id|var(_array)?|list))$")) + +(function_call_expression + function: (name) @support.function.funchand.php + (#match? @support.function.funchand.php "^(call_user_(func|method)(_array)?|create_function|unregister_tick_function|forward_static_call(_array)?|function_exists|func_(num_args|get_arg(s)?)|register_(shutdown|tick)_function|get_defined_functions)$")) + +(function_call_expression + function: (name) @support.function.gmp.php + (#match? @support.function.gmp.php "^gmp_(scan[01]|strval|sign|sub|setbit|sqrt(rem)?|hamdist|neg|nextprime|com|clrbit|cmp|testbit|intval|init|invert|import|or|div(exact)?|div_(q|qr|r)|jacobi|popcount|pow(m)?|perfect_square|prob_prime|export|fact|legendre|and|add|abs|root(rem)?|random(_(bits|range))?|gcd(ext)?|xor|mod|mul)$")) + +(function_call_expression + function: (name) @support.function.hash.php + (#match? @support.function.hash.php "^(hash(_(hmac(_file)?|copy|init|update(_(file|stream))?|pbkdf2|equals|file|final|algos))?)$")) + +(function_call_expression + function: (name) @support.function.iconv.php + (#match? @support.function.iconv.php "^(iconv(_(str(pos|len|rpos)|substr|(get|set)_encoding|mime_(decode(_headers)?|encode)))?|ob_iconv_handler)$")) + +(function_call_expression + function: (name) @support.function.info.php + (#match? @support.function.info.php "^(sys_get_temp_dir|set_(time_limit|include_path|magic_quotes_runtime)|cli_(get|set)_process_title|ini_(alter|get(_all)?|restore|set)|zend_(thread_id|version|logo_guid)|dl|php(credits|info|version)|php_(sapi_name|ini_(scanned_files|loaded_file)|uname|logo_guid)|putenv|extension_loaded|version_compare|assert(_options)?|restore_include_path|gc_(collect_cycles|disable|enable(d)?)|getopt|get_(cfg_var|current_user|defined_constants|extension_funcs|include_path|included_files|loaded_extensions|magic_quotes_(gpc|runtime)|required_files|resources)|get(env|lastmod|rusage|my(inode|[gup]id))|memory_get_(peak_)?usage|main|magic_quotes_runtime )$")) + +(function_call_expression + function: (name) @support.function.json.php + (#match? @support.function.json.php "^(json_(decode|encode|last_error(_msg)?))$")) + +(function_call_expression + function: (name) @support.function.math.php + (#match? @support.function.math.php "^((a)?(cos|sin|tan)(h)?|sqrt|srand|hypot|hexdec|ceil|is_(nan|(in)?finite)|octdec|dec(hex|oct|bin)|deg2rad|pi|pow|exp(m1)?|floor|fmod|lcg_value|log(1(p|0))?|atan2|abs|round|rand|rad2deg|getrandmax|mt_(srand|rand|getrandmax)|max|min|bindec|base_convert)$")) + +(function_call_expression + function: (name) @support.function.mbstring.php + (#match? @support.function.mbstring.php "^(mb_(str(cut|str|to(lower|upper)|istr|ipos|imwidth|pos|width|len|rchr|richr|ripos|rpos)|substitute_character|substr(_count)?|split|send_mail|http_(input|output)|check_encoding|convert_(case|encoding|kana|variables)|internal_encoding|output_handler|decode_(numericentity|mimeheader)|detect_(encoding|order)|parse_str|preferred_mime_name|encoding_aliases|encode_(numericentity|mimeheader)|ereg(i(_replace)?)?|ereg_(search(_(get(pos|regs)|init|regs|(set)?pos))?|replace(_callback)?|match)|list_encodings|language|regex_(set_options|encoding)|get_info))$")) + +(function_call_expression + function: (name) @support.function.mysql.php + (#match? @support.function.mysql.php "^(mysql_(stat|set_charset|select_db|num_(fields|rows)|connect|client_encoding|close|create_db|escape_string|thread_id|tablename|insert_id|info|data_seek|drop_db|db_(name|query)|unbuffered_query|pconnect|ping|errno|error|query|field_(seek|name|type|table|flags|len)|fetch_(object|field|lengths|assoc|array|row)|free_result|list_(tables|dbs|processes|fields)|affected_rows|result|real_escape_string|get_(client|host|proto|server)_info))$")) + +(function_call_expression + function: (name) @support.function.mysqli.php + (#match? @support.function.mysqli.php "^(mysqli_(ssl_set|store_result|stat|send_(query|long_data)|set_(charset|opt|local_infile_(default|handler))|stmt_(store_result|send_long_data|next_result|close|init|data_seek|prepare|execute|fetch|free_result|attr_(get|set)|result_metadata|reset|get_(result|warnings)|more_results|bind_(param|result))|select_db|slave_query|savepoint|next_result|change_user|character_set_name|connect|commit|client_encoding|close|thread_safe|init|options|(enable|disable)_(reads_from_master|rpl_parse)|dump_debug_info|debug|data_seek|use_result|ping|poll|param_count|prepare|escape_string|execute|embedded_server_(start|end)|kill|query|field_seek|free_result|autocommit|rollback|report|refresh|fetch(_(object|fields|field(_direct)?|assoc|all|array|row))?|rpl_(parse_enabled|probe|query_type)|release_savepoint|reap_async_query|real_(connect|escape_string|query)|more_results|multi_query|get_(charset|connection_stats|client_(stats|info|version)|cache_stats|warnings|links_stats|metadata)|master_query|bind_(param|result)|begin_transaction))$")) + +(function_call_expression + function: (name) @support.function.network.php + (#match? @support.function.network.php "^(syslog|socket_(set_(blocking|timeout)|get_status)|set(raw)?cookie|http_response_code|openlog|headers_(list|sent)|header(_(register_callback|remove))?|checkdnsrr|closelog|inet_(ntop|pton)|ip2long|openlog|dns_(check_record|get_(record|mx))|define_syslog_variables|(p)?fsockopen|long2ip|get(servby(name|port)|host(name|by(name(l)?|addr))|protoby(name|number)|mxrr))$")) + +(function_call_expression + function: (name) @support.function.output.php + (#match? @support.function.output.php "^(output_(add_rewrite_var|reset_rewrite_vars)|flush|ob_(start|clean|implicit_flush|end_(clean|flush)|flush|list_handlers|gzhandler|get_(status|contents|clean|flush|length|level)))$")) + +(function_call_expression + function: (name) @support.function.pgsql.php + (#match? @support.function.pgsql.php "^(pg_(socket|send_(prepare|execute|query(_params)?)|set_(client_encoding|error_verbosity)|select|host|num_(fields|rows)|consume_input|connection_(status|reset|busy)|connect(_poll)?|convert|copy_(from|to)|client_encoding|close|cancel_query|tty|transaction_status|trace|insert|options|delete|dbname|untrace|unescape_bytea|update|pconnect|ping|port|put_line|parameter_status|prepare|version|query(_params)?|escape_(string|identifier|literal|bytea)|end_copy|execute|flush|free_result|last_(notice|error|oid)|field_(size|num|name|type(_oid)?|table|is_null|prtlen)|affected_rows|result_(status|seek|error(_field)?)|fetch_(object|assoc|all(_columns)?|array|row|result)|get_(notify|pid|result)|meta_data|lo_(seek|close|create|tell|truncate|import|open|unlink|export|write|read(_all)?)))$")) + +; TODO: Set up regex injections? +(function_call_expression + function: (name) @support.function.pcre.php + (#match? @support.function.pcre.php "^(preg_(split|quote|filter|last_error|replace(_callback)?|grep|match(_all)?))$")) + +(function_call_expression + function: (name) @support.function.posix.php + (#match? @support.function.posix.php "^(posix_(strerror|set(s|e?u|[ep]?g)id|ctermid|ttyname|times|isatty|initgroups|uname|errno|kill|access|get(sid|cwd|uid|pid|ppid|pwnam|pwuid|pgid|pgrp|euid|egid|login|rlimit|gid|grnam|groups|grgid)|get_last_error|mknod|mkfifo))$")) + +(function_call_expression + function: (name) @support.function.readline.php + (#match? @support.function.readline.php "^(readline(_(completion_function|clear_history|callback_(handler_(install|remove)|read_char)|info|on_new_line|write_history|list_history|add_history|redisplay|read_history))?)$")) + +(function_call_expression + function: (name) @support.function.session.php + (#match? @support.function.session.php "^(session_(status|start|set_(save_handler|cookie_params)|save_path|name|commit|cache_(expire|limiter)|is_registered|id|destroy|decode|unset|unregister|encode|write_close|abort|reset|register(_shutdown)?|regenerate_id|get_cookie_params|module_name))$")) + +(function_call_expression + function: (name) @support.function.socket.php + (#match? @support.function.socket.php "^(socket_(shutdown|strerror|send(to|msg)?|set_((non)?block|option)|select|connect|close|clear_error|bind|create(_(pair|listen))?|cmsg_space|import_stream|write|listen|last_error|accept|recv(from|msg)?|read|get(peer|sock)name|get_option))$")) + +(function_call_expression + function: (name) @support.function.sqlite.php + (#match? @support.function.sqlite.php "^(sqlite_(single_query|seek|has_(more|prev)|num_(fields|rows)|next|changes|column|current|close|create_(aggregate|function)|open|unbuffered_query|udf_(decode|encode)_binary|popen|prev|escape_string|error_string|exec|valid|key|query|field_name|factory|fetch_(string|single|column_types|object|all|array)|lib(encoding|version)|last_(insert_rowid|error)|array_query|rewind|busy_timeout))$")) + +(function_call_expression + function: (name) @support.function.string.php + (#match? @support.function.string.php "^(money_format|md5(_file)?|metaphone|bin2hex|sscanf|sha1(_file)?|str(str|c?spn|n(at)?(case)?cmp|chr|coll|(case)?cmp|to(upper|lower)|tok|tr|istr|pos|pbrk|len|rchr|ri?pos|rev)|str_(getcsv|ireplace|pad|repeat|replace|rot13|shuffle|split|word_count)|strip(c?slashes|os)|strip_tags|similar_text|soundex|substr(_(count|compare|replace))?|setlocale|html(specialchars(_decode)?|entities)|html_entity_decode|hex2bin|hebrev(c)?|number_format|nl2br|nl_langinfo|chop|chunk_split|chr|convert_(cyr_string|uu(decode|encode))|count_chars|crypt|crc32|trim|implode|ord|uc(first|words)|join|parse_str|print(f)?|echo|explode|v?[fs]?printf|quoted_printable_(decode|encode)|quotemeta|wordwrap|lcfirst|[lr]trim|localeconv|levenshtein|addc?slashes|get_html_translation_table)$")) + +(function_call_expression + function: (name) @support.function.url.php + (#match? @support.function.url.php "^(http_build_query|(raw)?url(decode|encode)|parse_url|get_(headers|meta_tags)|base64_(decode|encode))$")) + +(function_call_expression + function: (name) @support.function.var.php + (#match? @support.function.var.php "^(strval|settype|serialize|(bool|double|float)val|debug_zval_dump|intval|import_request_variables|isset|is_(scalar|string|null|numeric|callable|int(eger)?|object|double|float|long|array|resource|real|bool)|unset|unserialize|print_r|empty|var_(dump|export)|gettype|get_(defined_vars|resource_type))$")) + +(function_call_expression + function: (name) @support.function.xml.php + (#match? @support.function.xml.php "^(utf8_(decode|encode)|xml_(set_((notation|(end|start)_namespace|unparsed_entity)_decl_handler|(character_data|default|element|external_entity_ref|processing_instruction)_handler|object)|parse(_into_struct)?|parser_((get|set)_option|create(_ns)?|free)|error_string|get_(current_((column|line)_number|byte_index)|error_code)))$")) + + +; FUNCTIONS +; ========= + +(function_definition + name: (name) @entity.name.function.php) + +(method_declaration + name: (name) @entity.name.function.method.php) + +; Function calls not caught by anything in the support section. +(function_call_expression + function: [(qualified_name (name)) (name)] @support.other.function.php + (#set! capture.shy true)) + + +; NAMESPACES +; ========== + +; The "Foo" in `namespace Foo;` +(namespace_definition + name: (namespace_name + (name) @entity.name.type.namespace.php) + (#set! isNamespaceDefinition true)) + +; The "Bar" and "Foo" in `use Bar as Foo;` +(namespace_use_clause + (name) @variable.other.namespace.aliased.php + (#set! isPartOfNamespaceAlias true) + (namespace_aliasing_clause + (name) @entity.name.type.namespace.alias.php)) + +; The "Foo" in `use Foo;` +(namespace_use_clause + (name) @entity.name.type.namespace.php + (#is-not? test.rangeWithData isPartOfNamespaceAlias)) + +; The "Foo" in `Foo\Bar::method();` +(namespace_name + (name) @support.other.namespace.php + (#is-not? test.rangeWithData isNamespaceDefinition)) + + +; CLASSES +; ======= + +(class_declaration (name) @entity.name.type.class.php) + +; Static method calls. +(scoped_call_expression + name: (name) @support.other.function.method.static.php) + +(member_call_expression + name: (name) @support.other.function.method.php) + + +; TRAITS +; ====== + +(trait_declaration (name) @entity.name.type.trait.php) + + +; TYPES +; ===== + +(primitive_type) @storage.type.builtin.php +(cast_type) @storage.type.builtin.php +(named_type (name) @storage.type.php) +(named_type (qualified_name) @storage.type.php) + +"global" @storage.modifier.global.php + +["trait" "class"] @storage.type.TYPE.php +"function" @storage.type.function.php + + +; VARIABLES +; ========= + +((name) @constant.language.builtin.this.php + (#eq? @constant.language.builtin.this.php "this")) + +(relative_scope) @variable.language.builtin.php + +; The "$foo" in `function bar($foo) {`. +(formal_parameters + (simple_parameter + (variable_name + "$" @punctuation.definition.variable.php + ) @variable.parameter.php)) + +((variable_name + ("$" @punctuation.definition.variable.php) + (name) @_IGNORE_) @variable.other.php + (#set! capture.final true)) + +; The `${foo}` in `"${foo}"`. +(dynamic_variable_name) @meta.embedded.line.interpolation.php @variable.other.interpolated.php + +((dynamic_variable_name) @punctuation.definition.variable.begin.php + (#set! adjust.endAfterFirstMatchOf "^\\$\\{")) + +((dynamic_variable_name) @punctuation.definition.variable.begin.php + (#set! adjust.startBeforeFirstMatchOf "^\\}$")) + +((name) @constant.other.php + (#match? @constant.other.php "^_?[A-Z][A-Z\\d_]+$")) + +((name) @constant.language.php + (#match? @constant.language.php "^__[A-Z][A-Z\d_]+__$")) + +((name) @support.other.function.constructor.php + (#match? @support.other.function.constructor.php "^[A-Z]") + (#set! capture.shy true)) + +(argument + name: (_) @variable.other.named-argument.php + ":" @punctuation.separator.key-value.php) + + +; STRINGS + +(string + "'" @punctuation.definition.string.begin.php + (string_value)? + "'" @punctuation.definition.string.end.php) @string.quoted.single.php + +(encapsed_string + "\"" @punctuation.definition.string.begin.php + (string_value)? + "\"" @punctuation.definition.string.end.php) @string.quoted.double.php + +(encapsed_string + (escape_sequence) @constant.character.escape.php) + +(heredoc) @string.unquoted.heredoc.php + +[ + "abstract" + "as" + "break" + "case" + "catch" + "const" + "continue" + "declare" + "default" + "do" + "echo" + "else" + "elseif" + "enddeclare" + "endforeach" + "endif" + "endswitch" + "endwhile" + "extends" + "final" + "finally" + "foreach" + "if" + "implements" + "include_once" + "include" + "insteadof" + "interface" + "namespace" + "new" + "private" + "protected" + "public" + "require_once" + "require" + "return" + "switch" + "throw" + "try" + "use" + "while" +] @keyword.control._TYPE_.php + +(expression_statement (name) @keyword.control.exit.php + (#eq? @keyword.control.exit.php "exit")) + +; CONSTANTS +; ========= + +(boolean) @constant.language.boolean._TEXT_.php +(null) @constant.language.null.php + +(integer) @constant.numeric.decimal.integer.php +(float) @constant.numeric.decimal.float.php + +; COMMENTS +; ======== + +((comment) @comment.line.double-slash.php + (#match? @comment.line.double-slash.php "^//")) + +((comment) @punctuation.definition.comment.php + (#match? @comment.line.double-slash.php "^//") + (#set! adjust.startAndEndAroundFirstMatchOf "^//")) + +((comment) @comment.line.number-sign.php + (#match? @comment.line.number-sign.php "^#")) + +((comment) @punctuation.definition.comment.php + (#match? @punctuation.definition.comment.php "^#") + (#set! adjust.startAndEndAroundFirstMatchOf "^#")) + +; Don't highlight PHPDoc comments because the injection will handle them. +((comment) @_IGNORE_ + (#match? @_IGNORE_ "^/\\*\\*") + (#set! capture.final true)) + +((comment) @comment.block.php + (#match? @comment.block.php "^/\\*(?!\\*)")) + +((comment) @punctuation.definition.comment.begin.php + (#match? @punctuation.definition.comment.begin.php "^/\\*(?!\\*)") + (#set! adjust.startAndEndAroundFirstMatchOf "^/\\*")) + +((comment) @punctuation.definition.comment.end.php + (#match? @punctuation.definition.comment.end.php "^/\\*(?!\\*)") + (#set! adjust.startAndEndAroundFirstMatchOf "\\*/$")) + + +; OPERATORS +; ========= + +(binary_expression "." @keyword.operator.string.php) + +["&&" "||"] @keyword.operator.logical.php + +["="] @keyword.operator.assignment.php + +(conditional_expression + ["?" ":"] @keyword.operator.ternary.php) + +(unary_op_expression "@" @keyword.operator.error-control.php) + +[ + "==" + "===" + "!=" + "!==" + ">" + "<" + "<=" + ">=" +] @keyword.operator.comparison.php + +[ + "+" + "-" + "*" + "/" + "**" +] @keyword.operator.arithmetic.php + +[ + "+=" + "-=" + "*=" + "/=" + ".=" +] @keyword.operator.assignment.compound.php + +"->" @keyword.operator.class.php +"=>" @punctuation.separator.key-value.php + +"\\" @keyword.operator.namespace.php + +(unary_op_expression "!" @keyword.operator.unary.php) diff --git a/packages/language-php/grammars/tree-sitter/queries/indents.scm b/packages/language-php/grammars/tree-sitter/queries/indents.scm new file mode 100644 index 0000000000..c7f198a402 --- /dev/null +++ b/packages/language-php/grammars/tree-sitter/queries/indents.scm @@ -0,0 +1,8 @@ +; + +["{" "(" "["] @indent +["}" ")" "]"] @dedent + +":" @indent + +["endif" "endfor" "endforeach" "enddeclare" "endswitch"] @dedent diff --git a/packages/language-php/grammars/tree-sitter/queries/phpdoc/highlights.scm b/packages/language-php/grammars/tree-sitter/queries/phpdoc/highlights.scm new file mode 100644 index 0000000000..7d2d60cf65 --- /dev/null +++ b/packages/language-php/grammars/tree-sitter/queries/phpdoc/highlights.scm @@ -0,0 +1,17 @@ + +((document) @punctuation.definition.begin.comment.phpdoc.php + (#set! adjust.startAndEndAroundFirstMatchOf "^/\\*\\*")) + +((document) @punctuation.definition.end.comment.phpdoc.php + (#set! adjust.startAndEndAroundFirstMatchOf "(?:\\*)?\\*/$")) + +(tag_name) @storage.type.class.phpdoc.php + +(tag (type_list) @entity.other.type.instance.phpdoc.php) + +(variable_name) @variable.other.phpdoc.php + +(uri) @markup.underline.link.phpdoc.php + +(inline_tag "{" @punctation.definition.tag.begin.brace.curly.phpdoc.php) +(inline_tag "}" @punctation.definition.tag.end.brace.curly.phpdoc.php) diff --git a/packages/language-php/grammars/tree-sitter/queries/tags.scm b/packages/language-php/grammars/tree-sitter/queries/tags.scm new file mode 100644 index 0000000000..0bd4e6010d --- /dev/null +++ b/packages/language-php/grammars/tree-sitter/queries/tags.scm @@ -0,0 +1,41 @@ + +(namespace_definition + name: (namespace_name) @name) @module + +(interface_declaration + name: (name) @name) @definition.interface + +(trait_declaration + name: (name) @name) @definition.interface + +(class_declaration + name: (name) @name) @definition.class + +(class_interface_clause [(name) (qualified_name)] @name) @impl + +(property_declaration + (property_element (variable_name (name) @name))) @definition.field + +(function_definition + name: (name) @name) @definition.function + +(method_declaration + name: (name) @name) @definition.function + +(object_creation_expression + [ + (qualified_name (name) @name) + (variable_name (name) @name) + ]) @reference.class + +(function_call_expression + function: [ + (qualified_name (name) @name) + (variable_name (name)) @name + ]) @reference.call + +(scoped_call_expression + name: (name) @name) @reference.call + +(member_call_expression + name: (name) @name) @reference.call diff --git a/packages/language-php/grammars/tree-sitter/tree-sitter-php.wasm b/packages/language-php/grammars/tree-sitter/tree-sitter-php.wasm new file mode 100755 index 0000000000000000000000000000000000000000..21b22a79458815aa069a6b973dd5af1df9cc3132 GIT binary patch literal 731484 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.tw*$>PnTT`AvA>9N$a>EB@5C2l&>h_ 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 TMXha9)2wgL^Ua10yZHYAjJDOd literal 0 HcmV?d00001 diff --git a/packages/language-php/grammars/tree-sitter/tree-sitter-phpdoc.wasm b/packages/language-php/grammars/tree-sitter/tree-sitter-phpdoc.wasm new file mode 100755 index 0000000000000000000000000000000000000000..0799df476b299d0464807b788152522ac70d2a40 GIT binary patch literal 176393 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 'html', + content(node) { + return node.descendantsOfType('text'); + }, + + // We don't need a base scope for this injection because the whole file is + // already scoped as `text.html.php`. The PHP embeds add a `source.php` + // scope, but still has `text.html.php` as the root. This is how the TM + // grammar works, so we're replicating it here. + languageScope: null + }); + + atom.grammars.addInjectionPoint('text.html.php', { + type: 'program', + language() { + return 'internal-php'; + }, + content(node) { + let results = []; + // At the top level we should ignore `text` nodes, since they're just + // HTML. We should also ignore the middle children of + // `text_interpolation` nodes (also `text`), but we need to include their + // first and last children, which correspond to `?>` and ` { + return TODO_PATTERN.test(node.text) ? 'todo' : undefined; + }, + content: (node) => node, + languageScope: null + }); + + for (let type of ['comment', 'string_value']) { + atom.grammars.addInjectionPoint('text.html.php', { + type, + language(node) { + // PHPDoc can parse URLs better than we can. + if (isPhpDoc(node)) return undefined; + return HYPERLINK_PATTERN.test(node.text) ? + 'hyperlink' : undefined; + }, + content: (node) => node, + languageScope: null + }); + } + + atom.grammars.addInjectionPoint('text.html.php', { + type: 'heredoc', + language(node) { + let id = node.firstNamedChild; + if (id.type !== 'heredoc_start') { return null; } + console.log('returning heredoc name:', id.text); + return id.text; + }, + content(node) { + let body = node.children.find(c => c.type === 'heredoc_body'); + let results = body.children.filter(c => c.type === 'string_value'); + return results; + } + }); + + atom.grammars.addInjectionPoint('text.html.php', { + type: 'comment', + language(node) { + if (isPhpDoc(node)) { + return 'phpdoc'; + } + }, + content(node) { return node; } + }); + +}; diff --git a/packages/language-php/package.json b/packages/language-php/package.json index 8d6dc17fea..2b3e7aa3c7 100644 --- a/packages/language-php/package.json +++ b/packages/language-php/package.json @@ -1,10 +1,11 @@ { "name": "language-php", "version": "0.48.1", + "main": "lib/main", "description": "PHP language support in Atom", "engines": { "atom": "*", - "node": "*" + "node": ">=12" }, "repository": "https://github.com/pulsar-edit/pulsar", "license": "MIT" diff --git a/src/wasm-tree-sitter-language-mode.js b/src/wasm-tree-sitter-language-mode.js index 24c08e8580..c0dda339cc 100644 --- a/src/wasm-tree-sitter-language-mode.js +++ b/src/wasm-tree-sitter-language-mode.js @@ -3019,7 +3019,7 @@ class LanguageLayer { this.tree = null; this.lastSyntaxTree = null; - this.temporaryTrees = null; + this.temporaryTrees = []; while (trees.length > 0) { let tree = trees.pop(); @@ -4087,7 +4087,7 @@ class NodeRangeSet { } getRanges(buffer) { - const previousRanges = this.previous && this.previous.getRanges(buffer); + const previousRanges = this.previous?.getRanges(buffer); let result = []; for (const node of this.nodeSpecs) { @@ -4229,7 +4229,7 @@ class NodeRangeSet { // For injection points with `newlinesBetween` enabled, ensure that a // newline is included between each disjoint range. _ensureNewline(buffer, newRanges, startIndex, startPosition) { - const lastRange = newRanges[newRanges.length - 1]; + const lastRange = last(newRanges); if (lastRange && lastRange.endPosition.row < startPosition.row) { newRanges.push({ startPosition: new Point( @@ -4326,7 +4326,7 @@ class RangeList { } insertOrdered(newRange) { - let index = this.ranges.findIndex((r, i) => { + let index = this.ranges.findIndex(r => { return r.start.compare(newRange.start) > 0; }); this.ranges.splice(index, 0, newRange); diff --git a/vendor/web-tree-sitter/tree-sitter.js b/vendor/web-tree-sitter/tree-sitter.js index 07c5c36f02..ed8f498a00 100644 --- a/vendor/web-tree-sitter/tree-sitter.js +++ b/vendor/web-tree-sitter/tree-sitter.js @@ -1,12 +1,10 @@ -var Module = typeof Module !== "undefined" ? Module : {}; +var Module = typeof Module != "undefined" ? Module : {}; var TreeSitter = function() { - function checkForAsmVersion(prop) { if (!(prop in Module['asm'])) { console.warn(`Warning: parser wants to call function ${prop}, but it is not defined. If parsing fails, this is probably the reason why. Please report this to the Pulsar team so that this parser can be supported properly.`); } } - var initPromise; var document = typeof window == "object" ? { currentScript: window.document.currentScript @@ -22,26 +20,15 @@ var TreeSitter = function() { if (initPromise) return initPromise; Module = Object.assign({}, Module, moduleOptions); return initPromise = new Promise(resolveInitPromise => { - var moduleOverrides = {}; - var key; - for (key in Module) { - if (Module.hasOwnProperty(key)) { - moduleOverrides[key] = Module[key] - } - } + var moduleOverrides = Object.assign({}, Module); var arguments_ = []; var thisProgram = "./this.program"; - var quit_ = function(status, toThrow) { + var quit_ = (status, toThrow) => { throw toThrow }; - var ENVIRONMENT_IS_WEB = false; - var ENVIRONMENT_IS_WORKER = false; - var ENVIRONMENT_IS_NODE = false; - var ENVIRONMENT_IS_SHELL = false; - ENVIRONMENT_IS_WEB = typeof window === "object"; - ENVIRONMENT_IS_WORKER = typeof importScripts === "function"; - ENVIRONMENT_IS_NODE = typeof process === "object" && typeof process.versions === "object" && typeof process.versions.node === "string"; - ENVIRONMENT_IS_SHELL = !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_NODE && !ENVIRONMENT_IS_WORKER; + var ENVIRONMENT_IS_WEB = typeof window == "object"; + var ENVIRONMENT_IS_WORKER = typeof importScripts == "function"; + var ENVIRONMENT_IS_NODE = typeof process == "object" && typeof process.versions == "object" && typeof process.versions.node == "string"; var scriptDirectory = ""; function locateFile(path) { @@ -51,90 +38,65 @@ var TreeSitter = function() { return scriptDirectory + path } var read_, readAsync, readBinary, setWindowTitle; - var nodeFS; - var nodePath; if (ENVIRONMENT_IS_NODE) { + var fs = require("fs"); + var nodePath = require("path"); if (ENVIRONMENT_IS_WORKER) { - scriptDirectory = require("path").dirname(scriptDirectory) + "/" + scriptDirectory = nodePath.dirname(scriptDirectory) + "/" } else { scriptDirectory = __dirname + "/" } - read_ = function shell_read(filename, binary) { - if (!nodeFS) nodeFS = require("fs"); - if (!nodePath) nodePath = require("path"); - filename = nodePath["normalize"](filename); - return nodeFS["readFileSync"](filename, binary ? null : "utf8") + read_ = (filename, binary) => { + filename = isFileURI(filename) ? new URL(filename) : nodePath.normalize(filename); + return fs.readFileSync(filename, binary ? undefined : "utf8") }; - readBinary = function readBinary(filename) { + readBinary = filename => { var ret = read_(filename, true); if (!ret.buffer) { ret = new Uint8Array(ret) } - assert(ret.buffer); return ret }; - if (process["argv"].length > 1) { - thisProgram = process["argv"][1].replace(/\\/g, "/") + readAsync = (filename, onload, onerror) => { + filename = isFileURI(filename) ? new URL(filename) : nodePath.normalize(filename); + fs.readFile(filename, function(err, data) { + if (err) onerror(err); + else onload(data.buffer) + }) + }; + if (!Module["thisProgram"] && process.argv.length > 1) { + thisProgram = process.argv[1].replace(/\\/g, "/") } - arguments_ = process["argv"].slice(2); - if (typeof module !== "undefined") { + arguments_ = process.argv.slice(2); + if (typeof module != "undefined") { module["exports"] = Module } - quit_ = function(status) { - process["exit"](status) + quit_ = (status, toThrow) => { + process.exitCode = status; + throw toThrow }; Module["inspect"] = function() { return "[Emscripten Module object]" } - } else if (ENVIRONMENT_IS_SHELL) { - if (typeof read != "undefined") { - read_ = function shell_read(f) { - return read(f) - } - } - readBinary = function readBinary(f) { - var data; - if (typeof readbuffer === "function") { - return new Uint8Array(readbuffer(f)) - } - data = read(f, "binary"); - assert(typeof data === "object"); - return data - }; - if (typeof scriptArgs != "undefined") { - arguments_ = scriptArgs - } else if (typeof arguments != "undefined") { - arguments_ = arguments - } - if (typeof quit === "function") { - quit_ = function(status) { - quit(status) - } - } - if (typeof print !== "undefined") { - if (typeof console === "undefined") console = {}; - console.log = print; - console.warn = console.error = typeof printErr !== "undefined" ? printErr : print - } } else if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) { if (ENVIRONMENT_IS_WORKER) { scriptDirectory = self.location.href - } else if (typeof document !== "undefined" && document.currentScript) { + } else if (typeof document != "undefined" && document.currentScript) { scriptDirectory = document.currentScript.src } if (scriptDirectory.indexOf("blob:") !== 0) { - scriptDirectory = scriptDirectory.substr(0, scriptDirectory.lastIndexOf("/") + 1) + scriptDirectory = scriptDirectory.substr(0, scriptDirectory.replace(/[?#].*/, "").lastIndexOf("/") + 1) } else { scriptDirectory = "" } { - read_ = function(url) { + read_ = url => { var xhr = new XMLHttpRequest; xhr.open("GET", url, false); xhr.send(null); return xhr.responseText }; if (ENVIRONMENT_IS_WORKER) { - readBinary = function(url) { + readBinary = url => { var xhr = new XMLHttpRequest; xhr.open("GET", url, false); xhr.responseType = "arraybuffer"; @@ -142,11 +104,11 @@ var TreeSitter = function() { return new Uint8Array(xhr.response) } } - readAsync = function(url, onload, onerror) { + readAsync = (url, onload, onerror) => { var xhr = new XMLHttpRequest; xhr.open("GET", url, true); xhr.responseType = "arraybuffer"; - xhr.onload = function() { + xhr.onload = () => { if (xhr.status == 200 || xhr.status == 0 && xhr.response) { onload(xhr.response); return @@ -157,354 +119,46 @@ var TreeSitter = function() { xhr.send(null) } } - setWindowTitle = function(title) { - document.title = title - } + setWindowTitle = title => document.title = title } else {} var out = Module["print"] || console.log.bind(console); var err = Module["printErr"] || console.warn.bind(console); - for (key in moduleOverrides) { - if (moduleOverrides.hasOwnProperty(key)) { - Module[key] = moduleOverrides[key] - } - } + Object.assign(Module, moduleOverrides); moduleOverrides = null; if (Module["arguments"]) arguments_ = Module["arguments"]; if (Module["thisProgram"]) thisProgram = Module["thisProgram"]; if (Module["quit"]) quit_ = Module["quit"]; - var STACK_ALIGN = 16; - - function alignMemory(size, factor) { - if (!factor) factor = STACK_ALIGN; - return Math.ceil(size / factor) * factor - } - - function convertJsFunctionToWasm(func, sig) { - if (typeof WebAssembly.Function === "function") { - var typeNames = { - "i": "i32", - "j": "i64", - "f": "f32", - "d": "f64" - }; - var type = { - parameters: [], - results: sig[0] == "v" ? [] : [typeNames[sig[0]]] - }; - for (var i = 1; i < sig.length; ++i) { - type.parameters.push(typeNames[sig[i]]) - } - return new WebAssembly.Function(type, func) - } - var typeSection = [1, 0, 1, 96]; - var sigRet = sig.slice(0, 1); - var sigParam = sig.slice(1); - var typeCodes = { - "i": 127, - "j": 126, - "f": 125, - "d": 124 - }; - typeSection.push(sigParam.length); - for (var i = 0; i < sigParam.length; ++i) { - typeSection.push(typeCodes[sigParam[i]]) - } - if (sigRet == "v") { - typeSection.push(0) - } else { - typeSection = typeSection.concat([1, typeCodes[sigRet]]) - } - typeSection[1] = typeSection.length - 2; - var bytes = new Uint8Array([0, 97, 115, 109, 1, 0, 0, 0].concat(typeSection, [2, 7, 1, 1, 101, 1, 102, 0, 0, 7, 5, 1, 1, 102, 0, 0])); - var module = new WebAssembly.Module(bytes); - var instance = new WebAssembly.Instance(module, { - "e": { - "f": func - } - }); - var wrappedFunc = instance.exports["f"]; - return wrappedFunc - } - var freeTableIndexes = []; - var functionsInTableMap; - - function getEmptyTableSlot() { - if (freeTableIndexes.length) { - return freeTableIndexes.pop() - } - try { - wasmTable.grow(1) - } catch (err) { - if (!(err instanceof RangeError)) { - throw err - } - throw "Unable to grow wasm table. Set ALLOW_TABLE_GROWTH." - } - return wasmTable.length - 1 - } - - function addFunctionWasm(func, sig) { - if (!functionsInTableMap) { - functionsInTableMap = new WeakMap; - for (var i = 0; i < wasmTable.length; i++) { - var item = wasmTable.get(i); - if (item) { - functionsInTableMap.set(item, i) - } - } - } - if (functionsInTableMap.has(func)) { - return functionsInTableMap.get(func) - } - var ret = getEmptyTableSlot(); - try { - wasmTable.set(ret, func) - } catch (err) { - if (!(err instanceof TypeError)) { - throw err - } - var wrapped = convertJsFunctionToWasm(func, sig); - wasmTable.set(ret, wrapped) - } - functionsInTableMap.set(func, ret); - return ret - } - var tempRet0 = 0; - var setTempRet0 = function(value) { - tempRet0 = value - }; var dynamicLibraries = Module["dynamicLibraries"] || []; var wasmBinary; if (Module["wasmBinary"]) wasmBinary = Module["wasmBinary"]; var noExitRuntime = Module["noExitRuntime"] || true; - if (typeof WebAssembly !== "object") { + if (typeof WebAssembly != "object") { abort("no native wasm support detected") } - - function setValue(ptr, value, type, noSafe) { - type = type || "i8"; - if (type.charAt(type.length - 1) === "*") type = "i32"; - switch (type) { - case "i1": - HEAP8[ptr >> 0] = value; - break; - case "i8": - HEAP8[ptr >> 0] = value; - break; - case "i16": - HEAP16[ptr >> 1] = value; - break; - case "i32": - HEAP32[ptr >> 2] = value; - break; - case "i64": - tempI64 = [value >>> 0, (tempDouble = value, +Math.abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math.min(+Math.floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math.ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0)], HEAP32[ptr >> 2] = tempI64[0], HEAP32[ptr + 4 >> 2] = tempI64[1]; - break; - case "float": - HEAPF32[ptr >> 2] = value; - break; - case "double": - HEAPF64[ptr >> 3] = value; - break; - default: - abort("invalid type for setValue: " + type) - } - } - - function getValue(ptr, type, noSafe) { - type = type || "i8"; - if (type.charAt(type.length - 1) === "*") type = "i32"; - switch (type) { - case "i1": - return HEAP8[ptr >> 0]; - case "i8": - return HEAP8[ptr >> 0]; - case "i16": - return HEAP16[ptr >> 1]; - case "i32": - return HEAP32[ptr >> 2]; - case "i64": - return HEAP32[ptr >> 2]; - case "float": - return HEAPF32[ptr >> 2]; - case "double": - return HEAPF64[ptr >> 3]; - default: - abort("invalid type for getValue: " + type) - } - return null - } var wasmMemory; var ABORT = false; var EXITSTATUS; function assert(condition, text) { if (!condition) { - abort("Assertion failed: " + text) - } - } - var ALLOC_STACK = 1; - - function allocate(slab, allocator) { - var ret; - if (allocator == ALLOC_STACK) { - ret = stackAlloc(slab.length) - } else { - ret = _malloc(slab.length) - } - if (slab.subarray || slab.slice) { - HEAPU8.set(slab, ret) - } else { - HEAPU8.set(new Uint8Array(slab), ret) - } - return ret - } - var UTF8Decoder = typeof TextDecoder !== "undefined" ? new TextDecoder("utf8") : undefined; - - function UTF8ArrayToString(heap, idx, maxBytesToRead) { - var endIdx = idx + maxBytesToRead; - var endPtr = idx; - while (heap[endPtr] && !(endPtr >= endIdx)) ++endPtr; - if (endPtr - idx > 16 && heap.subarray && UTF8Decoder) { - return UTF8Decoder.decode(heap.subarray(idx, endPtr)) - } else { - var str = ""; - while (idx < endPtr) { - var u0 = heap[idx++]; - if (!(u0 & 128)) { - str += String.fromCharCode(u0); - continue - } - var u1 = heap[idx++] & 63; - if ((u0 & 224) == 192) { - str += String.fromCharCode((u0 & 31) << 6 | u1); - continue - } - var u2 = heap[idx++] & 63; - if ((u0 & 240) == 224) { - u0 = (u0 & 15) << 12 | u1 << 6 | u2 - } else { - u0 = (u0 & 7) << 18 | u1 << 12 | u2 << 6 | heap[idx++] & 63 - } - if (u0 < 65536) { - str += String.fromCharCode(u0) - } else { - var ch = u0 - 65536; - str += String.fromCharCode(55296 | ch >> 10, 56320 | ch & 1023) - } - } + abort(text) } - return str } + var HEAP8, HEAPU8, HEAP16, HEAPU16, HEAP32, HEAPU32, HEAPF32, HEAPF64; - function UTF8ToString(ptr, maxBytesToRead) { - return ptr ? UTF8ArrayToString(HEAPU8, ptr, maxBytesToRead) : "" - } - - function stringToUTF8Array(str, heap, outIdx, maxBytesToWrite) { - if (!(maxBytesToWrite > 0)) return 0; - var startIdx = outIdx; - var endIdx = outIdx + maxBytesToWrite - 1; - for (var i = 0; i < str.length; ++i) { - var u = str.charCodeAt(i); - if (u >= 55296 && u <= 57343) { - var u1 = str.charCodeAt(++i); - u = 65536 + ((u & 1023) << 10) | u1 & 1023 - } - if (u <= 127) { - if (outIdx >= endIdx) break; - heap[outIdx++] = u - } else if (u <= 2047) { - if (outIdx + 1 >= endIdx) break; - heap[outIdx++] = 192 | u >> 6; - heap[outIdx++] = 128 | u & 63 - } else if (u <= 65535) { - if (outIdx + 2 >= endIdx) break; - heap[outIdx++] = 224 | u >> 12; - heap[outIdx++] = 128 | u >> 6 & 63; - heap[outIdx++] = 128 | u & 63 - } else { - if (outIdx + 3 >= endIdx) break; - heap[outIdx++] = 240 | u >> 18; - heap[outIdx++] = 128 | u >> 12 & 63; - heap[outIdx++] = 128 | u >> 6 & 63; - heap[outIdx++] = 128 | u & 63 - } - } - heap[outIdx] = 0; - return outIdx - startIdx - } - - function stringToUTF8(str, outPtr, maxBytesToWrite) { - return stringToUTF8Array(str, HEAPU8, outPtr, maxBytesToWrite) - } - - function lengthBytesUTF8(str) { - var len = 0; - for (var i = 0; i < str.length; ++i) { - var u = str.charCodeAt(i); - if (u >= 55296 && u <= 57343) u = 65536 + ((u & 1023) << 10) | str.charCodeAt(++i) & 1023; - if (u <= 127) ++len; - else if (u <= 2047) len += 2; - else if (u <= 65535) len += 3; - else len += 4 - } - return len - } - - function AsciiToString(ptr) { - var str = ""; - while (1) { - var ch = HEAPU8[ptr++ >> 0]; - if (!ch) return str; - str += String.fromCharCode(ch) - } - } - - function stringToUTF16(str, outPtr, maxBytesToWrite) { - if (maxBytesToWrite === undefined) { - maxBytesToWrite = 2147483647 - } - if (maxBytesToWrite < 2) return 0; - maxBytesToWrite -= 2; - var startPtr = outPtr; - var numCharsToWrite = maxBytesToWrite < str.length * 2 ? maxBytesToWrite / 2 : str.length; - for (var i = 0; i < numCharsToWrite; ++i) { - var codeUnit = str.charCodeAt(i); - HEAP16[outPtr >> 1] = codeUnit; - outPtr += 2 - } - HEAP16[outPtr >> 1] = 0; - return outPtr - startPtr - } - - function allocateUTF8OnStack(str) { - var size = lengthBytesUTF8(str) + 1; - var ret = stackAlloc(size); - stringToUTF8Array(str, HEAP8, ret, size); - return ret - } - - function alignUp(x, multiple) { - if (x % multiple > 0) { - x += multiple - x % multiple - } - return x - } - var buffer, HEAP8, HEAPU8, HEAP16, HEAPU16, HEAP32, HEAPU32, HEAPF32, HEAPF64; - - function updateGlobalBufferAndViews(buf) { - buffer = buf; - Module["HEAP8"] = HEAP8 = new Int8Array(buf); - Module["HEAP16"] = HEAP16 = new Int16Array(buf); - Module["HEAP32"] = HEAP32 = new Int32Array(buf); - Module["HEAPU8"] = HEAPU8 = new Uint8Array(buf); - Module["HEAPU16"] = HEAPU16 = new Uint16Array(buf); - Module["HEAPU32"] = HEAPU32 = new Uint32Array(buf); - Module["HEAPF32"] = HEAPF32 = new Float32Array(buf); - Module["HEAPF64"] = HEAPF64 = new Float64Array(buf) + function updateMemoryViews() { + var b = wasmMemory.buffer; + Module["HEAP8"] = HEAP8 = new Int8Array(b); + Module["HEAP16"] = HEAP16 = new Int16Array(b); + Module["HEAP32"] = HEAP32 = new Int32Array(b); + Module["HEAPU8"] = HEAPU8 = new Uint8Array(b); + Module["HEAPU16"] = HEAPU16 = new Uint16Array(b); + Module["HEAPU32"] = HEAPU32 = new Uint32Array(b); + Module["HEAPF32"] = HEAPF32 = new Float32Array(b); + Module["HEAPF64"] = HEAPF64 = new Float64Array(b) } var INITIAL_MEMORY = Module["INITIAL_MEMORY"] || 33554432; + assert(INITIAL_MEMORY >= 65536, "INITIAL_MEMORY should be larger than STACK_SIZE, was " + INITIAL_MEMORY + "! (STACK_SIZE=" + 65536 + ")"); if (Module["wasmMemory"]) { wasmMemory = Module["wasmMemory"] } else { @@ -513,21 +167,23 @@ var TreeSitter = function() { "maximum": 2147483648 / 65536 }) } - if (wasmMemory) { - buffer = wasmMemory.buffer - } - INITIAL_MEMORY = buffer.byteLength; - updateGlobalBufferAndViews(buffer); + updateMemoryViews(); + INITIAL_MEMORY = wasmMemory.buffer.byteLength; var wasmTable = new WebAssembly.Table({ - "initial": 20, + "initial": 25, "element": "anyfunc" }); var __ATPRERUN__ = []; var __ATINIT__ = []; var __ATMAIN__ = []; var __ATPOSTRUN__ = []; + var __RELOC_FUNCS__ = []; var runtimeInitialized = false; - var runtimeExited = false; + var runtimeKeepaliveCounter = 0; + + function keepRuntimeAlive() { + return noExitRuntime || runtimeKeepaliveCounter > 0 + } function preRun() { if (Module["preRun"]) { @@ -541,6 +197,7 @@ var TreeSitter = function() { function initRuntime() { runtimeInitialized = true; + callRuntimeCallbacks(__RELOC_FUNCS__); callRuntimeCallbacks(__ATINIT__) } @@ -548,10 +205,6 @@ var TreeSitter = function() { callRuntimeCallbacks(__ATMAIN__) } - function exitRuntime() { - runtimeExited = true - } - function postRun() { if (Module["postRun"]) { if (typeof Module["postRun"] == "function") Module["postRun"] = [Module["postRun"]]; @@ -601,19 +254,16 @@ var TreeSitter = function() { } } } - Module["preloadedImages"] = {}; - Module["preloadedAudios"] = {}; - Module["preloadedWasm"] = {}; function abort(what) { if (Module["onAbort"]) { Module["onAbort"](what) } - what += ""; + what = "Aborted(" + what + ")"; err(what); ABORT = true; EXITSTATUS = 1; - what = "abort(" + what + "). Build with -s ASSERTIONS=1 for more info."; + what += ". Build with -sASSERTIONS for more info."; var e = new WebAssembly.RuntimeError(what); throw e } @@ -639,31 +289,30 @@ var TreeSitter = function() { } if (readBinary) { return readBinary(file) - } else { - throw "both async and sync fetching of the wasm failed" } + throw "both async and sync fetching of the wasm failed" } catch (err) { abort(err) } } - function getBinaryPromise() { + function getBinaryPromise(binaryFile) { if (!wasmBinary && (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER)) { - if (typeof fetch === "function" && !isFileURI(wasmBinaryFile)) { - return fetch(wasmBinaryFile, { + if (typeof fetch == "function" && !isFileURI(binaryFile)) { + return fetch(binaryFile, { credentials: "same-origin" }).then(function(response) { if (!response["ok"]) { - throw "failed to load wasm binary file at '" + wasmBinaryFile + "'" + throw "failed to load wasm binary file at '" + binaryFile + "'" } return response["arrayBuffer"]() }).catch(function() { - return getBinary(wasmBinaryFile) + return getBinary(binaryFile) }) } else { if (readAsync) { return new Promise(function(resolve, reject) { - readAsync(wasmBinaryFile, function(response) { + readAsync(binaryFile, function(response) { resolve(new Uint8Array(response)) }, reject) }) @@ -671,241 +320,469 @@ var TreeSitter = function() { } } return Promise.resolve().then(function() { - return getBinary(wasmBinaryFile) + return getBinary(binaryFile) + }) + } + + function instantiateArrayBuffer(binaryFile, imports, receiver) { + return getBinaryPromise(binaryFile).then(function(binary) { + return WebAssembly.instantiate(binary, imports) + }).then(function(instance) { + return instance + }).then(receiver, function(reason) { + err("failed to asynchronously prepare wasm: " + reason); + abort(reason) }) } + function instantiateAsync(binary, binaryFile, imports, callback) { + if (!binary && typeof WebAssembly.instantiateStreaming == "function" && !isDataURI(binaryFile) && !isFileURI(binaryFile) && !ENVIRONMENT_IS_NODE && typeof fetch == "function") { + return fetch(binaryFile, { + credentials: "same-origin" + }).then(function(response) { + var result = WebAssembly.instantiateStreaming(response, imports); + return result.then(callback, function(reason) { + err("wasm streaming compile failed: " + reason); + err("falling back to ArrayBuffer instantiation"); + return instantiateArrayBuffer(binaryFile, imports, callback) + }) + }) + } else { + return instantiateArrayBuffer(binaryFile, imports, callback) + } + } + function createWasm() { var info = { - "env": asmLibraryArg, - "wasi_snapshot_preview1": asmLibraryArg, - "GOT.mem": new Proxy(asmLibraryArg, GOTHandler), - "GOT.func": new Proxy(asmLibraryArg, GOTHandler) + "env": wasmImports, + "wasi_snapshot_preview1": wasmImports, + "GOT.mem": new Proxy(wasmImports, GOTHandler), + "GOT.func": new Proxy(wasmImports, GOTHandler) }; function receiveInstance(instance, module) { var exports = instance.exports; exports = relocateExports(exports, 1024); - Module["asm"] = exports; var metadata = getDylinkMetadata(module); if (metadata.neededDynlibs) { dynamicLibraries = metadata.neededDynlibs.concat(dynamicLibraries) } mergeLibSymbols(exports, "main"); + Module["asm"] = exports; addOnInit(Module["asm"]["__wasm_call_ctors"]); - removeRunDependency("wasm-instantiate") + __RELOC_FUNCS__.push(Module["asm"]["__wasm_apply_data_relocs"]); + removeRunDependency("wasm-instantiate"); + return exports } addRunDependency("wasm-instantiate"); function receiveInstantiationResult(result) { receiveInstance(result["instance"], result["module"]) } - - function instantiateArrayBuffer(receiver) { - return getBinaryPromise().then(function(binary) { - var result = WebAssembly.instantiate(binary, info); - return result - }).then(receiver, function(reason) { - err("failed to asynchronously prepare wasm: " + reason); - abort(reason) - }) - } - - function instantiateAsync() { - if (!wasmBinary && typeof WebAssembly.instantiateStreaming === "function" && !isDataURI(wasmBinaryFile) && !isFileURI(wasmBinaryFile) && typeof fetch === "function") { - return fetch(wasmBinaryFile, { - credentials: "same-origin" - }).then(function(response) { - var result = WebAssembly.instantiateStreaming(response, info); - return result.then(receiveInstantiationResult, function(reason) { - err("wasm streaming compile failed: " + reason); - err("falling back to ArrayBuffer instantiation"); - return instantiateArrayBuffer(receiveInstantiationResult) - }) - }) - } else { - return instantiateArrayBuffer(receiveInstantiationResult) - } - } if (Module["instantiateWasm"]) { try { - var exports = Module["instantiateWasm"](info, receiveInstance); - return exports + return Module["instantiateWasm"](info, receiveInstance) } catch (e) { err("Module.instantiateWasm callback failed with error: " + e); return false } } - instantiateAsync(); + instantiateAsync(wasmBinary, wasmBinaryFile, info, receiveInstantiationResult); return {} } var tempDouble; var tempI64; + var ASM_CONSTS = {}; + + function ExitStatus(status) { + this.name = "ExitStatus"; + this.message = "Program terminated with exit(" + status + ")"; + this.status = status + } var GOT = {}; + var currentModuleWeakSymbols = new Set([]); var GOTHandler = { get: function(obj, symName) { - if (!GOT[symName]) { - GOT[symName] = new WebAssembly.Global({ + var rtn = GOT[symName]; + if (!rtn) { + rtn = GOT[symName] = new WebAssembly.Global({ "value": "i32", "mutable": true }) } - return GOT[symName] + if (!currentModuleWeakSymbols.has(symName)) { + rtn.required = true + } + return rtn + } + }; + + function callRuntimeCallbacks(callbacks) { + while (callbacks.length > 0) { + callbacks.shift()(Module) + } + } + var UTF8Decoder = typeof TextDecoder != "undefined" ? new TextDecoder("utf8") : undefined; + + function UTF8ArrayToString(heapOrArray, idx, maxBytesToRead) { + var endIdx = idx + maxBytesToRead; + var endPtr = idx; + while (heapOrArray[endPtr] && !(endPtr >= endIdx)) ++endPtr; + if (endPtr - idx > 16 && heapOrArray.buffer && UTF8Decoder) { + return UTF8Decoder.decode(heapOrArray.subarray(idx, endPtr)) + } + var str = ""; + while (idx < endPtr) { + var u0 = heapOrArray[idx++]; + if (!(u0 & 128)) { + str += String.fromCharCode(u0); + continue + } + var u1 = heapOrArray[idx++] & 63; + if ((u0 & 224) == 192) { + str += String.fromCharCode((u0 & 31) << 6 | u1); + continue + } + var u2 = heapOrArray[idx++] & 63; + if ((u0 & 240) == 224) { + u0 = (u0 & 15) << 12 | u1 << 6 | u2 + } else { + u0 = (u0 & 7) << 18 | u1 << 12 | u2 << 6 | heapOrArray[idx++] & 63 + } + if (u0 < 65536) { + str += String.fromCharCode(u0) + } else { + var ch = u0 - 65536; + str += String.fromCharCode(55296 | ch >> 10, 56320 | ch & 1023) + } + } + return str + } + + function getDylinkMetadata(binary) { + var offset = 0; + var end = 0; + + function getU8() { + return binary[offset++] + } + + function getLEB() { + var ret = 0; + var mul = 1; + while (1) { + var byte = binary[offset++]; + ret += (byte & 127) * mul; + mul *= 128; + if (!(byte & 128)) break + } + return ret + } + + function getString() { + var len = getLEB(); + offset += len; + return UTF8ArrayToString(binary, offset - len, len) + } + + function failIf(condition, message) { + if (condition) throw new Error(message) + } + var name = "dylink.0"; + if (binary instanceof WebAssembly.Module) { + var dylinkSection = WebAssembly.Module.customSections(binary, name); + if (dylinkSection.length === 0) { + name = "dylink"; + dylinkSection = WebAssembly.Module.customSections(binary, name) + } + failIf(dylinkSection.length === 0, "need dylink section"); + binary = new Uint8Array(dylinkSection[0]); + end = binary.length + } else { + var int32View = new Uint32Array(new Uint8Array(binary.subarray(0, 24)).buffer); + var magicNumberFound = int32View[0] == 1836278016; + failIf(!magicNumberFound, "need to see wasm magic number"); + failIf(binary[8] !== 0, "need the dylink section to be first"); + offset = 9; + var section_size = getLEB(); + end = offset + section_size; + name = getString() + } + var customSection = { + neededDynlibs: [], + tlsExports: new Set, + weakImports: new Set + }; + if (name == "dylink") { + customSection.memorySize = getLEB(); + customSection.memoryAlign = getLEB(); + customSection.tableSize = getLEB(); + customSection.tableAlign = getLEB(); + var neededDynlibsCount = getLEB(); + for (var i = 0; i < neededDynlibsCount; ++i) { + var libname = getString(); + customSection.neededDynlibs.push(libname) + } + } else { + failIf(name !== "dylink.0"); + var WASM_DYLINK_MEM_INFO = 1; + var WASM_DYLINK_NEEDED = 2; + var WASM_DYLINK_EXPORT_INFO = 3; + var WASM_DYLINK_IMPORT_INFO = 4; + var WASM_SYMBOL_TLS = 256; + var WASM_SYMBOL_BINDING_MASK = 3; + var WASM_SYMBOL_BINDING_WEAK = 1; + while (offset < end) { + var subsectionType = getU8(); + var subsectionSize = getLEB(); + if (subsectionType === WASM_DYLINK_MEM_INFO) { + customSection.memorySize = getLEB(); + customSection.memoryAlign = getLEB(); + customSection.tableSize = getLEB(); + customSection.tableAlign = getLEB() + } else if (subsectionType === WASM_DYLINK_NEEDED) { + var neededDynlibsCount = getLEB(); + for (var i = 0; i < neededDynlibsCount; ++i) { + libname = getString(); + customSection.neededDynlibs.push(libname) + } + } else if (subsectionType === WASM_DYLINK_EXPORT_INFO) { + var count = getLEB(); + while (count--) { + var symname = getString(); + var flags = getLEB(); + if (flags & WASM_SYMBOL_TLS) { + customSection.tlsExports.add(symname) + } + } + } else if (subsectionType === WASM_DYLINK_IMPORT_INFO) { + var count = getLEB(); + while (count--) { + var modname = getString(); + var symname = getString(); + var flags = getLEB(); + if ((flags & WASM_SYMBOL_BINDING_MASK) == WASM_SYMBOL_BINDING_WEAK) { + customSection.weakImports.add(symname) + } + } + } else { + offset += subsectionSize + } + } + } + return customSection + } + + function getValue(ptr, type = "i8") { + if (type.endsWith("*")) type = "*"; + switch (type) { + case "i1": + return HEAP8[ptr >> 0]; + case "i8": + return HEAP8[ptr >> 0]; + case "i16": + return HEAP16[ptr >> 1]; + case "i32": + return HEAP32[ptr >> 2]; + case "i64": + return HEAP32[ptr >> 2]; + case "float": + return HEAPF32[ptr >> 2]; + case "double": + return HEAPF64[ptr >> 3]; + case "*": + return HEAPU32[ptr >> 2]; + default: + abort("invalid type for getValue: " + type) + } + } + + function newDSO(name, handle, syms) { + var dso = { + refcount: Infinity, + name: name, + exports: syms, + global: true + }; + LDSO.loadedLibsByName[name] = dso; + if (handle != undefined) { + LDSO.loadedLibsByHandle[handle] = dso + } + return dso + } + var LDSO = { + loadedLibsByName: {}, + loadedLibsByHandle: {}, + init: () => newDSO("__main__", 0, wasmImports) + }; + var ___heap_base = 78160; + + function zeroMemory(address, size) { + HEAPU8.fill(0, address, address + size); + return address + } + + function getMemory(size) { + if (runtimeInitialized) { + return zeroMemory(_malloc(size), size) + } + var ret = ___heap_base; + var end = ret + size + 15 & -16; + ___heap_base = end; + GOT["__heap_base"].value = end; + return ret + } + + function isInternalSym(symName) { + return ["__cpp_exception", "__c_longjmp", "__wasm_apply_data_relocs", "__dso_handle", "__tls_size", "__tls_align", "__set_stack_limits", "_emscripten_tls_init", "__wasm_init_tls", "__wasm_call_ctors", "__start_em_asm", "__stop_em_asm"].includes(symName) + } + + function uleb128Encode(n, target) { + if (n < 128) { + target.push(n) + } else { + target.push(n % 128 | 128, n >> 7) } - }; + } - function callRuntimeCallbacks(callbacks) { - while (callbacks.length > 0) { - var callback = callbacks.shift(); - if (typeof callback == "function") { - callback(Module); - continue - } - var func = callback.func; - if (typeof func === "number") { - if (callback.arg === undefined) { - wasmTable.get(func)() - } else { - wasmTable.get(func)(callback.arg) - } - } else { - func(callback.arg === undefined ? null : callback.arg) + function sigToWasmTypes(sig) { + var typeNames = { + "i": "i32", + "j": "i32", + "f": "f32", + "d": "f64", + "p": "i32" + }; + var type = { + parameters: [], + results: sig[0] == "v" ? [] : [typeNames[sig[0]]] + }; + for (var i = 1; i < sig.length; ++i) { + type.parameters.push(typeNames[sig[i]]); + if (sig[i] === "j") { + type.parameters.push("i32") } } + return type } - function getDylinkMetadata(binary) { - var next = 0; - - function getLEB() { - var ret = 0; - var mul = 1; - while (1) { - var byte = binary[next++]; - ret += (byte & 127) * mul; - mul *= 128; - if (!(byte & 128)) break - } - return ret + function generateFuncType(sig, target) { + var sigRet = sig.slice(0, 1); + var sigParam = sig.slice(1); + var typeCodes = { + "i": 127, + "p": 127, + "j": 126, + "f": 125, + "d": 124 + }; + target.push(96); + uleb128Encode(sigParam.length, target); + for (var i = 0; i < sigParam.length; ++i) { + target.push(typeCodes[sigParam[i]]) } - if (binary instanceof WebAssembly.Module) { - var dylinkSection = WebAssembly.Module.customSections(binary, "dylink"); - assert(dylinkSection.length != 0, "need dylink section"); - binary = new Int8Array(dylinkSection[0]) + if (sigRet == "v") { + target.push(0) } else { - var int32View = new Uint32Array(new Uint8Array(binary.subarray(0, 24)).buffer); - assert(int32View[0] == 1836278016, "need to see wasm magic number"); - assert(binary[8] === 0, "need the dylink section to be first"); - next = 9; - getLEB(); - assert(binary[next] === 6); - next++; - assert(binary[next] === "d".charCodeAt(0)); - next++; - assert(binary[next] === "y".charCodeAt(0)); - next++; - assert(binary[next] === "l".charCodeAt(0)); - next++; - assert(binary[next] === "i".charCodeAt(0)); - next++; - assert(binary[next] === "n".charCodeAt(0)); - next++; - assert(binary[next] === "k".charCodeAt(0)); - next++ - } - var customSection = {}; - customSection.memorySize = getLEB(); - customSection.memoryAlign = getLEB(); - customSection.tableSize = getLEB(); - customSection.tableAlign = getLEB(); - var neededDynlibsCount = getLEB(); - customSection.neededDynlibs = []; - for (var i = 0; i < neededDynlibsCount; ++i) { - var nameLen = getLEB(); - var nameUTF8 = binary.subarray(next, next + nameLen); - next += nameLen; - var name = UTF8ArrayToString(nameUTF8, 0); - customSection.neededDynlibs.push(name) + target.push(1, typeCodes[sigRet]) } - return customSection } - var runtimeKeepaliveCounter = 0; - function keepRuntimeAlive() { - return noExitRuntime || runtimeKeepaliveCounter > 0 + function convertJsFunctionToWasm(func, sig) { + if (typeof WebAssembly.Function == "function") { + return new WebAssembly.Function(sigToWasmTypes(sig), func) + } + var typeSectionBody = [1]; + generateFuncType(sig, typeSectionBody); + var bytes = [0, 97, 115, 109, 1, 0, 0, 0, 1]; + uleb128Encode(typeSectionBody.length, bytes); + bytes.push.apply(bytes, typeSectionBody); + bytes.push(2, 7, 1, 1, 101, 1, 102, 0, 0, 7, 5, 1, 1, 102, 0, 0); + var module = new WebAssembly.Module(new Uint8Array(bytes)); + var instance = new WebAssembly.Instance(module, { + "e": { + "f": func + } + }); + var wrappedFunc = instance.exports["f"]; + return wrappedFunc } + var wasmTableMirror = []; - function asmjsMangle(x) { - var unmangledSymbols = ["stackAlloc", "stackSave", "stackRestore"]; - return x.indexOf("dynCall_") == 0 || unmangledSymbols.includes(x) ? x : "_" + x + function getWasmTableEntry(funcPtr) { + var func = wasmTableMirror[funcPtr]; + if (!func) { + if (funcPtr >= wasmTableMirror.length) wasmTableMirror.length = funcPtr + 1; + wasmTableMirror[funcPtr] = func = wasmTable.get(funcPtr) + } + return func } - function mergeLibSymbols(exports, libName) { - for (var sym in exports) { - if (!exports.hasOwnProperty(sym)) { - continue - } - if (!asmLibraryArg.hasOwnProperty(sym)) { - asmLibraryArg[sym] = exports[sym] - } - var module_sym = asmjsMangle(sym); - if (!Module.hasOwnProperty(module_sym)) { - Module[module_sym] = exports[sym] + function updateTableMap(offset, count) { + if (functionsInTableMap) { + for (var i = offset; i < offset + count; i++) { + var item = getWasmTableEntry(i); + if (item) { + functionsInTableMap.set(item, i) + } } } } - var LDSO = { - nextHandle: 1, - loadedLibs: {}, - loadedLibNames: {} - }; - - function dynCallLegacy(sig, ptr, args) { - var f = Module["dynCall_" + sig]; - return args && args.length ? f.apply(null, [ptr].concat(args)) : f.call(null, ptr) - } + var functionsInTableMap = undefined; - function dynCall(sig, ptr, args) { - if (sig.includes("j")) { - return dynCallLegacy(sig, ptr, args) + function getFunctionAddress(func) { + if (!functionsInTableMap) { + functionsInTableMap = new WeakMap; + updateTableMap(0, wasmTable.length) } - return wasmTable.get(ptr).apply(null, args) + return functionsInTableMap.get(func) || 0 } + var freeTableIndexes = []; - function createInvokeFunction(sig) { - return function() { - var sp = stackSave(); - try { - return dynCall(sig, arguments[0], Array.prototype.slice.call(arguments, 1)) - } catch (e) { - stackRestore(sp); - if (e !== e + 0 && e !== "longjmp") throw e; - _setThrew(1, 0) + function getEmptyTableSlot() { + if (freeTableIndexes.length) { + return freeTableIndexes.pop() + } + try { + wasmTable.grow(1) + } catch (err) { + if (!(err instanceof RangeError)) { + throw err } + throw "Unable to grow wasm table. Set ALLOW_TABLE_GROWTH." } + return wasmTable.length - 1 } - var ___heap_base = 5251072; - Module["___heap_base"] = ___heap_base; - function getMemory(size) { - if (runtimeInitialized) return _malloc(size); - var ret = ___heap_base; - var end = ret + size + 15 & -16; - ___heap_base = end; - GOT["__heap_base"].value = end; - return ret + function setWasmTableEntry(idx, func) { + wasmTable.set(idx, func); + wasmTableMirror[idx] = wasmTable.get(idx) } - function isInternalSym(symName) { - return ["__cpp_exception", "__wasm_apply_data_relocs", "__dso_handle", "__set_stack_limits"].includes(symName) + function addFunction(func, sig) { + var rtn = getFunctionAddress(func); + if (rtn) { + return rtn + } + var ret = getEmptyTableSlot(); + try { + setWasmTableEntry(ret, func) + } catch (err) { + if (!(err instanceof TypeError)) { + throw err + } + var wrapped = convertJsFunctionToWasm(func, sig); + setWasmTableEntry(ret, wrapped) + } + functionsInTableMap.set(func, ret); + return ret } - function updateGOT(exports) { + function updateGOT(exports, replace) { for (var symName in exports) { if (isInternalSym(symName)) { continue } - var replace = false; var value = exports[symName]; if (symName.startsWith("orig$")) { symName = symName.split("$")[1]; @@ -918,9 +795,9 @@ var TreeSitter = function() { }) } if (replace || GOT[symName].value == 0) { - if (typeof value === "function") { - GOT[symName].value = addFunctionWasm(value) - } else if (typeof value === "number") { + if (typeof value == "function") { + GOT[symName].value = addFunction(value) + } else if (typeof value == "number") { GOT[symName].value = value } else { err("unhandled export type for `" + symName + "`: " + typeof value) @@ -929,58 +806,113 @@ var TreeSitter = function() { } } - function relocateExports(exports, memoryBase) { + function relocateExports(exports, memoryBase, replace) { var relocated = {}; for (var e in exports) { var value = exports[e]; - if (typeof value === "object") { + if (typeof value == "object") { value = value.value } - if (typeof value === "number") { + if (typeof value == "number") { value += memoryBase } relocated[e] = value } - updateGOT(relocated); + updateGOT(relocated, replace); return relocated } - function resolveGlobalSymbol(symName, direct) { + function isSymbolDefined(symName) { + var existing = wasmImports[symName]; + if (!existing || existing.stub) { + return false + } + return true + } + + function resolveGlobalSymbol(symName, direct = false) { var sym; - if (direct) { - sym = asmLibraryArg["orig$" + symName] + if (direct && "orig$" + symName in wasmImports) { + symName = "orig$" + symName + } + if (isSymbolDefined(symName)) { + sym = wasmImports[symName] + } else if (symName.startsWith("invoke_")) { + sym = wasmImports[symName] = createInvokeFunction(symName.split("_")[1]) } - if (!sym) { - sym = asmLibraryArg[symName] + return { + sym: sym, + name: symName } - if (!sym) { - sym = Module[asmjsMangle(symName)] + } + + function alignMemory(size, alignment) { + return Math.ceil(size / alignment) * alignment + } + + function dynCallLegacy(sig, ptr, args) { + var f = Module["dynCall_" + sig]; + return args && args.length ? f.apply(null, [ptr].concat(args)) : f.call(null, ptr) + } + + function dynCall(sig, ptr, args) { + if (sig.includes("j")) { + return dynCallLegacy(sig, ptr, args) } - if (!sym && symName.startsWith("invoke_")) { - sym = createInvokeFunction(symName.split("_")[1]) + var rtn = getWasmTableEntry(ptr).apply(null, args); + return rtn + } + + function createInvokeFunction(sig) { + return function() { + var sp = stackSave(); + try { + return dynCall(sig, arguments[0], Array.prototype.slice.call(arguments, 1)) + } catch (e) { + stackRestore(sp); + if (e !== e + 0) throw e; + _setThrew(1, 0) + } } - return sym } - function loadWebAssemblyModule(binary, flags) { + function UTF8ToString(ptr, maxBytesToRead) { + return ptr ? UTF8ArrayToString(HEAPU8, ptr, maxBytesToRead) : "" + } + + function loadWebAssemblyModule(binary, flags, localScope, handle) { var metadata = getDylinkMetadata(binary); + currentModuleWeakSymbols = metadata.weakImports; function loadModule() { - var memAlign = Math.pow(2, metadata.memoryAlign); - memAlign = Math.max(memAlign, STACK_ALIGN); - var memoryBase = alignMemory(getMemory(metadata.memorySize + memAlign), memAlign); - var tableBase = wasmTable.length; - wasmTable.grow(metadata.tableSize); - for (var i = memoryBase; i < memoryBase + metadata.memorySize; i++) { - HEAP8[i] = 0 + var firstLoad = !handle || !HEAP8[handle + 8 >> 0]; + if (firstLoad) { + var memAlign = Math.pow(2, metadata.memoryAlign); + memAlign = Math.max(memAlign, 16); + var memoryBase = metadata.memorySize ? alignMemory(getMemory(metadata.memorySize + memAlign), memAlign) : 0; + var tableBase = metadata.tableSize ? wasmTable.length : 0; + if (handle) { + HEAP8[handle + 8 >> 0] = 1; + HEAPU32[handle + 12 >> 2] = memoryBase; + HEAP32[handle + 16 >> 2] = metadata.memorySize; + HEAPU32[handle + 20 >> 2] = tableBase; + HEAP32[handle + 24 >> 2] = metadata.tableSize + } + } else { + memoryBase = HEAPU32[handle + 12 >> 2]; + tableBase = HEAPU32[handle + 20 >> 2] } - for (var i = tableBase; i < tableBase + metadata.tableSize; i++) { - wasmTable.set(i, null) + var tableGrowthNeeded = tableBase + metadata.tableSize - wasmTable.length; + if (tableGrowthNeeded > 0) { + wasmTable.grow(tableGrowthNeeded) } var moduleExports; function resolveSymbol(sym) { - var resolved = resolveGlobalSymbol(sym, false); + var resolved = resolveGlobalSymbol(sym).sym; + if (!resolved && localScope) { + resolved = localScope[sym] + } if (!resolved) { resolved = moduleExports[sym] } @@ -994,13 +926,13 @@ var TreeSitter = function() { case "__table_base": return tableBase } - if (prop in asmLibraryArg) { - return asmLibraryArg[prop] + if (prop in wasmImports && !wasmImports[prop].stub) { + return wasmImports[prop] } if (!(prop in stubs)) { var resolved; stubs[prop] = function() { - if (!resolved) resolved = resolveSymbol(prop, true); + if (!resolved) resolved = resolveSymbol(prop); checkForAsmVersion(prop); return resolved.apply(null, arguments) } @@ -1017,20 +949,44 @@ var TreeSitter = function() { }; function postInstantiation(instance) { - for (var i = 0; i < metadata.tableSize; i++) { - var item = wasmTable.get(tableBase + i); - if (item) { - functionsInTableMap.set(item, tableBase + i) - } - } + updateTableMap(tableBase, metadata.tableSize); moduleExports = relocateExports(instance.exports, memoryBase); if (!flags.allowUndefined) { reportUndefinedSymbols() } - var init = moduleExports["__wasm_call_ctors"]; - if (!init) { - init = moduleExports["__post_instantiate"] + + function addEmAsm(addr, body) { + var args = []; + var arity = 0; + for (; arity < 16; arity++) { + if (body.indexOf("$" + arity) != -1) { + args.push("$" + arity) + } else { + break + } + } + args = args.join(","); + var func = "(" + args + " ) => { " + body + "};"; + ASM_CONSTS[start] = eval(func) + } + if ("__start_em_asm" in moduleExports) { + var start = moduleExports["__start_em_asm"]; + var stop = moduleExports["__stop_em_asm"]; + while (start < stop) { + var jsString = UTF8ToString(start); + addEmAsm(start, jsString); + start = HEAPU8.indexOf(0, start) + 1 + } + } + var applyRelocs = moduleExports["__wasm_apply_data_relocs"]; + if (applyRelocs) { + if (runtimeInitialized) { + applyRelocs() + } else { + __RELOC_FUNCS__.push(applyRelocs) + } } + var init = moduleExports["__wasm_call_ctors"]; if (init) { if (runtimeInitialized) { init() @@ -1063,67 +1019,63 @@ var TreeSitter = function() { }) } metadata.neededDynlibs.forEach(function(dynNeeded) { - loadDynamicLibrary(dynNeeded, flags) + loadDynamicLibrary(dynNeeded, flags, localScope) }); return loadModule() } - function fetchBinary(url) { - return fetch(url, { - credentials: "same-origin" - }).then(function(response) { - if (!response["ok"]) { - throw "failed to load binary file at '" + url + "'" + function mergeLibSymbols(exports, libName) { + for (var sym in exports) { + if (!exports.hasOwnProperty(sym)) { + continue } - return response["arrayBuffer"]() - }).then(function(buffer) { - return new Uint8Array(buffer) - }) - } - - function loadDynamicLibrary(lib, flags) { - if (lib == "__main__" && !LDSO.loadedLibNames[lib]) { - LDSO.loadedLibs[-1] = { - refcount: Infinity, - name: "__main__", - module: Module["asm"], - global: true + const setImport = target => { + if (!isSymbolDefined(target)) { + wasmImports[target] = exports[sym] + } }; - LDSO.loadedLibNames["__main__"] = -1 + setImport(sym); + const main_alias = "__main_argc_argv"; + if (sym == "main") { + setImport(main_alias) + } + if (sym == main_alias) { + setImport("main") + } + if (sym.startsWith("dynCall_") && !Module.hasOwnProperty(sym)) { + Module[sym] = exports[sym] + } } - flags = flags || { - global: true, - nodelete: true - }; - var handle = LDSO.loadedLibNames[lib]; - var dso; - if (handle) { - dso = LDSO.loadedLibs[handle]; + } + + function loadDynamicLibrary(libName, flags = { + global: true, + nodelete: true + }, localScope, handle) { + var dso = LDSO.loadedLibsByName[libName]; + if (dso) { if (flags.global && !dso.global) { dso.global = true; - if (dso.module !== "loading") { - mergeLibSymbols(dso.module, lib) + if (dso.exports !== "loading") { + mergeLibSymbols(dso.exports, libName) } } if (flags.nodelete && dso.refcount !== Infinity) { dso.refcount = Infinity } dso.refcount++; - return flags.loadAsync ? Promise.resolve(handle) : handle - } - handle = LDSO.nextHandle++; - dso = { - refcount: flags.nodelete ? Infinity : 1, - name: lib, - module: "loading", - global: flags.global - }; - LDSO.loadedLibNames[lib] = handle; - LDSO.loadedLibs[handle] = dso; + if (handle) { + LDSO.loadedLibsByHandle[handle] = dso + } + return flags.loadAsync ? Promise.resolve(true) : true + } + dso = newDSO(libName, handle, "loading"); + dso.refcount = flags.nodelete ? Infinity : 1; + dso.global = flags.global; - function loadLibData(libFile) { - if (flags.fs) { - var libData = flags.fs.readFile(libFile, { + function loadLibData() { + if (flags.fs && flags.fs.findObject(libName)) { + var libData = flags.fs.readFile(libName, { encoding: "binary" }); if (!(libData instanceof Uint8Array)) { @@ -1131,139 +1083,169 @@ var TreeSitter = function() { } return flags.loadAsync ? Promise.resolve(libData) : libData } + var libFile = locateFile(libName); if (flags.loadAsync) { - return fetchBinary(libFile) + return new Promise(function(resolve, reject) { + readAsync(libFile, data => resolve(new Uint8Array(data)), reject) + }) + } + if (!readBinary) { + throw new Error(libFile + ": file not found, and synchronous loading of external files is not available") } return readBinary(libFile) } - function getLibModule() { - if (Module["preloadedWasm"] !== undefined && Module["preloadedWasm"][lib] !== undefined) { - var libModule = Module["preloadedWasm"][lib]; + function getExports() { + if (typeof preloadedWasm != "undefined" && preloadedWasm[libName]) { + var libModule = preloadedWasm[libName]; return flags.loadAsync ? Promise.resolve(libModule) : libModule } if (flags.loadAsync) { - return loadLibData(lib).then(function(libData) { - return loadWebAssemblyModule(libData, flags) - }) + return loadLibData().then(libData => loadWebAssemblyModule(libData, flags, localScope, handle)) } - return loadWebAssemblyModule(loadLibData(lib), flags) + return loadWebAssemblyModule(loadLibData(), flags, localScope, handle) } - function moduleLoaded(libModule) { + function moduleLoaded(exports) { if (dso.global) { - mergeLibSymbols(libModule, lib) + mergeLibSymbols(exports, libName) + } else if (localScope) { + Object.assign(localScope, exports) } - dso.module = libModule + dso.exports = exports } if (flags.loadAsync) { - return getLibModule().then(function(libModule) { - moduleLoaded(libModule); - return handle + return getExports().then(exports => { + moduleLoaded(exports); + return true }) } - moduleLoaded(getLibModule()); - return handle + moduleLoaded(getExports()); + return true } function reportUndefinedSymbols() { for (var symName in GOT) { if (GOT[symName].value == 0) { - var value = resolveGlobalSymbol(symName, true); - if (typeof value === "function") { - GOT[symName].value = addFunctionWasm(value, value.sig) - } else if (typeof value === "number") { + var value = resolveGlobalSymbol(symName, true).sym; + if (!value && !GOT[symName].required) { + continue + } + if (typeof value == "function") { + GOT[symName].value = addFunction(value, value.sig) + } else if (typeof value == "number") { GOT[symName].value = value } else { - assert(false, "bad export type for `" + symName + "`: " + typeof value) + throw new Error("bad export type for `" + symName + "`: " + typeof value) } } } } - function preloadDylibs() { + function loadDylibs() { if (!dynamicLibraries.length) { reportUndefinedSymbols(); return } - if (!readBinary) { - addRunDependency("preloadDylibs"); - dynamicLibraries.reduce(function(chain, lib) { - return chain.then(function() { - return loadDynamicLibrary(lib, { - loadAsync: true, - global: true, - nodelete: true, - allowUndefined: true - }) + addRunDependency("loadDylibs"); + dynamicLibraries.reduce(function(chain, lib) { + return chain.then(function() { + return loadDynamicLibrary(lib, { + loadAsync: true, + global: true, + nodelete: true, + allowUndefined: true }) - }, Promise.resolve()).then(function() { - removeRunDependency("preloadDylibs"); - reportUndefinedSymbols() - }); - return - } - dynamicLibraries.forEach(function(lib) { - loadDynamicLibrary(lib, { - global: true, - nodelete: true, - allowUndefined: true }) - }); - reportUndefinedSymbols() + }, Promise.resolve()).then(function() { + reportUndefinedSymbols(); + removeRunDependency("loadDylibs") + }) } + + function setValue(ptr, value, type = "i8") { + if (type.endsWith("*")) type = "*"; + switch (type) { + case "i1": + HEAP8[ptr >> 0] = value; + break; + case "i8": + HEAP8[ptr >> 0] = value; + break; + case "i16": + HEAP16[ptr >> 1] = value; + break; + case "i32": + HEAP32[ptr >> 2] = value; + break; + case "i64": + tempI64 = [value >>> 0, (tempDouble = value, +Math.abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math.min(+Math.floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math.ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0)], HEAP32[ptr >> 2] = tempI64[0], HEAP32[ptr + 4 >> 2] = tempI64[1]; + break; + case "float": + HEAPF32[ptr >> 2] = value; + break; + case "double": + HEAPF64[ptr >> 3] = value; + break; + case "*": + HEAPU32[ptr >> 2] = value; + break; + default: + abort("invalid type for setValue: " + type) + } + } + var ___memory_base = new WebAssembly.Global({ + "value": "i32", + "mutable": false + }, 1024); var ___stack_pointer = new WebAssembly.Global({ "value": "i32", "mutable": true - }, 5251072); + }, 78160); + var ___table_base = new WebAssembly.Global({ + "value": "i32", + "mutable": false + }, 1); + var nowIsMonotonic = true; + + function __emscripten_get_now_is_monotonic() { + return nowIsMonotonic + } + __emscripten_get_now_is_monotonic.sig = "i"; function _abort() { - abort() + abort("") } Module["_abort"] = _abort; _abort.sig = "v"; + + function _emscripten_date_now() { + return Date.now() + } + _emscripten_date_now.sig = "d"; var _emscripten_get_now; if (ENVIRONMENT_IS_NODE) { - _emscripten_get_now = function() { - var t = process["hrtime"](); + _emscripten_get_now = () => { + var t = process.hrtime(); return t[0] * 1e3 + t[1] / 1e6 } - } else if (typeof dateNow !== "undefined") { - _emscripten_get_now = dateNow - } else _emscripten_get_now = function() { - return performance.now() - }; - var _emscripten_get_now_is_monotonic = true; - - function setErrNo(value) { - HEAP32[___errno_location() >> 2] = value; - return value - } - - function _clock_gettime(clk_id, tp) { - var now; - if (clk_id === 0) { - now = Date.now() - } else if ((clk_id === 1 || clk_id === 4) && _emscripten_get_now_is_monotonic) { - now = _emscripten_get_now() - } else { - setErrNo(28); - return -1 - } - HEAP32[tp >> 2] = now / 1e3 | 0; - HEAP32[tp + 4 >> 2] = now % 1e3 * 1e3 * 1e3 | 0; - return 0 - } - _clock_gettime.sig = "iii"; + } else _emscripten_get_now = () => performance.now(); + _emscripten_get_now.sig = "d"; function _emscripten_memcpy_big(dest, src, num) { HEAPU8.copyWithin(dest, src, src + num) } + _emscripten_memcpy_big.sig = "vppp"; + + function getHeapMax() { + return 2147483648 + } function emscripten_realloc_buffer(size) { + var b = wasmMemory.buffer; try { - wasmMemory.grow(size - buffer.byteLength + 65535 >>> 16); - updateGlobalBufferAndViews(wasmMemory.buffer); + wasmMemory.grow(size - b.byteLength + 65535 >>> 16); + updateMemoryViews(); return 1 } catch (e) {} } @@ -1271,10 +1253,11 @@ var TreeSitter = function() { function _emscripten_resize_heap(requestedSize) { var oldSize = HEAPU8.length; requestedSize = requestedSize >>> 0; - var maxHeapSize = 2147483648; + var maxHeapSize = getHeapMax(); if (requestedSize > maxHeapSize) { return false } + let alignUp = (x, multiple) => x + (multiple - x % multiple) % multiple; for (var cutDown = 1; cutDown <= 4; cutDown *= 2) { var overGrownHeapSize = oldSize * (1 + .2 / cutDown); overGrownHeapSize = Math.min(overGrownHeapSize, requestedSize + 100663296); @@ -1286,25 +1269,18 @@ var TreeSitter = function() { } return false } - - function _exit(status) { - exit(status) - } - _exit.sig = "vi"; + _emscripten_resize_heap.sig = "ip"; var SYSCALLS = { - mappings: {}, DEFAULT_POLLMASK: 5, - umask: 511, calculateAt: function(dirfd, path, allowEmpty) { - if (path[0] === "/") { + if (PATH.isAbs(path)) { return path } var dir; if (dirfd === -100) { dir = FS.cwd() } else { - var dirstream = FS.getStream(dirfd); - if (!dirstream) throw new FS.ErrnoError(8); + var dirstream = SYSCALLS.getStreamFromFD(dirfd); dir = dirstream.path } if (path.length == 0) { @@ -1325,107 +1301,36 @@ var TreeSitter = function() { throw e } HEAP32[buf >> 2] = stat.dev; - HEAP32[buf + 4 >> 2] = 0; HEAP32[buf + 8 >> 2] = stat.ino; - HEAP32[buf + 12 >> 2] = stat.mode; - HEAP32[buf + 16 >> 2] = stat.nlink; - HEAP32[buf + 20 >> 2] = stat.uid; - HEAP32[buf + 24 >> 2] = stat.gid; - HEAP32[buf + 28 >> 2] = stat.rdev; - HEAP32[buf + 32 >> 2] = 0; - tempI64 = [stat.size >>> 0, (tempDouble = stat.size, +Math.abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math.min(+Math.floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math.ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0)], HEAP32[buf + 40 >> 2] = tempI64[0], HEAP32[buf + 44 >> 2] = tempI64[1]; - HEAP32[buf + 48 >> 2] = 4096; - HEAP32[buf + 52 >> 2] = stat.blocks; - HEAP32[buf + 56 >> 2] = stat.atime.getTime() / 1e3 | 0; - HEAP32[buf + 60 >> 2] = 0; - HEAP32[buf + 64 >> 2] = stat.mtime.getTime() / 1e3 | 0; - HEAP32[buf + 68 >> 2] = 0; - HEAP32[buf + 72 >> 2] = stat.ctime.getTime() / 1e3 | 0; - HEAP32[buf + 76 >> 2] = 0; - tempI64 = [stat.ino >>> 0, (tempDouble = stat.ino, +Math.abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math.min(+Math.floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math.ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0)], HEAP32[buf + 80 >> 2] = tempI64[0], HEAP32[buf + 84 >> 2] = tempI64[1]; - return 0 - }, - doMsync: function(addr, stream, len, flags, offset) { - var buffer = HEAPU8.slice(addr, addr + len); - FS.msync(stream, buffer, offset, len, flags) - }, - doMkdir: function(path, mode) { - path = PATH.normalize(path); - if (path[path.length - 1] === "/") path = path.substr(0, path.length - 1); - FS.mkdir(path, mode, 0); - return 0 - }, - doMknod: function(path, mode, dev) { - switch (mode & 61440) { - case 32768: - case 8192: - case 24576: - case 4096: - case 49152: - break; - default: - return -28 - } - FS.mknod(path, mode, dev); - return 0 - }, - doReadlink: function(path, buf, bufsize) { - if (bufsize <= 0) return -28; - var ret = FS.readlink(path); - var len = Math.min(bufsize, lengthBytesUTF8(ret)); - var endChar = HEAP8[buf + len]; - stringToUTF8(ret, buf, bufsize + 1); - HEAP8[buf + len] = endChar; - return len - }, - doAccess: function(path, amode) { - if (amode & ~7) { - return -28 - } - var node; - var lookup = FS.lookupPath(path, { - follow: true - }); - node = lookup.node; - if (!node) { - return -44 - } - var perms = ""; - if (amode & 4) perms += "r"; - if (amode & 2) perms += "w"; - if (amode & 1) perms += "x"; - if (perms && FS.nodePermissions(node, perms)) { - return -2 - } + HEAP32[buf + 12 >> 2] = stat.mode; + HEAPU32[buf + 16 >> 2] = stat.nlink; + HEAP32[buf + 20 >> 2] = stat.uid; + HEAP32[buf + 24 >> 2] = stat.gid; + HEAP32[buf + 28 >> 2] = stat.rdev; + tempI64 = [stat.size >>> 0, (tempDouble = stat.size, +Math.abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math.min(+Math.floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math.ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0)], HEAP32[buf + 40 >> 2] = tempI64[0], HEAP32[buf + 44 >> 2] = tempI64[1]; + HEAP32[buf + 48 >> 2] = 4096; + HEAP32[buf + 52 >> 2] = stat.blocks; + var atime = stat.atime.getTime(); + var mtime = stat.mtime.getTime(); + var ctime = stat.ctime.getTime(); + tempI64 = [Math.floor(atime / 1e3) >>> 0, (tempDouble = Math.floor(atime / 1e3), +Math.abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math.min(+Math.floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math.ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0)], HEAP32[buf + 56 >> 2] = tempI64[0], HEAP32[buf + 60 >> 2] = tempI64[1]; + HEAPU32[buf + 64 >> 2] = atime % 1e3 * 1e3; + tempI64 = [Math.floor(mtime / 1e3) >>> 0, (tempDouble = Math.floor(mtime / 1e3), +Math.abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math.min(+Math.floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math.ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0)], HEAP32[buf + 72 >> 2] = tempI64[0], HEAP32[buf + 76 >> 2] = tempI64[1]; + HEAPU32[buf + 80 >> 2] = mtime % 1e3 * 1e3; + tempI64 = [Math.floor(ctime / 1e3) >>> 0, (tempDouble = Math.floor(ctime / 1e3), +Math.abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math.min(+Math.floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math.ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0)], HEAP32[buf + 88 >> 2] = tempI64[0], HEAP32[buf + 92 >> 2] = tempI64[1]; + HEAPU32[buf + 96 >> 2] = ctime % 1e3 * 1e3; + tempI64 = [stat.ino >>> 0, (tempDouble = stat.ino, +Math.abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math.min(+Math.floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math.ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0)], HEAP32[buf + 104 >> 2] = tempI64[0], HEAP32[buf + 108 >> 2] = tempI64[1]; return 0 }, - doDup: function(path, flags, suggestFD) { - var suggest = FS.getStream(suggestFD); - if (suggest) FS.close(suggest); - return FS.open(path, flags, 0, suggestFD, suggestFD).fd - }, - doReadv: function(stream, iov, iovcnt, offset) { - var ret = 0; - for (var i = 0; i < iovcnt; i++) { - var ptr = HEAP32[iov + i * 8 >> 2]; - var len = HEAP32[iov + (i * 8 + 4) >> 2]; - var curr = FS.read(stream, HEAP8, ptr, len, offset); - if (curr < 0) return -1; - ret += curr; - if (curr < len) break + doMsync: function(addr, stream, len, flags, offset) { + if (!FS.isFile(stream.node.mode)) { + throw new FS.ErrnoError(43) } - return ret - }, - doWritev: function(stream, iov, iovcnt, offset) { - var ret = 0; - for (var i = 0; i < iovcnt; i++) { - var ptr = HEAP32[iov + i * 8 >> 2]; - var len = HEAP32[iov + (i * 8 + 4) >> 2]; - var curr = FS.write(stream, HEAP8, ptr, len, offset); - if (curr < 0) return -1; - ret += curr + if (flags & 2) { + return 0 } - return ret + var buffer = HEAPU8.slice(addr, addr + len); + FS.msync(stream, buffer, offset, len, flags) }, varargs: undefined, get: function() { @@ -1441,9 +1346,6 @@ var TreeSitter = function() { var stream = FS.getStream(fd); if (!stream) throw new FS.ErrnoError(8); return stream - }, - get64: function(low, high) { - return low } }; @@ -1453,48 +1355,60 @@ var TreeSitter = function() { FS.close(stream); return 0 } catch (e) { - if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); + if (typeof FS == "undefined" || !(e.name === "ErrnoError")) throw e; return e.errno } } _fd_close.sig = "ii"; + function convertI32PairToI53Checked(lo, hi) { + return hi + 2097152 >>> 0 < 4194305 - !!lo ? (lo >>> 0) + hi * 4294967296 : NaN + } + function _fd_seek(fd, offset_low, offset_high, whence, newOffset) { try { + var offset = convertI32PairToI53Checked(offset_low, offset_high); + if (isNaN(offset)) return 61; var stream = SYSCALLS.getStreamFromFD(fd); - var HIGH_OFFSET = 4294967296; - var offset = offset_high * HIGH_OFFSET + (offset_low >>> 0); - var DOUBLE_LIMIT = 9007199254740992; - if (offset <= -DOUBLE_LIMIT || offset >= DOUBLE_LIMIT) { - return -61 - } FS.llseek(stream, offset, whence); tempI64 = [stream.position >>> 0, (tempDouble = stream.position, +Math.abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math.min(+Math.floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math.ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0)], HEAP32[newOffset >> 2] = tempI64[0], HEAP32[newOffset + 4 >> 2] = tempI64[1]; if (stream.getdents && offset === 0 && whence === 0) stream.getdents = null; return 0 } catch (e) { - if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); + if (typeof FS == "undefined" || !(e.name === "ErrnoError")) throw e; return e.errno } } + _fd_seek.sig = "iijip"; + + function doWritev(stream, iov, iovcnt, offset) { + var ret = 0; + for (var i = 0; i < iovcnt; i++) { + var ptr = HEAPU32[iov >> 2]; + var len = HEAPU32[iov + 4 >> 2]; + iov += 8; + var curr = FS.write(stream, HEAP8, ptr, len, offset); + if (curr < 0) return -1; + ret += curr; + if (typeof offset !== "undefined") { + offset += curr + } + } + return ret + } function _fd_write(fd, iov, iovcnt, pnum) { try { var stream = SYSCALLS.getStreamFromFD(fd); - var num = SYSCALLS.doWritev(stream, iov, iovcnt); - HEAP32[pnum >> 2] = num; + var num = doWritev(stream, iov, iovcnt); + HEAPU32[pnum >> 2] = num; return 0 } catch (e) { - if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); + if (typeof FS == "undefined" || !(e.name === "ErrnoError")) throw e; return e.errno } } - _fd_write.sig = "iiiii"; - - function _setTempRet0(val) { - setTempRet0(val) - } - _setTempRet0.sig = "vi"; + _fd_write.sig = "iippp"; function _tree_sitter_log_callback(isLexMessage, messageAddress) { if (currentLogCallback) { @@ -1516,30 +1430,141 @@ var TreeSitter = function() { setValue(lengthAddress, 0, "i32") } } - var ___memory_base = 1024; - var ___table_base = 1; - var asmLibraryArg = { + + function _proc_exit(code) { + EXITSTATUS = code; + if (!keepRuntimeAlive()) { + if (Module["onExit"]) Module["onExit"](code); + ABORT = true + } + quit_(code, new ExitStatus(code)) + } + _proc_exit.sig = "vi"; + + function exitJS(status, implicit) { + EXITSTATUS = status; + _proc_exit(status) + } + + function handleException(e) { + if (e instanceof ExitStatus || e == "unwind") { + return EXITSTATUS + } + quit_(1, e) + } + + function lengthBytesUTF8(str) { + var len = 0; + for (var i = 0; i < str.length; ++i) { + var c = str.charCodeAt(i); + if (c <= 127) { + len++ + } else if (c <= 2047) { + len += 2 + } else if (c >= 55296 && c <= 57343) { + len += 4; + ++i + } else { + len += 3 + } + } + return len + } + + function stringToUTF8Array(str, heap, outIdx, maxBytesToWrite) { + if (!(maxBytesToWrite > 0)) return 0; + var startIdx = outIdx; + var endIdx = outIdx + maxBytesToWrite - 1; + for (var i = 0; i < str.length; ++i) { + var u = str.charCodeAt(i); + if (u >= 55296 && u <= 57343) { + var u1 = str.charCodeAt(++i); + u = 65536 + ((u & 1023) << 10) | u1 & 1023 + } + if (u <= 127) { + if (outIdx >= endIdx) break; + heap[outIdx++] = u + } else if (u <= 2047) { + if (outIdx + 1 >= endIdx) break; + heap[outIdx++] = 192 | u >> 6; + heap[outIdx++] = 128 | u & 63 + } else if (u <= 65535) { + if (outIdx + 2 >= endIdx) break; + heap[outIdx++] = 224 | u >> 12; + heap[outIdx++] = 128 | u >> 6 & 63; + heap[outIdx++] = 128 | u & 63 + } else { + if (outIdx + 3 >= endIdx) break; + heap[outIdx++] = 240 | u >> 18; + heap[outIdx++] = 128 | u >> 12 & 63; + heap[outIdx++] = 128 | u >> 6 & 63; + heap[outIdx++] = 128 | u & 63 + } + } + heap[outIdx] = 0; + return outIdx - startIdx + } + + function stringToUTF8(str, outPtr, maxBytesToWrite) { + return stringToUTF8Array(str, HEAPU8, outPtr, maxBytesToWrite) + } + + function stringToUTF8OnStack(str) { + var size = lengthBytesUTF8(str) + 1; + var ret = stackAlloc(size); + stringToUTF8(str, ret, size); + return ret + } + + function stringToUTF16(str, outPtr, maxBytesToWrite) { + if (maxBytesToWrite === undefined) { + maxBytesToWrite = 2147483647 + } + if (maxBytesToWrite < 2) return 0; + maxBytesToWrite -= 2; + var startPtr = outPtr; + var numCharsToWrite = maxBytesToWrite < str.length * 2 ? maxBytesToWrite / 2 : str.length; + for (var i = 0; i < numCharsToWrite; ++i) { + var codeUnit = str.charCodeAt(i); + HEAP16[outPtr >> 1] = codeUnit; + outPtr += 2 + } + HEAP16[outPtr >> 1] = 0; + return outPtr - startPtr + } + + function AsciiToString(ptr) { + var str = ""; + while (1) { + var ch = HEAPU8[ptr++ >> 0]; + if (!ch) return str; + str += String.fromCharCode(ch) + } + } + var wasmImports = { "__heap_base": ___heap_base, "__indirect_function_table": wasmTable, "__memory_base": ___memory_base, "__stack_pointer": ___stack_pointer, "__table_base": ___table_base, + "_emscripten_get_now_is_monotonic": __emscripten_get_now_is_monotonic, "abort": _abort, - "clock_gettime": _clock_gettime, + "emscripten_get_now": _emscripten_get_now, "emscripten_memcpy_big": _emscripten_memcpy_big, "emscripten_resize_heap": _emscripten_resize_heap, - "exit": _exit, "fd_close": _fd_close, "fd_seek": _fd_seek, "fd_write": _fd_write, "memory": wasmMemory, - "setTempRet0": _setTempRet0, "tree_sitter_log_callback": _tree_sitter_log_callback, "tree_sitter_parse_callback": _tree_sitter_parse_callback }; var asm = createWasm(); - var ___wasm_call_ctors = Module["___wasm_call_ctors"] = function() { - return (___wasm_call_ctors = Module["___wasm_call_ctors"] = Module["asm"]["__wasm_call_ctors"]).apply(null, arguments) + var ___wasm_call_ctors = function() { + return (___wasm_call_ctors = Module["asm"]["__wasm_call_ctors"]).apply(null, arguments) + }; + var ___wasm_apply_data_relocs = Module["___wasm_apply_data_relocs"] = function() { + return (___wasm_apply_data_relocs = Module["___wasm_apply_data_relocs"] = Module["asm"]["__wasm_apply_data_relocs"]).apply(null, arguments) }; var _malloc = Module["_malloc"] = function() { return (_malloc = Module["_malloc"] = Module["asm"]["malloc"]).apply(null, arguments) @@ -1556,12 +1581,18 @@ var TreeSitter = function() { var _ts_language_symbol_count = Module["_ts_language_symbol_count"] = function() { return (_ts_language_symbol_count = Module["_ts_language_symbol_count"] = Module["asm"]["ts_language_symbol_count"]).apply(null, arguments) }; + var _ts_language_state_count = Module["_ts_language_state_count"] = function() { + return (_ts_language_state_count = Module["_ts_language_state_count"] = Module["asm"]["ts_language_state_count"]).apply(null, arguments) + }; var _ts_language_version = Module["_ts_language_version"] = function() { return (_ts_language_version = Module["_ts_language_version"] = Module["asm"]["ts_language_version"]).apply(null, arguments) }; var _ts_language_field_count = Module["_ts_language_field_count"] = function() { return (_ts_language_field_count = Module["_ts_language_field_count"] = Module["asm"]["ts_language_field_count"]).apply(null, arguments) }; + var _ts_language_next_state = Module["_ts_language_next_state"] = function() { + return (_ts_language_next_state = Module["_ts_language_next_state"] = Module["asm"]["ts_language_next_state"]).apply(null, arguments) + }; var _ts_language_symbol_name = Module["_ts_language_symbol_name"] = function() { return (_ts_language_symbol_name = Module["_ts_language_symbol_name"] = Module["asm"]["ts_language_symbol_name"]).apply(null, arguments) }; @@ -1577,6 +1608,24 @@ var TreeSitter = function() { var _ts_language_field_name_for_id = Module["_ts_language_field_name_for_id"] = function() { return (_ts_language_field_name_for_id = Module["_ts_language_field_name_for_id"] = Module["asm"]["ts_language_field_name_for_id"]).apply(null, arguments) }; + var _ts_lookahead_iterator_new = Module["_ts_lookahead_iterator_new"] = function() { + return (_ts_lookahead_iterator_new = Module["_ts_lookahead_iterator_new"] = Module["asm"]["ts_lookahead_iterator_new"]).apply(null, arguments) + }; + var _ts_lookahead_iterator_delete = Module["_ts_lookahead_iterator_delete"] = function() { + return (_ts_lookahead_iterator_delete = Module["_ts_lookahead_iterator_delete"] = Module["asm"]["ts_lookahead_iterator_delete"]).apply(null, arguments) + }; + var _ts_lookahead_iterator_reset_state = Module["_ts_lookahead_iterator_reset_state"] = function() { + return (_ts_lookahead_iterator_reset_state = Module["_ts_lookahead_iterator_reset_state"] = Module["asm"]["ts_lookahead_iterator_reset_state"]).apply(null, arguments) + }; + var _ts_lookahead_iterator_reset = Module["_ts_lookahead_iterator_reset"] = function() { + return (_ts_lookahead_iterator_reset = Module["_ts_lookahead_iterator_reset"] = Module["asm"]["ts_lookahead_iterator_reset"]).apply(null, arguments) + }; + var _ts_lookahead_iterator_next = Module["_ts_lookahead_iterator_next"] = function() { + return (_ts_lookahead_iterator_next = Module["_ts_lookahead_iterator_next"] = Module["asm"]["ts_lookahead_iterator_next"]).apply(null, arguments) + }; + var _ts_lookahead_iterator_current_symbol = Module["_ts_lookahead_iterator_current_symbol"] = function() { + return (_ts_lookahead_iterator_current_symbol = Module["_ts_lookahead_iterator_current_symbol"] = Module["asm"]["ts_lookahead_iterator_current_symbol"]).apply(null, arguments) + }; var _memset = Module["_memset"] = function() { return (_memset = Module["_memset"] = Module["asm"]["memset"]).apply(null, arguments) }; @@ -1676,18 +1725,30 @@ var TreeSitter = function() { var _ts_tree_cursor_reset_wasm = Module["_ts_tree_cursor_reset_wasm"] = function() { return (_ts_tree_cursor_reset_wasm = Module["_ts_tree_cursor_reset_wasm"] = Module["asm"]["ts_tree_cursor_reset_wasm"]).apply(null, arguments) }; + var _ts_tree_cursor_reset_to_wasm = Module["_ts_tree_cursor_reset_to_wasm"] = function() { + return (_ts_tree_cursor_reset_to_wasm = Module["_ts_tree_cursor_reset_to_wasm"] = Module["asm"]["ts_tree_cursor_reset_to_wasm"]).apply(null, arguments) + }; var _ts_tree_cursor_goto_first_child_wasm = Module["_ts_tree_cursor_goto_first_child_wasm"] = function() { return (_ts_tree_cursor_goto_first_child_wasm = Module["_ts_tree_cursor_goto_first_child_wasm"] = Module["asm"]["ts_tree_cursor_goto_first_child_wasm"]).apply(null, arguments) }; + var _ts_tree_cursor_goto_last_child_wasm = Module["_ts_tree_cursor_goto_last_child_wasm"] = function() { + return (_ts_tree_cursor_goto_last_child_wasm = Module["_ts_tree_cursor_goto_last_child_wasm"] = Module["asm"]["ts_tree_cursor_goto_last_child_wasm"]).apply(null, arguments) + }; var _ts_tree_cursor_goto_next_sibling_wasm = Module["_ts_tree_cursor_goto_next_sibling_wasm"] = function() { return (_ts_tree_cursor_goto_next_sibling_wasm = Module["_ts_tree_cursor_goto_next_sibling_wasm"] = Module["asm"]["ts_tree_cursor_goto_next_sibling_wasm"]).apply(null, arguments) }; + var _ts_tree_cursor_goto_previous_sibling_wasm = Module["_ts_tree_cursor_goto_previous_sibling_wasm"] = function() { + return (_ts_tree_cursor_goto_previous_sibling_wasm = Module["_ts_tree_cursor_goto_previous_sibling_wasm"] = Module["asm"]["ts_tree_cursor_goto_previous_sibling_wasm"]).apply(null, arguments) + }; var _ts_tree_cursor_goto_parent_wasm = Module["_ts_tree_cursor_goto_parent_wasm"] = function() { return (_ts_tree_cursor_goto_parent_wasm = Module["_ts_tree_cursor_goto_parent_wasm"] = Module["asm"]["ts_tree_cursor_goto_parent_wasm"]).apply(null, arguments) }; var _ts_tree_cursor_current_node_type_id_wasm = Module["_ts_tree_cursor_current_node_type_id_wasm"] = function() { return (_ts_tree_cursor_current_node_type_id_wasm = Module["_ts_tree_cursor_current_node_type_id_wasm"] = Module["asm"]["ts_tree_cursor_current_node_type_id_wasm"]).apply(null, arguments) }; + var _ts_tree_cursor_current_node_state_id_wasm = Module["_ts_tree_cursor_current_node_state_id_wasm"] = function() { + return (_ts_tree_cursor_current_node_state_id_wasm = Module["_ts_tree_cursor_current_node_state_id_wasm"] = Module["asm"]["ts_tree_cursor_current_node_state_id_wasm"]).apply(null, arguments) + }; var _ts_tree_cursor_current_node_is_named_wasm = Module["_ts_tree_cursor_current_node_is_named_wasm"] = function() { return (_ts_tree_cursor_current_node_is_named_wasm = Module["_ts_tree_cursor_current_node_is_named_wasm"] = Module["asm"]["ts_tree_cursor_current_node_is_named_wasm"]).apply(null, arguments) }; @@ -1718,6 +1779,12 @@ var TreeSitter = function() { var _ts_node_symbol_wasm = Module["_ts_node_symbol_wasm"] = function() { return (_ts_node_symbol_wasm = Module["_ts_node_symbol_wasm"] = Module["asm"]["ts_node_symbol_wasm"]).apply(null, arguments) }; + var _ts_node_field_name_for_child_wasm = Module["_ts_node_field_name_for_child_wasm"] = function() { + return (_ts_node_field_name_for_child_wasm = Module["_ts_node_field_name_for_child_wasm"] = Module["asm"]["ts_node_field_name_for_child_wasm"]).apply(null, arguments) + }; + var _ts_node_grammar_symbol_wasm = Module["_ts_node_grammar_symbol_wasm"] = function() { + return (_ts_node_grammar_symbol_wasm = Module["_ts_node_grammar_symbol_wasm"] = Module["asm"]["ts_node_grammar_symbol_wasm"]).apply(null, arguments) + }; var _ts_node_child_count_wasm = Module["_ts_node_child_count_wasm"] = function() { return (_ts_node_child_count_wasm = Module["_ts_node_child_count_wasm"] = Module["asm"]["ts_node_child_count_wasm"]).apply(null, arguments) }; @@ -1793,44 +1860,59 @@ var TreeSitter = function() { var _ts_node_has_error_wasm = Module["_ts_node_has_error_wasm"] = function() { return (_ts_node_has_error_wasm = Module["_ts_node_has_error_wasm"] = Module["asm"]["ts_node_has_error_wasm"]).apply(null, arguments) }; + var _ts_node_is_error_wasm = Module["_ts_node_is_error_wasm"] = function() { + return (_ts_node_is_error_wasm = Module["_ts_node_is_error_wasm"] = Module["asm"]["ts_node_is_error_wasm"]).apply(null, arguments) + }; var _ts_node_is_missing_wasm = Module["_ts_node_is_missing_wasm"] = function() { return (_ts_node_is_missing_wasm = Module["_ts_node_is_missing_wasm"] = Module["asm"]["ts_node_is_missing_wasm"]).apply(null, arguments) }; + var _ts_node_parse_state_wasm = Module["_ts_node_parse_state_wasm"] = function() { + return (_ts_node_parse_state_wasm = Module["_ts_node_parse_state_wasm"] = Module["asm"]["ts_node_parse_state_wasm"]).apply(null, arguments) + }; + var _ts_node_next_parse_state_wasm = Module["_ts_node_next_parse_state_wasm"] = function() { + return (_ts_node_next_parse_state_wasm = Module["_ts_node_next_parse_state_wasm"] = Module["asm"]["ts_node_next_parse_state_wasm"]).apply(null, arguments) + }; var _ts_query_matches_wasm = Module["_ts_query_matches_wasm"] = function() { return (_ts_query_matches_wasm = Module["_ts_query_matches_wasm"] = Module["asm"]["ts_query_matches_wasm"]).apply(null, arguments) }; var _ts_query_captures_wasm = Module["_ts_query_captures_wasm"] = function() { return (_ts_query_captures_wasm = Module["_ts_query_captures_wasm"] = Module["asm"]["ts_query_captures_wasm"]).apply(null, arguments) }; + var ___cxa_atexit = Module["___cxa_atexit"] = function() { + return (___cxa_atexit = Module["___cxa_atexit"] = Module["asm"]["__cxa_atexit"]).apply(null, arguments) + }; + var ___errno_location = function() { + return (___errno_location = Module["asm"]["__errno_location"]).apply(null, arguments) + }; + var _isalnum = Module["_isalnum"] = function() { + return (_isalnum = Module["_isalnum"] = Module["asm"]["isalnum"]).apply(null, arguments) + }; + var _isalpha = Module["_isalpha"] = function() { + return (_isalpha = Module["_isalpha"] = Module["asm"]["isalpha"]).apply(null, arguments) + }; + var _isspace = Module["_isspace"] = function() { + return (_isspace = Module["_isspace"] = Module["asm"]["isspace"]).apply(null, arguments) + }; var _iswdigit = Module["_iswdigit"] = function() { return (_iswdigit = Module["_iswdigit"] = Module["asm"]["iswdigit"]).apply(null, arguments) }; var _iswalpha = Module["_iswalpha"] = function() { return (_iswalpha = Module["_iswalpha"] = Module["asm"]["iswalpha"]).apply(null, arguments) }; - var _iswupper = Module["_iswupper"] = function() { - return (_iswupper = Module["_iswupper"] = Module["asm"]["iswupper"]).apply(null, arguments) + var _iswblank = Module["_iswblank"] = function() { + return (_iswblank = Module["_iswblank"] = Module["asm"]["iswblank"]).apply(null, arguments) }; var _iswlower = Module["_iswlower"] = function() { return (_iswlower = Module["_iswlower"] = Module["asm"]["iswlower"]).apply(null, arguments) }; + var _iswupper = Module["_iswupper"] = function() { + return (_iswupper = Module["_iswupper"] = Module["asm"]["iswupper"]).apply(null, arguments) + }; var _iswxdigit = Module["_iswxdigit"] = function() { return (_iswxdigit = Module["_iswxdigit"] = Module["asm"]["iswxdigit"]).apply(null, arguments) }; - var _towupper = Module["_towupper"] = function() { - return (_towupper = Module["_towupper"] = Module["asm"]["towupper"]).apply(null, arguments) - }; - var _towlower = Module["_towlower"] = function() { - return (_towlower = Module["_towlower"] = Module["asm"]["towlower"]).apply(null, arguments) - }; - var _isalpha = Module["_isalpha"] = function() { - return (_isalpha = Module["_isalpha"] = Module["asm"]["isalpha"]).apply(null, arguments) - }; - var _isalnum = Module["_isalnum"] = function() { - return (_isalnum = Module["_isalnum"] = Module["asm"]["isalnum"]).apply(null, arguments) - }; - var ___errno_location = Module["___errno_location"] = function() { - return (___errno_location = Module["___errno_location"] = Module["asm"]["__errno_location"]).apply(null, arguments) + var _isxdigit = Module["_isxdigit"] = function() { + return (_isxdigit = Module["_isxdigit"] = Module["asm"]["isxdigit"]).apply(null, arguments) }; var _memchr = Module["_memchr"] = function() { return (_memchr = Module["_memchr"] = Module["asm"]["memchr"]).apply(null, arguments) @@ -1844,17 +1926,32 @@ var TreeSitter = function() { var _strncpy = Module["_strncpy"] = function() { return (_strncpy = Module["_strncpy"] = Module["asm"]["strncpy"]).apply(null, arguments) }; - var stackSave = Module["stackSave"] = function() { - return (stackSave = Module["stackSave"] = Module["asm"]["stackSave"]).apply(null, arguments) + var _tolower = Module["_tolower"] = function() { + return (_tolower = Module["_tolower"] = Module["asm"]["tolower"]).apply(null, arguments) + }; + var _towlower = Module["_towlower"] = function() { + return (_towlower = Module["_towlower"] = Module["asm"]["towlower"]).apply(null, arguments) + }; + var _towupper = Module["_towupper"] = function() { + return (_towupper = Module["_towupper"] = Module["asm"]["towupper"]).apply(null, arguments) + }; + var _setThrew = function() { + return (_setThrew = Module["asm"]["setThrew"]).apply(null, arguments) + }; + var stackSave = function() { + return (stackSave = Module["asm"]["stackSave"]).apply(null, arguments) + }; + var stackRestore = function() { + return (stackRestore = Module["asm"]["stackRestore"]).apply(null, arguments) }; - var stackRestore = Module["stackRestore"] = function() { - return (stackRestore = Module["stackRestore"] = Module["asm"]["stackRestore"]).apply(null, arguments) + var stackAlloc = function() { + return (stackAlloc = Module["asm"]["stackAlloc"]).apply(null, arguments) }; - var stackAlloc = Module["stackAlloc"] = function() { - return (stackAlloc = Module["stackAlloc"] = Module["asm"]["stackAlloc"]).apply(null, arguments) + var __Znwm = Module["__Znwm"] = function() { + return (__Znwm = Module["__Znwm"] = Module["asm"]["_Znwm"]).apply(null, arguments) }; - var _setThrew = Module["_setThrew"] = function() { - return (_setThrew = Module["_setThrew"] = Module["asm"]["setThrew"]).apply(null, arguments) + var __ZdlPv = Module["__ZdlPv"] = function() { + return (__ZdlPv = Module["__ZdlPv"] = Module["asm"]["_ZdlPv"]).apply(null, arguments) }; var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev = Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev"] = function() { return (__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev = Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev"] = Module["asm"]["_ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev"]).apply(null, arguments) @@ -1886,11 +1983,8 @@ var TreeSitter = function() { var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE9push_backEw = Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE9push_backEw"] = function() { return (__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE9push_backEw = Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE9push_backEw"] = Module["asm"]["_ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE9push_backEw"]).apply(null, arguments) }; - var __Znwm = Module["__Znwm"] = function() { - return (__Znwm = Module["__Znwm"] = Module["asm"]["_Znwm"]).apply(null, arguments) - }; - var __ZdlPv = Module["__ZdlPv"] = function() { - return (__ZdlPv = Module["__ZdlPv"] = Module["asm"]["_ZdlPv"]).apply(null, arguments) + var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6resizeEmw = Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6resizeEmw"] = function() { + return (__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6resizeEmw = Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6resizeEmw"] = Module["asm"]["_ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6resizeEmw"]).apply(null, arguments) }; var dynCall_jiji = Module["dynCall_jiji"] = function() { return (dynCall_jiji = Module["dynCall_jiji"] = Module["asm"]["dynCall_jiji"]).apply(null, arguments) @@ -1901,60 +1995,43 @@ var TreeSitter = function() { var _orig$ts_parser_set_timeout_micros = Module["_orig$ts_parser_set_timeout_micros"] = function() { return (_orig$ts_parser_set_timeout_micros = Module["_orig$ts_parser_set_timeout_micros"] = Module["asm"]["orig$ts_parser_set_timeout_micros"]).apply(null, arguments) }; - Module["allocate"] = allocate; + var _stderr = Module["_stderr"] = 11824; + Module["AsciiToString"] = AsciiToString; + Module["stringToUTF16"] = stringToUTF16; var calledRun; - - function ExitStatus(status) { - this.name = "ExitStatus"; - this.message = "Program terminated with exit(" + status + ")"; - this.status = status - } - var calledMain = false; dependenciesFulfilled = function runCaller() { if (!calledRun) run(); if (!calledRun) dependenciesFulfilled = runCaller }; - function callMain(args) { - var entryFunction = Module["_main"]; + function callMain(args = []) { + var entryFunction = resolveGlobalSymbol("main").sym; if (!entryFunction) return; - args = args || []; - var argc = args.length + 1; + args.unshift(thisProgram); + var argc = args.length; var argv = stackAlloc((argc + 1) * 4); - HEAP32[argv >> 2] = allocateUTF8OnStack(thisProgram); - for (var i = 1; i < argc; i++) { - HEAP32[(argv >> 2) + i] = allocateUTF8OnStack(args[i - 1]) - } - HEAP32[(argv >> 2) + argc] = 0; + var argv_ptr = argv >> 2; + args.forEach(arg => { + HEAP32[argv_ptr++] = stringToUTF8OnStack(arg) + }); + HEAP32[argv_ptr] = 0; try { var ret = entryFunction(argc, argv); - exit(ret, true) + exitJS(ret, true); + return ret } catch (e) { - if (e instanceof ExitStatus) { - return - } else if (e == "unwind") { - return - } else { - var toLog = e; - if (e && typeof e === "object" && e.stack) { - toLog = [e, e.stack] - } - err("exception thrown: " + toLog); - quit_(1, e) - } - } finally { - calledMain = true + return handleException(e) } } var dylibsLoaded = false; + LDSO.init(); - function run(args) { - args = args || arguments_; + function run(args = arguments_) { if (runDependencies > 0) { return } if (!dylibsLoaded) { - preloadDylibs(); + loadDylibs(); dylibsLoaded = true; if (runDependencies > 0) { return @@ -1988,20 +2065,6 @@ var TreeSitter = function() { doRun() } } - Module["run"] = run; - - function exit(status, implicit) { - EXITSTATUS = status; - if (implicit && keepRuntimeAlive() && status === 0) { - return - } - if (keepRuntimeAlive()) {} else { - exitRuntime(); - if (Module["onExit"]) Module["onExit"](status); - ABORT = true - } - quit_(status, new ExitStatus(status)) - } if (Module["preInit"]) { if (typeof Module["preInit"] == "function") Module["preInit"] = [Module["preInit"]]; while (Module["preInit"].length > 0) { @@ -2014,6 +2077,7 @@ var TreeSitter = function() { const C = Module; const INTERNAL = {}; const SIZE_OF_INT = 4; + const SIZE_OF_CURSOR = 3 * SIZE_OF_INT; const SIZE_OF_NODE = 5 * SIZE_OF_INT; const SIZE_OF_POINT = 2 * SIZE_OF_INT; const SIZE_OF_RANGE = 2 * SIZE_OF_INT + 2 * SIZE_OF_POINT; @@ -2070,7 +2134,7 @@ var TreeSitter = function() { } parse(callback, oldTree, options) { if (typeof callback === "string") { - currentParseCallback = ((index, _, endIndex) => callback.slice(index, endIndex)) + currentParseCallback = (index, _, endIndex) => callback.slice(index, endIndex) } else if (typeof callback === "function") { currentParseCallback = callback } else { @@ -2184,9 +2248,16 @@ var TreeSitter = function() { marshalNode(this); return C._ts_node_symbol_wasm(this.tree[0]) } + get grammarId() { + marshalNode(this); + return C._ts_node_grammar_symbol_wasm(this.tree[0]) + } get type() { return this.tree.language.types[this.typeId] || "ERROR" } + get grammarType() { + return this.tree.language.types[this.grammarId] || "ERROR" + } get endPosition() { marshalNode(this); C._ts_node_end_point_wasm(this.tree[0]); @@ -2199,6 +2270,14 @@ var TreeSitter = function() { get text() { return getText(this.tree, this.startIndex, this.endIndex) } + get parseState() { + marshalNode(this); + return C._ts_node_parse_state_wasm(this.tree[0]) + } + get nextParseState() { + marshalNode(this); + return C._ts_node_next_parse_state_wasm(this.tree[0]) + } isNamed() { marshalNode(this); return C._ts_node_is_named_wasm(this.tree[0]) === 1 @@ -2211,6 +2290,10 @@ var TreeSitter = function() { marshalNode(this); return C._ts_node_has_changes_wasm(this.tree[0]) === 1 } + isError() { + marshalNode(this); + return C._ts_node_is_error_wasm(this.tree[0]) === 1 + } isMissing() { marshalNode(this); return C._ts_node_is_missing_wasm(this.tree[0]) === 1 @@ -2223,6 +2306,15 @@ var TreeSitter = function() { C._ts_node_child_wasm(this.tree[0], index); return unmarshalNode(this.tree) } + fieldNameForChild(index) { + marshalNode(this); + const address = C._ts_node_field_name_for_child_wasm(this.tree[0], index); + if (!address) { + return null + } + const result = AsciiToString(address); + return result + } namedChild(index) { marshalNode(this); C._ts_node_named_child_wasm(this.tree[0], index); @@ -2423,6 +2515,12 @@ var TreeSitter = function() { C._ts_tree_cursor_reset_wasm(this.tree[0]); unmarshalTreeCursor(this) } + resetTo(cursor) { + marshalTreeCursor(this, TRANSFER_BUFFER); + marshalTreeCursor(cursor, TRANSFER_BUFFER + SIZE_OF_CURSOR); + C._ts_tree_cursor_reset_to_wasm(this.tree[0], cursor.tree[0]); + unmarshalTreeCursor(this) + } get nodeType() { return this.tree.language.types[this.nodeTypeId] || "ERROR" } @@ -2430,6 +2528,10 @@ var TreeSitter = function() { marshalTreeCursor(this); return C._ts_tree_cursor_current_node_type_id_wasm(this.tree[0]) } + get nodeStateId() { + marshalTreeCursor(this); + return C._ts_tree_cursor_current_node_state_id_wasm(this.tree[0]) + } get nodeId() { marshalTreeCursor(this); return C._ts_tree_cursor_current_node_id_wasm(this.tree[0]) @@ -2484,12 +2586,24 @@ var TreeSitter = function() { unmarshalTreeCursor(this); return result === 1 } + gotoLastChild() { + marshalTreeCursor(this); + const result = C._ts_tree_cursor_goto_last_child_wasm(this.tree[0]); + unmarshalTreeCursor(this); + return result === 1 + } gotoNextSibling() { marshalTreeCursor(this); const result = C._ts_tree_cursor_goto_next_sibling_wasm(this.tree[0]); unmarshalTreeCursor(this); return result === 1 } + gotoPreviousSibling() { + marshalTreeCursor(this); + const result = C._ts_tree_cursor_goto_previous_sibling_wasm(this.tree[0]); + unmarshalTreeCursor(this); + return result === 1 + } gotoParent() { marshalTreeCursor(this); const result = C._ts_tree_cursor_goto_parent_wasm(this.tree[0]); @@ -2523,6 +2637,9 @@ var TreeSitter = function() { get fieldCount() { return this.fields.length - 1 } + get stateCount() { + return C._ts_language_state_count(this[0]) + } fieldIdForName(fieldName) { const result = this.fields.indexOf(fieldName); if (result !== -1) { @@ -2555,6 +2672,13 @@ var TreeSitter = function() { nodeTypeIsVisible(typeId) { return C._ts_language_type_is_visible_wasm(this[0], typeId) ? true : false } + nextState(stateId, typeId) { + return C._ts_language_next_state(this[0], stateId, typeId) + } + lookaheadIterator(stateId) { + const address = C._ts_lookahead_iterator_new(this[0], stateId); + if (address) return new LookaheadIterable(INTERNAL, address, this) + } query(source) { const sourceLength = lengthBytesUTF8(source); const sourceAddress = C._malloc(sourceLength + 1); @@ -2639,50 +2763,68 @@ var TreeSitter = function() { } const operator = steps[0].value; let isPositive = true; + let matchAll = true; + let captureName; switch (operator) { + case "any-not-eq?": case "not-eq?": isPositive = false; + case "any-eq?": case "eq?": - if (steps.length !== 3) throw new Error(`Wrong number of arguments to \`#eq?\` predicate. Expected 2, got ${steps.length-1}`); - if (steps[1].type !== "capture") throw new Error(`First argument of \`#eq?\` predicate must be a capture. Got "${steps[1].value}"`); + if (steps.length !== 3) throw new Error(`Wrong number of arguments to \`#${operator}\` predicate. Expected 2, got ${steps.length-1}`); + if (steps[1].type !== "capture") throw new Error(`First argument of \`#${operator}\` predicate must be a capture. Got "${steps[1].value}"`); + matchAll = !operator.startsWith("any-"); if (steps[2].type === "capture") { const captureName1 = steps[1].name; const captureName2 = steps[2].name; textPredicates[i].push(function(captures) { - let node1, node2; + let nodes_1 = []; + let nodes_2 = []; for (const c of captures) { - if (c.name === captureName1) node1 = c.node; - if (c.name === captureName2) node2 = c.node + if (c.name === captureName1) nodes_1.push(c.node); + if (c.name === captureName2) nodes_2.push(c.node) } - if (node1 === undefined || node2 === undefined) return true; - return node1.text === node2.text === isPositive + let compare = (n1, n2, positive) => { + return positive ? n1.text === n2.text : n1.text !== n2.text + }; + return matchAll ? nodes_1.every(n1 => nodes_2.some(n2 => compare(n1, n2, isPositive))) : nodes_1.some(n1 => nodes_2.some(n2 => compare(n1, n2, isPositive))) }) } else { - const captureName = steps[1].name; + captureName = steps[1].name; const stringValue = steps[2].value; + let matches = n => n.text === stringValue; + let doesNotMatch = n => n.text !== stringValue; textPredicates[i].push(function(captures) { + let nodes = []; for (const c of captures) { - if (c.name === captureName) { - return c.node.text === stringValue === isPositive - } + if (c.name === captureName) nodes.push(c.node) } - return true + let test = isPositive ? matches : doesNotMatch; + return matchAll ? nodes.every(test) : nodes.some(test) }) } break; + case "any-not-match?": case "not-match?": isPositive = false; + case "any-match?": case "match?": - if (steps.length !== 3) throw new Error(`Wrong number of arguments to \`#match?\` predicate. Expected 2, got ${steps.length-1}.`); - if (steps[1].type !== "capture") throw new Error(`First argument of \`#match?\` predicate must be a capture. Got "${steps[1].value}".`); - if (steps[2].type !== "string") throw new Error(`Second argument of \`#match?\` predicate must be a string. Got @${steps[2].value}.`); - const captureName = steps[1].name; + if (steps.length !== 3) throw new Error(`Wrong number of arguments to \`#${operator}\` predicate. Expected 2, got ${steps.length-1}.`); + if (steps[1].type !== "capture") throw new Error(`First argument of \`#${operator}\` predicate must be a capture. Got "${steps[1].value}".`); + if (steps[2].type !== "string") throw new Error(`Second argument of \`#${operator}\` predicate must be a string. Got @${steps[2].value}.`); + captureName = steps[1].name; const regex = new RegExp(steps[2].value); + matchAll = !operator.startsWith("any-"); textPredicates[i].push(function(captures) { + const nodes = []; for (const c of captures) { - if (c.name === captureName) return regex.test(c.node.text) === isPositive + if (c.name === captureName) nodes.push(c.node.text) } - return true + let test = (text, positive) => { + return positive ? regex.test(text) : !regex.test(text) + }; + if (nodes.length === 0) return !isPositive; + return matchAll ? nodes.every(text => test(text, isPositive)) : nodes.some(text => test(text, isPositive)) }); break; case "set!": @@ -2699,6 +2841,25 @@ var TreeSitter = function() { if (!properties[i]) properties[i] = {}; properties[i][steps[1].value] = steps[2] ? steps[2].value : null; break; + case "not-any-of?": + isPositive = false; + case "any-of?": + if (steps.length < 2) throw new Error(`Wrong number of arguments to \`#${operator}\` predicate. Expected at least 1. Got ${steps.length-1}.`); + if (steps[1].type !== "capture") throw new Error(`First argument of \`#${operator}\` predicate must be a capture. Got "${steps[1].value}".`); + for (let i = 2; i < steps.length; i++) { + if (steps[i].type !== "string") throw new Error(`Arguments to \`#${operator}\` predicate must be a strings.".`) + } + captureName = steps[1].name; + const values = steps.slice(2).map(s => s.value); + textPredicates[i].push(function(captures) { + const nodes = []; + for (const c of captures) { + if (c.name === captureName) nodes.push(c.node.text) + } + if (nodes.length === 0) return !isPositive; + return nodes.every(text => values.includes(text)) === isPositive + }); + break; default: predicates[i].push({ operator: operator, @@ -2749,6 +2910,49 @@ var TreeSitter = function() { }) } } + class LookaheadIterable { + constructor(internal, address, language) { + assertInternal(internal); + this[0] = address; + this.language = language + } + get currentTypeId() { + return C._ts_lookahead_iterator_current_symbol(this[0]) + } + get currentType() { + return this.language.types[this.currentTypeId] || "ERROR" + } + delete() { + C._ts_lookahead_iterator_delete(this[0]); + this[0] = 0 + } + resetState(stateId) { + return C._ts_lookahead_iterator_reset_state(this[0], stateId) + } + reset(language, stateId) { + if (C._ts_lookahead_iterator_reset(this[0], language[0], stateId)) { + this.language = language; + return true + } + return false + } [Symbol.iterator]() { + const self = this; + return { + next() { + if (C._ts_lookahead_iterator_next(self[0])) { + return { + done: false, + value: self.currentType + } + } + return { + done: true, + value: "" + } + } + } + } + } class Query { constructor(internal, address, captureNames, textPredicates, predicates, setProperties, assertedProperties, refutedProperties) { assertInternal(internal); @@ -3000,10 +3204,10 @@ var TreeSitter = function() { }) } Parser.Language = Language; - Module.onRuntimeInitialized = (() => { + Module.onRuntimeInitialized = () => { ParserImpl.init(); resolveInitPromise() - }) + } }) } } diff --git a/vendor/web-tree-sitter/tree-sitter.wasm b/vendor/web-tree-sitter/tree-sitter.wasm index 56e6db9ac983667c40b8691dfe987f0a83cedaa8..51a7b52c2ac1b007efb25b53b7fa90f2d32dca89 100755 GIT binary patch literal 191227 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 FTQkvNrY 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%0A)`LRz%&nEn9H4DMBGl(!rP15$tk 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

K0!&MV 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.tw*$>PnTT`AvA>9N$a>EB@5C2l&>h_ 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 TMXha9)2wgL^Ua10yZHYAjJDOd From 18788c095ef38642506a188007fffffed81adc73 Mon Sep 17 00:00:00 2001 From: Andrew Dupont Date: Mon, 8 Jan 2024 15:49:22 -0800 Subject: [PATCH 25/68] Address feedback on PHP syntax highlighting --- .../tree-sitter/queries/highlights.scm | 67 ++++++++++++++++--- .../tree-sitter/queries/phpdoc/highlights.scm | 7 +- 2 files changed, 60 insertions(+), 14 deletions(-) diff --git a/packages/language-php/grammars/tree-sitter/queries/highlights.scm b/packages/language-php/grammars/tree-sitter/queries/highlights.scm index 860d97c06f..2f44e44f9d 100644 --- a/packages/language-php/grammars/tree-sitter/queries/highlights.scm +++ b/packages/language-php/grammars/tree-sitter/queries/highlights.scm @@ -175,6 +175,21 @@ (function_definition name: (name) @entity.name.function.php) +(method_declaration + name: (name) @entity.name.function.magic.constructor.php + (#eq? @entity.name.function.magic.constructor.php "__construct") + (#set! capture.final true)) + +(method_declaration + name: (name) @entity.name.function.magic.php + (#match? @entity.name.function.magic.php "^__(?:call|callStatic|get|set|isset|unset|sleep|wakeup|serialize|unserialize|toString|invoke|set_state|clone|debuginfo)$") + (#set! capture.final true)) + +(method_declaration + (static_modifier) + name: (name) @entity.name.function.method.static.php + (#set! capture.final true)) + (method_declaration name: (name) @entity.name.function.method.php) @@ -201,13 +216,15 @@ (name) @entity.name.type.namespace.alias.php)) ; The "Foo" in `use Foo;` -(namespace_use_clause - (name) @entity.name.type.namespace.php - (#is-not? test.rangeWithData isPartOfNamespaceAlias)) +; Also the "Foo" and "Bar" in `use Foo\Bar;` +((name) @entity.name.type.namespace.php + (#is-not? test.rangeWithData isPartOfNamespaceAlias) + (#is? test.descendantOfType "namespace_use_clause")) ; The "Foo" in `Foo\Bar::method();` (namespace_name (name) @support.other.namespace.php + (#is-not? test.descendantOfType "namespace_use_clause") (#is-not? test.rangeWithData isNamespaceDefinition)) @@ -242,15 +259,20 @@ ["trait" "class"] @storage.type.TYPE.php "function" @storage.type.function.php +"fn" @storage.type.function.arrow.php ; VARIABLES ; ========= -((name) @constant.language.builtin.this.php - (#eq? @constant.language.builtin.this.php "this")) +; All usages of "$this". +((variable_name) @variable.language.builtin.this.php + (#eq? @variable.language.builtin.this.php "$this") + (#set! capture.final true)) -(relative_scope) @variable.language.builtin.php +; The `self` builtin (for referring to the current class) and the `parent` +; builtin (for referring to the parent class). +(relative_scope) @variable.language.builtin._TEXT_.php ; The "$foo" in `function bar($foo) {`. (formal_parameters @@ -259,6 +281,11 @@ "$" @punctuation.definition.variable.php ) @variable.parameter.php)) +; The "$bar" in `$foo->$bar`. +(member_access_expression + name: (variable_name) @variable.other.property.php + (#set! capture.final true)) + ((variable_name ("$" @punctuation.definition.variable.php) (name) @_IGNORE_) @variable.other.php @@ -337,9 +364,6 @@ "interface" "namespace" "new" - "private" - "protected" - "public" "require_once" "require" "return" @@ -350,6 +374,13 @@ "while" ] @keyword.control._TYPE_.php +[ + "private" + "protected" + "public" + "static" +] @storage.modifier._TYPE_.php + (expression_statement (name) @keyword.control.exit.php (#eq? @keyword.control.exit.php "exit")) @@ -401,6 +432,9 @@ (binary_expression "." @keyword.operator.string.php) +(optional_type "?" @keyword.operator.nullable-type.php) +(union_type "|" @keyword.operator.union-type.php) + ["&&" "||"] @keyword.operator.logical.php ["="] @keyword.operator.assignment.php @@ -443,3 +477,18 @@ "\\" @keyword.operator.namespace.php (unary_op_expression "!" @keyword.operator.unary.php) + +; PUNCTUATION +; =========== + +(formal_parameters + "(" @punctuation.definition.parameters.begin.bracket.round.php + ")"@punctuation.definition.parameters.end.bracket.round.php + (#set! capture.final true)) + +"{" @punctuation.definition.block.begin.bracket.curly.php +"}" @punctuation.definition.block.end.bracket.curly.php +"(" @punctuation.definition.begin.bracket.round.php +")" @punctuation.definition.end.bracket.round.php +"[" @punctuation.definition.begin.bracket.square.php +"]" @punctuation.definition.end.bracket.square.php diff --git a/packages/language-php/grammars/tree-sitter/queries/phpdoc/highlights.scm b/packages/language-php/grammars/tree-sitter/queries/phpdoc/highlights.scm index 7d2d60cf65..e9ee2c4d6f 100644 --- a/packages/language-php/grammars/tree-sitter/queries/phpdoc/highlights.scm +++ b/packages/language-php/grammars/tree-sitter/queries/phpdoc/highlights.scm @@ -5,12 +5,9 @@ ((document) @punctuation.definition.end.comment.phpdoc.php (#set! adjust.startAndEndAroundFirstMatchOf "(?:\\*)?\\*/$")) -(tag_name) @storage.type.class.phpdoc.php - -(tag (type_list) @entity.other.type.instance.phpdoc.php) - +(tag_name) @entity.name.tag.phpdoc.php +(named_type) @storage.type.instance.phpdoc.php (variable_name) @variable.other.phpdoc.php - (uri) @markup.underline.link.phpdoc.php (inline_tag "{" @punctation.definition.tag.begin.brace.curly.phpdoc.php) From f6e1a22cf7ada16cbb4ab26f9c5266cc26853a15 Mon Sep 17 00:00:00 2001 From: Andrew Dupont Date: Mon, 8 Jan 2024 16:09:57 -0800 Subject: [PATCH 26/68] Apply PHPDoc learnings to JSDoc The conventions I had in place for various JSDoc constructs didn't make any sense. They're fixed now. --- .../grammars/tree-sitter-html/folds.scm | 4 ---- .../grammars/ts/jsdoc/highlights.scm | 24 +++++++++---------- 2 files changed, 12 insertions(+), 16 deletions(-) diff --git a/packages/language-html/grammars/tree-sitter-html/folds.scm b/packages/language-html/grammars/tree-sitter-html/folds.scm index 39a0f8eaaf..5c8919ff7f 100644 --- a/packages/language-html/grammars/tree-sitter-html/folds.scm +++ b/packages/language-html/grammars/tree-sitter-html/folds.scm @@ -1,8 +1,4 @@ -; (element) @fold -; (style_element) @fold -; (script_element) @fold - [ (element) (script_element) diff --git a/packages/language-javascript/grammars/ts/jsdoc/highlights.scm b/packages/language-javascript/grammars/ts/jsdoc/highlights.scm index b9231f22bf..10d05b3a02 100644 --- a/packages/language-javascript/grammars/ts/jsdoc/highlights.scm +++ b/packages/language-javascript/grammars/ts/jsdoc/highlights.scm @@ -1,34 +1,34 @@ ; Highlight this comment even if it's not “valid” JSDoc. -((ERROR) @comment.block.documentation.js.jsdoc +((ERROR) @comment.block.documentation.jsdoc.js (#is? test.root true)) -((ERROR) @punctuation.definition.begin.comment.js.jsdoc +((ERROR) @punctuation.definition.begin.comment.jsdoc.js (#is? test.root true) (#set! adjust.startAndEndAroundFirstMatchOf "^/\\*\\*")) -((ERROR) @punctuation.definition.end.comment.js.jsdoc +((ERROR) @punctuation.definition.end.comment.jsdoc.js (#is? test.root true) (#set! adjust.startAndEndAroundFirstMatchOf "(?:\\*)?\\*/$")) -(document) @comment.block.documentation.js.jsdoc +(document) @comment.block.documentation.jsdoc.js -((document) @punctuation.definition.begin.comment.js.jsdoc +((document) @punctuation.definition.begin.comment.jsdoc.js (#set! adjust.startAndEndAroundFirstMatchOf "^/\\*\\*")) -((document) @punctuation.definition.end.comment.js.jsdoc +((document) @punctuation.definition.end.comment.jsdoc.js (#set! adjust.startAndEndAroundFirstMatchOf "(?:\\*)?\\*/$")) -((inline_tag) @meta.inline-tag.js.jsdoc) +((inline_tag) @meta.inline-tag.jsdoc.js) -(tag_name) @storage.type.class.jsdoc +(tag_name) @entity.name.tag.jsdoc.js -((tag (type)) @entity.other.type.instance.jsdoc +((tag (type)) @storage.type.instance.jsdoc.js ; Join the type with its surrounding braces. (#set! adjust.startAt firstChild.nextSibling.startPosition) (#set! adjust.endAt firstChild.nextSibling.nextSibling.nextSibling.endPosition)) -(identifier) @variable.other.jsdoc +(identifier) @variable.other.jsdoc.js -"{" @punctuation.definition.begin.bracket.curly.jsdoc -"}" @punctuation.definition.end.bracket.curly.jsdoc +"{" @punctuation.definition.begin.bracket.curly.jsdoc.js +"}" @punctuation.definition.end.bracket.curly.jsdoc.js From 5e62e205b59a235a34f69e96d629589cf4fb8bf2 Mon Sep 17 00:00:00 2001 From: Andrew Dupont Date: Mon, 8 Jan 2024 16:10:24 -0800 Subject: [PATCH 27/68] [tree-sitter] Add TODO and hyperlink injections to Java --- packages/language-java/lib/main.js | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/packages/language-java/lib/main.js b/packages/language-java/lib/main.js index bf6d7fccda..a1e953a7a2 100644 --- a/packages/language-java/lib/main.js +++ b/packages/language-java/lib/main.js @@ -1,3 +1,24 @@ exports.activate = () => { - // TODO: Injections for language-todo and language-hyperlink. + const TODO_PATTERN = /\b(TODO|FIXME|CHANGED|XXX|IDEA|HACK|NOTE|REVIEW|NB|BUG|QUESTION|COMBAK|TEMP|DEBUG|OPTIMIZE|WARNING)\b/; + const HYPERLINK_PATTERN = /\bhttps?:/ + + atom.grammars.addInjectionPoint('source.java', { + type: 'comment', + language: (node) => { + return TODO_PATTERN.test(node.text) ? 'todo' : undefined; + }, + content: (node) => node, + languageScope: null + }); + + for (let type of ['string_literal', 'comment']) { + atom.grammars.addInjectionPoint('source.java', { + type, + language: (node) => { + return HYPERLINK_PATTERN.test(node.text) ? 'hyperlink' : undefined; + }, + content: (node) => node, + languageScope: null + }); + } }; From 0807dcfce5598b82be655f7db13366ca3438fc23 Mon Sep 17 00:00:00 2001 From: Andrew Dupont Date: Mon, 8 Jan 2024 17:18:41 -0800 Subject: [PATCH 28/68] Add TODO and hyperlink injections to Rust --- packages/language-rust-bundled/lib/main.js | 27 +++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/packages/language-rust-bundled/lib/main.js b/packages/language-rust-bundled/lib/main.js index f33955eb02..e4dc9d2442 100644 --- a/packages/language-rust-bundled/lib/main.js +++ b/packages/language-rust-bundled/lib/main.js @@ -1,4 +1,4 @@ -exports.activate = function() { +exports.activate = function () { for (const nodeType of ['macro_invocation', 'macro_rule']) { atom.grammars.addInjectionPoint('source.rust', { type: nodeType, @@ -13,4 +13,29 @@ exports.activate = function() { coverShallowerScopes: true }); } + + const TODO_PATTERN = /\b(TODO|FIXME|CHANGED|XXX|IDEA|HACK|NOTE|REVIEW|NB|BUG|QUESTION|COMBAK|TEMP|DEBUG|OPTIMIZE|WARNING)\b/; + const HYPERLINK_PATTERN = /\bhttps?:/ + + for (let type of ['line_comment', 'block_comment']) { + atom.grammars.addInjectionPoint('source.rust', { + type, + language: (node) => { + return TODO_PATTERN.test(node.text) ? 'todo' : undefined; + }, + content: (node) => node, + languageScope: null + }); + } + + for (let type of ['string_literal', 'raw_string_literal', 'line_comment', 'block_comment']) { + atom.grammars.addInjectionPoint('source.rust', { + type, + language: (node) => { + return HYPERLINK_PATTERN.test(node.text) ? 'hyperlink' : undefined; + }, + content: (node) => node, + languageScope: null + }); + } }; From bbf4cb441750c4e6464a061780af59f0cbf47d0c Mon Sep 17 00:00:00 2001 From: Andrew Dupont Date: Mon, 8 Jan 2024 17:33:34 -0800 Subject: [PATCH 29/68] Add TODO and hyperlink injections to C/C++ --- packages/language-c/lib/main.js | 27 +++++++++++++++++++++++++-- packages/language-c/package.json | 2 +- 2 files changed, 26 insertions(+), 3 deletions(-) diff --git a/packages/language-c/lib/main.js b/packages/language-c/lib/main.js index 274a61af83..6e432cd646 100644 --- a/packages/language-c/lib/main.js +++ b/packages/language-c/lib/main.js @@ -1,10 +1,10 @@ -exports.activate = function() { +exports.activate = function () { // Highlight macro bodies as C/C++ for (const language of ['c', 'cpp']) { for (const nodeType of ['preproc_def', 'preproc_function_def']) { atom.grammars.addInjectionPoint(`source.${language}`, { type: nodeType, - language(node) { + language() { return language; }, content(node) { @@ -12,5 +12,28 @@ exports.activate = function() { } }); } + + const TODO_PATTERN = /\b(TODO|FIXME|CHANGED|XXX|IDEA|HACK|NOTE|REVIEW|NB|BUG|QUESTION|COMBAK|TEMP|DEBUG|OPTIMIZE|WARNING)\b/; + const HYPERLINK_PATTERN = /\bhttps?:/ + + atom.grammars.addInjectionPoint(`source.${language}`, { + type: 'comment', + language: (node) => { + return TODO_PATTERN.test(node.text) ? 'todo' : undefined; + }, + content: (node) => node, + languageScope: null + }); + + for (let type of ['string_literal', 'comment']) { + atom.grammars.addInjectionPoint(`source.${language}`, { + type, + language: (node) => { + return HYPERLINK_PATTERN.test(node.text) ? 'hyperlink' : undefined; + }, + content: (node) => node, + languageScope: null + }); + } } }; diff --git a/packages/language-c/package.json b/packages/language-c/package.json index 9a1ff5db85..2b891a171d 100644 --- a/packages/language-c/package.json +++ b/packages/language-c/package.json @@ -10,7 +10,7 @@ "license": "MIT", "engines": { "atom": "*", - "node": "*" + "node": ">=12" }, "dependencies": { "tree-sitter-c": "0.20.2", From 351493fc3519e6ce94cd72f3ebb1643faa777649 Mon Sep 17 00:00:00 2001 From: Andrew Dupont Date: Mon, 8 Jan 2024 17:38:41 -0800 Subject: [PATCH 30/68] Only inject TODO and hyperlink into CSS when needed --- packages/language-css/lib/main.js | 25 ++++++++++++++----------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/packages/language-css/lib/main.js b/packages/language-css/lib/main.js index 93ac5b607c..fb295719df 100644 --- a/packages/language-css/lib/main.js +++ b/packages/language-css/lib/main.js @@ -1,22 +1,25 @@ exports.activate = () => { - atom.grammars.addInjectionPoint('source.css', { - type: 'comment', - language: () => 'todo', - content: (node) => node - }); + const TODO_PATTERN = /\b(TODO|FIXME|CHANGED|XXX|IDEA|HACK|NOTE|REVIEW|NB|BUG|QUESTION|COMBAK|TEMP|DEBUG|OPTIMIZE|WARNING)\b/; + const HYPERLINK_PATTERN = /\bhttps?:/ atom.grammars.addInjectionPoint('source.css', { type: 'comment', - language: () => 'hyperlink', + language(node) { + return TODO_PATTERN.test(node.text) ? 'todo' : undefined; + }, content: (node) => node }); - atom.grammars.addInjectionPoint('source.css', { - type: 'string_value', - language: () => 'hyperlink', - content: (node) => node - }); + for (let type of ['comment', 'string_value']) { + atom.grammars.addInjectionPoint('source.css', { + type, + language(node) { + return HYPERLINK_PATTERN.test(node.text) ? 'hyperlink' : undefined; + }, + content: (node) => node + }); + } // Catch things like // From bf039ccf45bcdc91b0ea5aede9c53cc3723c59c6 Mon Sep 17 00:00:00 2001 From: Andrew Dupont Date: Mon, 8 Jan 2024 17:48:21 -0800 Subject: [PATCH 31/68] Don't add root scopes to CSS for TODO/hyperlink injections --- packages/language-css/lib/main.js | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/packages/language-css/lib/main.js b/packages/language-css/lib/main.js index fb295719df..c12fb4b56b 100644 --- a/packages/language-css/lib/main.js +++ b/packages/language-css/lib/main.js @@ -8,7 +8,8 @@ exports.activate = () => { language(node) { return TODO_PATTERN.test(node.text) ? 'todo' : undefined; }, - content: (node) => node + content: (node) => node, + languageScope: null }); for (let type of ['comment', 'string_value']) { @@ -17,7 +18,8 @@ exports.activate = () => { language(node) { return HYPERLINK_PATTERN.test(node.text) ? 'hyperlink' : undefined; }, - content: (node) => node + content: (node) => node, + languageScope: null }); } @@ -34,7 +36,8 @@ exports.activate = () => { if (!functionName === 'url') { return null; } return node.descendantsOfType('plain_value'); - } + }, + languageScope: null }); }; From ebd0ae0383c6ad639868cdd511cadb74f94e47e9 Mon Sep 17 00:00:00 2001 From: Andrew Dupont Date: Mon, 8 Jan 2024 17:51:34 -0800 Subject: [PATCH 32/68] Add TODO and hyperlink injections to Go --- packages/language-go/lib/main.js | 25 +++++++++++++++++++++++++ packages/language-go/package.json | 1 + 2 files changed, 26 insertions(+) create mode 100644 packages/language-go/lib/main.js diff --git a/packages/language-go/lib/main.js b/packages/language-go/lib/main.js new file mode 100644 index 0000000000..a74d32bef5 --- /dev/null +++ b/packages/language-go/lib/main.js @@ -0,0 +1,25 @@ +exports.activate = () => { + const TODO_PATTERN = /\b(TODO|FIXME|CHANGED|XXX|IDEA|HACK|NOTE|REVIEW|NB|BUG|QUESTION|COMBAK|TEMP|DEBUG|OPTIMIZE|WARNING)\b/; + const HYPERLINK_PATTERN = /\bhttps?:/ + + for (let type of ['comment', 'interpreted_string_literal', 'raw_string_literal']) { + atom.grammars.addInjectionPoint('source.go', { + type, + language: (node) => { + return HYPERLINK_PATTERN.test(node.text) ? 'hyperlink' : undefined; + }, + content: (node) => node, + languageScope: null + }); + } + + atom.grammars.addInjectionPoint('source.go', { + type: 'comment', + language(node) { + return TODO_PATTERN.test(node.text) ? 'todo' : undefined; + }, + content: (node) => node, + languageScope: null + }); + +}; diff --git a/packages/language-go/package.json b/packages/language-go/package.json index da3e7ffd33..91bb8d0e0a 100644 --- a/packages/language-go/package.json +++ b/packages/language-go/package.json @@ -1,6 +1,7 @@ { "name": "language-go", "description": "Go language support in Atom", + "main": "lib/main", "keywords": [ "tree-sitter" ], From e2da5550793418c02901de78aae5d5c06b17a611 Mon Sep 17 00:00:00 2001 From: Andrew Dupont Date: Mon, 8 Jan 2024 17:57:59 -0800 Subject: [PATCH 33/68] Add hyperlink injection to JSON --- packages/language-json/lib/main.js | 13 +++++++++++++ packages/language-json/package.json | 1 + 2 files changed, 14 insertions(+) create mode 100644 packages/language-json/lib/main.js diff --git a/packages/language-json/lib/main.js b/packages/language-json/lib/main.js new file mode 100644 index 0000000000..aea11b3811 --- /dev/null +++ b/packages/language-json/lib/main.js @@ -0,0 +1,13 @@ +exports.activate = () => { + const HYPERLINK_PATTERN = /\bhttps?:/ + + atom.grammars.addInjectionPoint('source.json', { + type: 'string_content', + language: (node) => { + return HYPERLINK_PATTERN.test(node.text) ? 'hyperlink' : undefined; + }, + content: (node) => node, + languageScope: null + }); + +}; diff --git a/packages/language-json/package.json b/packages/language-json/package.json index f25f4f1512..dea51fc331 100644 --- a/packages/language-json/package.json +++ b/packages/language-json/package.json @@ -1,5 +1,6 @@ { "name": "language-json", + "main": "lib/main", "version": "1.0.5", "description": "JSON language support in Atom", "engines": { From 70b34cd67a24537878d4f722af8008c9a358fe53 Mon Sep 17 00:00:00 2001 From: Andrew Dupont Date: Mon, 8 Jan 2024 18:03:15 -0800 Subject: [PATCH 34/68] Add TODO and hyperlink injections to YAML comments --- packages/language-yaml/lib/main.js | 23 +++++++++++++++++++++++ packages/language-yaml/package.json | 1 + 2 files changed, 24 insertions(+) create mode 100644 packages/language-yaml/lib/main.js diff --git a/packages/language-yaml/lib/main.js b/packages/language-yaml/lib/main.js new file mode 100644 index 0000000000..deab0a7082 --- /dev/null +++ b/packages/language-yaml/lib/main.js @@ -0,0 +1,23 @@ +exports.activate = () => { + const HYPERLINK_PATTERN = /\bhttps?:/ + const TODO_PATTERN = /\b(TODO|FIXME|CHANGED|XXX|IDEA|HACK|NOTE|REVIEW|NB|BUG|QUESTION|COMBAK|TEMP|DEBUG|OPTIMIZE|WARNING)\b/; + + atom.grammars.addInjectionPoint('source.yaml', { + type: 'comment', + language: (node) => { + return HYPERLINK_PATTERN.test(node.text) ? 'hyperlink' : undefined; + }, + content: (node) => node, + languageScope: null + }); + + atom.grammars.addInjectionPoint('source.yaml', { + type: 'comment', + language: (node) => { + return TODO_PATTERN.test(node.text) ? 'todo' : undefined; + }, + content: (node) => node, + languageScope: null + }); + +}; diff --git a/packages/language-yaml/package.json b/packages/language-yaml/package.json index 7f0be6af55..47957ef422 100644 --- a/packages/language-yaml/package.json +++ b/packages/language-yaml/package.json @@ -1,6 +1,7 @@ { "name": "language-yaml", "version": "0.32.0", + "main": "lib/main", "description": "YAML language support in Atom", "engines": { "atom": "*", From a40bae4b88891ffc575c8a1de67202585424acba Mon Sep 17 00:00:00 2001 From: Andrew Dupont Date: Mon, 8 Jan 2024 20:41:56 -0800 Subject: [PATCH 35/68] =?UTF-8?q?Allow=20`(#set!=20capture.final)`=20as=20?= =?UTF-8?q?shorthand=E2=80=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit …instead of making grammars specify `(#set! capture.final true)`. --- spec/scope-resolver-spec.js | 10 +++++----- src/scope-resolver.js | 17 +++++++++++------ 2 files changed, 16 insertions(+), 11 deletions(-) diff --git a/spec/scope-resolver-spec.js b/spec/scope-resolver-spec.js index ec6fc7f7aa..449ba82f65 100644 --- a/spec/scope-resolver-spec.js +++ b/spec/scope-resolver-spec.js @@ -301,12 +301,12 @@ describe('ScopeResolver', () => { describe('tests', () => { - it('rejects scopes for ranges that have already been claimed by another capture with (#set! capture.final true)', async () => { + it('rejects scopes for ranges that have already been claimed by another capture with (#set! capture.final)', async () => { await grammar.setQueryForTest('highlightsQuery', ` (comment) @comment (string) @string0 ((string) @string1 - (#set! capture.final true)) + (#set! capture.final)) (string) @string2 "=" @operator @@ -323,7 +323,7 @@ describe('ScopeResolver', () => { let { scopeResolver, captures } = await getAllCaptures(grammar, languageMode); for (let capture of captures) { - let { node, name } = capture; + let { name } = capture; let result = scopeResolver.store(capture); if (name === 'string0') { expect(!!result).toBe(true); @@ -373,12 +373,12 @@ describe('ScopeResolver', () => { } }); - it('rejects scopes for ranges that have already been claimed by another capture with (#set! capture.final true)', async () => { + it('rejects scopes for ranges that have already been claimed by another capture with (#set! capture.final)', async () => { await grammar.setQueryForTest('highlightsQuery', ` (comment) @comment (string) @string0 ((string) @string1 - (#set! capture.final true)) + (#set! capture.final)) (string) @string2 "=" @operator diff --git a/src/scope-resolver.js b/src/scope-resolver.js index fd5fd38ef0..46864c2d21 100644 --- a/src/scope-resolver.js +++ b/src/scope-resolver.js @@ -391,6 +391,11 @@ class ScopeResolver { return range; } + isFinal(existingData = {}) { + return ('capture.final' in existingData) || + ('final' in existingData); + } + // Given a syntax capture, test whether we should include its scope in the // document. test(capture, existingData) { @@ -401,7 +406,7 @@ class ScopeResolver { refutedProperties: refuted = {} } = capture; - if (existingData?.final || existingData?.['capture.final']) { + if (this.isFinal(existingData)) { return false; } @@ -574,16 +579,16 @@ ScopeResolver.interpolateName = (name, node) => { // Special `#set!` predicates that work on “claimed” and “unclaimed” ranges. ScopeResolver.CAPTURE_SETTINGS = { // Passes only if another capture has not already declared `final` for the - // exact same range. If a capture is the first one to define `final`, then + // exact same range. If a capture is the first one to define `exact`, then // all other captures for that same range are ignored, whether they try to // define `final` or not. - final(node, existingData) { - let final = existingData?.final || existingData?.['capture.final']; - return !(existingData && final); + final(_node, existingData) { + if (!existingData) return true; + return !('capture.final' in existingData) && !('final' in existingData); }, // Passes only if no earlier capture has occurred for the exact same range. - shy(node, existingData) { + shy(_node, existingData) { return existingData === undefined; } }; From 30f696f567869969c036b0b912b27376495aa1a6 Mon Sep 17 00:00:00 2001 From: Andrew Dupont Date: Tue, 9 Jan 2024 20:28:13 -0800 Subject: [PATCH 36/68] Address more PHP grammar feedback --- .../tree-sitter/queries/highlights.scm | 44 ++++++++++++------- 1 file changed, 29 insertions(+), 15 deletions(-) diff --git a/packages/language-php/grammars/tree-sitter/queries/highlights.scm b/packages/language-php/grammars/tree-sitter/queries/highlights.scm index 2f44e44f9d..1850dbeb5b 100644 --- a/packages/language-php/grammars/tree-sitter/queries/highlights.scm +++ b/packages/language-php/grammars/tree-sitter/queries/highlights.scm @@ -202,24 +202,33 @@ ; NAMESPACES ; ========== +; The "Foo" in `use Bar as Foo;` +(namespace_aliasing_clause + (name) @entity.name.type.namespace.alias.php) + +; The "Bar" in `use Bar as Foo;` +(namespace_use_clause + (name) @entity.name.type.namespace.aliased.php + . (namespace_aliasing_clause) + (#set! capture.final true) +) + +; The "Foo" and "Bar" in `use Foo\Bar\Baz;`. +(namespace_name_as_prefix + (namespace_name) @support.other.namespace.php) + +; The last segment of a namespace; the "Baz" in `Foo\Bar\Baz;`. +(qualified_name (name) @entity.name.type.namespace.php) + ; The "Foo" in `namespace Foo;` (namespace_definition name: (namespace_name (name) @entity.name.type.namespace.php) (#set! isNamespaceDefinition true)) -; The "Bar" and "Foo" in `use Bar as Foo;` -(namespace_use_clause - (name) @variable.other.namespace.aliased.php - (#set! isPartOfNamespaceAlias true) - (namespace_aliasing_clause - (name) @entity.name.type.namespace.alias.php)) - ; The "Foo" in `use Foo;` -; Also the "Foo" and "Bar" in `use Foo\Bar;` -((name) @entity.name.type.namespace.php - (#is-not? test.rangeWithData isPartOfNamespaceAlias) - (#is? test.descendantOfType "namespace_use_clause")) +(namespace_use_clause (name) @entity.name.type.namespace.php) + ; The "Foo" in `Foo\Bar::method();` (namespace_name @@ -233,6 +242,9 @@ (class_declaration (name) @entity.name.type.class.php) +(class_declaration (base_clause (name) @entity.other.inherited-class.php)) +(class_declaration (class_interface_clause (name) @entity.other.implemented-interface.php)) + ; Static method calls. (scoped_call_expression name: (name) @support.other.function.method.static.php) @@ -240,6 +252,9 @@ (member_call_expression name: (name) @support.other.function.method.php) +(scoped_call_expression + scope: (name) @support.class.php) + ; TRAITS ; ====== @@ -306,10 +321,6 @@ ((name) @constant.language.php (#match? @constant.language.php "^__[A-Z][A-Z\d_]+__$")) -((name) @support.other.function.constructor.php - (#match? @support.other.function.constructor.php "^[A-Z]") - (#set! capture.shy true)) - (argument name: (_) @variable.other.named-argument.php ":" @punctuation.separator.key-value.php) @@ -475,6 +486,9 @@ "=>" @punctuation.separator.key-value.php "\\" @keyword.operator.namespace.php +"::" @keyword.operator.accessor.php + +";" @punctuation.terminator.statement.php; (unary_op_expression "!" @keyword.operator.unary.php) From 9db2ace1392654396947dec55bb527cbe7eabbdd Mon Sep 17 00:00:00 2001 From: Andrew Dupont Date: Tue, 19 Dec 2023 00:54:02 -0800 Subject: [PATCH 37/68] [tree-sitter] Add the pipe character (`|`) as an operator --- .../language-shellscript/grammars/tree-sitter/highlights.scm | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/language-shellscript/grammars/tree-sitter/highlights.scm b/packages/language-shellscript/grammars/tree-sitter/highlights.scm index eaf6fcee2f..2092ece7ca 100644 --- a/packages/language-shellscript/grammars/tree-sitter/highlights.scm +++ b/packages/language-shellscript/grammars/tree-sitter/highlights.scm @@ -110,7 +110,6 @@ (binary_expression ["&&" "||"] @keyword.operator.logical.shell) (pipeline "|" @keyword.operator.pipe.shell) -(expansion operator: "#" @keyword.operator.expansion.shell) ; "*" @keyword.operator.glob.shell From 0e8fe9b7492a9ca1322f0fb19091431ee538c652 Mon Sep 17 00:00:00 2001 From: Andrew Dupont Date: Sat, 23 Dec 2023 10:06:09 -0600 Subject: [PATCH 38/68] [tree-sitter] Fix indentation hinting at the edges of injections When the cursor is placed right where an injection _starts_, and the user presses Return, we usually shouldn't use the injection layer for hinting. --- src/wasm-tree-sitter-language-mode.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/wasm-tree-sitter-language-mode.js b/src/wasm-tree-sitter-language-mode.js index c0dda339cc..3a47f7ec52 100644 --- a/src/wasm-tree-sitter-language-mode.js +++ b/src/wasm-tree-sitter-language-mode.js @@ -1229,7 +1229,7 @@ class WASMTreeSitterLanguageMode { // …but we'll still accept layers that have a content range which // _ends_ at the cursor position. - return layer.getCurrentRanges()?.some(r => { + return layer.getCurrentRanges().some(r => { return r.end.compare(comparisonRowEnd) === 0; }); } From a42d0ede218af25d7e93a0628fda3010d43bde83 Mon Sep 17 00:00:00 2001 From: Andrew Dupont Date: Sat, 23 Dec 2023 11:11:11 -0600 Subject: [PATCH 39/68] =?UTF-8?q?Allow=20`suggestedIndentForBufferRows`=20?= =?UTF-8?q?to=20work=20correctly=E2=80=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit …when auto-indenting the entire buffer. --- src/wasm-tree-sitter-language-mode.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/wasm-tree-sitter-language-mode.js b/src/wasm-tree-sitter-language-mode.js index 3a47f7ec52..c0dda339cc 100644 --- a/src/wasm-tree-sitter-language-mode.js +++ b/src/wasm-tree-sitter-language-mode.js @@ -1229,7 +1229,7 @@ class WASMTreeSitterLanguageMode { // …but we'll still accept layers that have a content range which // _ends_ at the cursor position. - return layer.getCurrentRanges().some(r => { + return layer.getCurrentRanges()?.some(r => { return r.end.compare(comparisonRowEnd) === 0; }); } From d32bdf648da22f94f1e6681552417cac755feabc Mon Sep 17 00:00:00 2001 From: Andrew Dupont Date: Sun, 24 Dec 2023 22:08:05 -0600 Subject: [PATCH 40/68] [tree-sitter] Highlight assertion function clauses in TypeScript --- packages/language-typescript/grammars/common/highlights.scm | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/language-typescript/grammars/common/highlights.scm b/packages/language-typescript/grammars/common/highlights.scm index c7480514f2..abfd5052b3 100644 --- a/packages/language-typescript/grammars/common/highlights.scm +++ b/packages/language-typescript/grammars/common/highlights.scm @@ -434,7 +434,6 @@ (generator_function_declaration "*" @storage.modifier.generator._LANG_) (method_definition "*" @storage.modifier.generator._LANG_) -(asserts "asserts" @keyword.control.type.asserts._LANG_) ; SUPPORT ; ======= From d9f6946653fa7fd26008643febff5829c7a22803 Mon Sep 17 00:00:00 2001 From: Andrew Dupont Date: Mon, 25 Dec 2023 11:38:18 -0600 Subject: [PATCH 41/68] [tree-sitter] Fix JSX dedent logic --- .../grammars/ts/indents.scm | 26 +++---------------- 1 file changed, 3 insertions(+), 23 deletions(-) diff --git a/packages/language-javascript/grammars/ts/indents.scm b/packages/language-javascript/grammars/ts/indents.scm index dfac5ef7e4..1356a3418a 100644 --- a/packages/language-javascript/grammars/ts/indents.scm +++ b/packages/language-javascript/grammars/ts/indents.scm @@ -166,27 +166,7 @@ ((jsx_opening_element [">"] @dedent) (#is-not? test.startsOnSameRowAs parent.firstChild.startPosition)) -; We match on the whole node here because -; (a) we need to please the dedent-while-typing heuristic, so the line text -; must match the capture node's text; and -; (b) we don't want the dedent to trigger until the very last `>` has been -; typed. -(jsx_closing_element ">") @dedent +(jsx_opening_element ["<" ">"] @indent) +; (jsx_opening_element [">"]) @dedent -; Support things like… -; {'foo'} -(jsx_self_closing_element "<" @indent - (#is-not? test.startsOnSameRowAs parent.lastChild.startPosition)) - -; There isn't a single node whose exact text will match the line content at any -; point, so the usual heuristic won't work. Instead we set `indent.force` and -; use `test.lastTextOnRow` to ensure that the dedent fires exactly once while -; typing. -((jsx_self_closing_element ">" @dedent) - (#is-not? test.startsOnSameRowAs parent.firstChild.startPosition) - (#is? test.lastTextOnRow) - (#set! indent.force true)) +(jsx_closing_element ">") @dedent From 0b51a77cd6c0cc0636947b5d88c705f30dbd2e76 Mon Sep 17 00:00:00 2001 From: Andrew Dupont Date: Mon, 25 Dec 2023 17:54:18 -0600 Subject: [PATCH 42/68] [tree-sitter] Further JSX indent fixes for JS and TS alike --- .../grammars/ts/indents.scm | 30 +++++++++++++++---- .../grammars/tree-sitter-tsx/indents.scm | 19 +++--------- 2 files changed, 29 insertions(+), 20 deletions(-) diff --git a/packages/language-javascript/grammars/ts/indents.scm b/packages/language-javascript/grammars/ts/indents.scm index 1356a3418a..0a9b558e75 100644 --- a/packages/language-javascript/grammars/ts/indents.scm +++ b/packages/language-javascript/grammars/ts/indents.scm @@ -162,11 +162,31 @@ ; onClick={onClick} ; > (jsx_opening_element ["<"] @indent - (#is-not? test.startsOnSameRowAs parent.lastChild.startPosition)) + (#is-not? test.startsOnSameRowAs parent.lastChild)) ((jsx_opening_element [">"] @dedent) - (#is-not? test.startsOnSameRowAs parent.firstChild.startPosition)) - -(jsx_opening_element ["<" ">"] @indent) -; (jsx_opening_element [">"]) @dedent + (#is-not? test.startsOnSameRowAs parent.firstChild)) +; We match on the whole node here because +; (a) we need to please the dedent-while-typing heuristic, so the line text +; must match the capture node's text; and +; (b) we don't want the dedent to trigger until the very last `>` has been +; typed. (jsx_closing_element ">") @dedent + +; Support things like… +; {'foo'} +(jsx_self_closing_element "<" @indent + (#is-not? test.startsOnSameRowAs parent.lastChild)) + +; There isn't a single node whose exact text will match the line content at any +; point, so the usual heuristic won't work. Instead we set `indent.force` and +; use `test.lastTextOnRow` to ensure that the dedent fires exactly once while +; typing. +((jsx_self_closing_element ">" @dedent) + (#is-not? test.startsOnSameRowAs parent.firstChild) + (#is? test.lastTextOnRow) + (#set! indent.force true)) diff --git a/packages/language-typescript/grammars/tree-sitter-tsx/indents.scm b/packages/language-typescript/grammars/tree-sitter-tsx/indents.scm index 3a12735e84..ce8984c3f1 100644 --- a/packages/language-typescript/grammars/tree-sitter-tsx/indents.scm +++ b/packages/language-typescript/grammars/tree-sitter-tsx/indents.scm @@ -3,22 +3,11 @@ ; === (jsx_opening_element [">"] @indent) - -; Support things like… -;

(jsx_opening_element ["<"] @indent - (#is-not? test.startsOnSameRowAs parent.lastChild.startPosition)) + (#is-not? test.startsOnSameRowAs parent.lastChild)) ((jsx_opening_element [">"] @dedent) - (#is-not? test.startsOnSameRowAs parent.firstChild.startPosition)) + (#is-not? test.startsOnSameRowAs parent.firstChild)) -; We match on the whole node here because -; (a) we need to please the dedent-while-typing heuristic, so the line text -; must match the capture node's text; and -; (b) we don't want the dedent to trigger until the very last `>` has been -; typed. (jsx_closing_element ">") @dedent ; Support things like… @@ -28,13 +17,13 @@ ; alt={'foo'} ; /> (jsx_self_closing_element "<" @indent - (#is-not? test.startsOnSameRowAs parent.lastChild.startPosition)) + (#is-not? test.startsOnSameRowAs parent.lastChild)) ; There isn't a single node whose exact text will match the line content at any ; point, so the usual heuristic won't work. Instead we set `indent.force` and ; use `test.lastTextOnRow` to ensure that the dedent fires exactly once while ; typing. ((jsx_self_closing_element ">" @dedent) - (#is-not? test.startsOnSameRowAs parent.firstChild.startPosition) + (#is-not? test.startsOnSameRowAs parent.firstChild) (#is? test.lastTextOnRow) (#set! indent.force true)) From aef7c845b595e44918d05b12bc2fe340693aa492 Mon Sep 17 00:00:00 2001 From: Andrew Dupont Date: Mon, 25 Dec 2023 18:04:44 -0600 Subject: [PATCH 43/68] (oops) --- .../grammars/ts/indents.scm | 8 ++++---- .../grammars/tree-sitter-tsx/indents.scm | 19 +++++++++++++++---- 2 files changed, 19 insertions(+), 8 deletions(-) diff --git a/packages/language-javascript/grammars/ts/indents.scm b/packages/language-javascript/grammars/ts/indents.scm index 0a9b558e75..dfac5ef7e4 100644 --- a/packages/language-javascript/grammars/ts/indents.scm +++ b/packages/language-javascript/grammars/ts/indents.scm @@ -162,9 +162,9 @@ ; onClick={onClick} ; > (jsx_opening_element ["<"] @indent - (#is-not? test.startsOnSameRowAs parent.lastChild)) + (#is-not? test.startsOnSameRowAs parent.lastChild.startPosition)) ((jsx_opening_element [">"] @dedent) - (#is-not? test.startsOnSameRowAs parent.firstChild)) + (#is-not? test.startsOnSameRowAs parent.firstChild.startPosition)) ; We match on the whole node here because ; (a) we need to please the dedent-while-typing heuristic, so the line text @@ -180,13 +180,13 @@ ; alt={'foo'} ; /> (jsx_self_closing_element "<" @indent - (#is-not? test.startsOnSameRowAs parent.lastChild)) + (#is-not? test.startsOnSameRowAs parent.lastChild.startPosition)) ; There isn't a single node whose exact text will match the line content at any ; point, so the usual heuristic won't work. Instead we set `indent.force` and ; use `test.lastTextOnRow` to ensure that the dedent fires exactly once while ; typing. ((jsx_self_closing_element ">" @dedent) - (#is-not? test.startsOnSameRowAs parent.firstChild) + (#is-not? test.startsOnSameRowAs parent.firstChild.startPosition) (#is? test.lastTextOnRow) (#set! indent.force true)) diff --git a/packages/language-typescript/grammars/tree-sitter-tsx/indents.scm b/packages/language-typescript/grammars/tree-sitter-tsx/indents.scm index ce8984c3f1..3a12735e84 100644 --- a/packages/language-typescript/grammars/tree-sitter-tsx/indents.scm +++ b/packages/language-typescript/grammars/tree-sitter-tsx/indents.scm @@ -3,11 +3,22 @@ ; === (jsx_opening_element [">"] @indent) + +; Support things like… +;
(jsx_opening_element ["<"] @indent - (#is-not? test.startsOnSameRowAs parent.lastChild)) + (#is-not? test.startsOnSameRowAs parent.lastChild.startPosition)) ((jsx_opening_element [">"] @dedent) - (#is-not? test.startsOnSameRowAs parent.firstChild)) + (#is-not? test.startsOnSameRowAs parent.firstChild.startPosition)) +; We match on the whole node here because +; (a) we need to please the dedent-while-typing heuristic, so the line text +; must match the capture node's text; and +; (b) we don't want the dedent to trigger until the very last `>` has been +; typed. (jsx_closing_element ">") @dedent ; Support things like… @@ -17,13 +28,13 @@ ; alt={'foo'} ; /> (jsx_self_closing_element "<" @indent - (#is-not? test.startsOnSameRowAs parent.lastChild)) + (#is-not? test.startsOnSameRowAs parent.lastChild.startPosition)) ; There isn't a single node whose exact text will match the line content at any ; point, so the usual heuristic won't work. Instead we set `indent.force` and ; use `test.lastTextOnRow` to ensure that the dedent fires exactly once while ; typing. ((jsx_self_closing_element ">" @dedent) - (#is-not? test.startsOnSameRowAs parent.firstChild) + (#is-not? test.startsOnSameRowAs parent.firstChild.startPosition) (#is? test.lastTextOnRow) (#set! indent.force true)) From b7dc65466f08d2b0bbfbed03e9e46f2fc619c60d Mon Sep 17 00:00:00 2001 From: Andrew Dupont Date: Thu, 28 Dec 2023 21:57:46 -0800 Subject: [PATCH 44/68] [tree-sitter] Fixes for shell script highlighting --- .../language-shellscript/grammars/tree-sitter/highlights.scm | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/language-shellscript/grammars/tree-sitter/highlights.scm b/packages/language-shellscript/grammars/tree-sitter/highlights.scm index 2092ece7ca..eaf6fcee2f 100644 --- a/packages/language-shellscript/grammars/tree-sitter/highlights.scm +++ b/packages/language-shellscript/grammars/tree-sitter/highlights.scm @@ -110,6 +110,7 @@ (binary_expression ["&&" "||"] @keyword.operator.logical.shell) (pipeline "|" @keyword.operator.pipe.shell) +(expansion operator: "#" @keyword.operator.expansion.shell) ; "*" @keyword.operator.glob.shell From d148a73631aa9d6a1d1b7ab5fbf0272defdee43c Mon Sep 17 00:00:00 2001 From: Andrew Dupont Date: Fri, 5 Jan 2024 00:18:11 -0800 Subject: [PATCH 45/68] Add a modern Tree-sitter PHP grammar MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This one’s got all the frills, including injections into HTML documents and a PHPDoc grammar. As part of this change, we're also migrating to `web-tree-sitter` version 0.20.8 with some customizations. The PR I submitted at https://github.com/tree-sitter/tree-sitter/pull/2795 is landed on this fork, though if the same issues get fixed in a different way on the source, I'll adopt that approach as well. The PHPDoc parser needed another external added. --- .../grammars/modern-tree-sitter-php-html.cson | 1 - .../grammars/modern-tree-sitter-php.cson | 1 - .../tree-sitter/queries/highlights.scm | 106 ++++-------------- .../tree-sitter/queries/phpdoc/highlights.scm | 7 +- .../grammars/tree-sitter/tree-sitter-php.wasm | Bin 738875 -> 731484 bytes packages/language-php/lib/main.js | 27 +---- 6 files changed, 28 insertions(+), 114 deletions(-) diff --git a/packages/language-php/grammars/modern-tree-sitter-php-html.cson b/packages/language-php/grammars/modern-tree-sitter-php-html.cson index 2946872b43..a1f6ff0c3b 100644 --- a/packages/language-php/grammars/modern-tree-sitter-php-html.cson +++ b/packages/language-php/grammars/modern-tree-sitter-php-html.cson @@ -6,7 +6,6 @@ parser: 'tree-sitter-php' injectionRegex: 'php|PHP' treeSitter: - parserSource: 'github:tree-sitter/tree-sitter-php#d5e7cacb6c27e0e131c7f76c0dbfee56dfcc61e3' grammar: 'tree-sitter/tree-sitter-php.wasm' highlightsQuery: 'tree-sitter/queries/highlights.scm' tagsQuery: 'tree-sitter/queries/tags.scm' diff --git a/packages/language-php/grammars/modern-tree-sitter-php.cson b/packages/language-php/grammars/modern-tree-sitter-php.cson index 01b82d73c9..f2101fb876 100644 --- a/packages/language-php/grammars/modern-tree-sitter-php.cson +++ b/packages/language-php/grammars/modern-tree-sitter-php.cson @@ -7,6 +7,5 @@ parser: 'tree-sitter-php' injectionRegex: '^(internal-php)$' treeSitter: - parserSource: 'github:tree-sitter/tree-sitter-php#594b8bad093abe739c3d2a2cae5abae33c5fb23d' grammar: 'tree-sitter/tree-sitter-php.wasm' highlightsQuery: 'tree-sitter/queries/empty.scm' diff --git a/packages/language-php/grammars/tree-sitter/queries/highlights.scm b/packages/language-php/grammars/tree-sitter/queries/highlights.scm index 1850dbeb5b..db67585f60 100644 --- a/packages/language-php/grammars/tree-sitter/queries/highlights.scm +++ b/packages/language-php/grammars/tree-sitter/queries/highlights.scm @@ -175,21 +175,6 @@ (function_definition name: (name) @entity.name.function.php) -(method_declaration - name: (name) @entity.name.function.magic.constructor.php - (#eq? @entity.name.function.magic.constructor.php "__construct") - (#set! capture.final true)) - -(method_declaration - name: (name) @entity.name.function.magic.php - (#match? @entity.name.function.magic.php "^__(?:call|callStatic|get|set|isset|unset|sleep|wakeup|serialize|unserialize|toString|invoke|set_state|clone|debuginfo)$") - (#set! capture.final true)) - -(method_declaration - (static_modifier) - name: (name) @entity.name.function.method.static.php - (#set! capture.final true)) - (method_declaration name: (name) @entity.name.function.method.php) @@ -202,38 +187,27 @@ ; NAMESPACES ; ========== -; The "Foo" in `use Bar as Foo;` -(namespace_aliasing_clause - (name) @entity.name.type.namespace.alias.php) - -; The "Bar" in `use Bar as Foo;` -(namespace_use_clause - (name) @entity.name.type.namespace.aliased.php - . (namespace_aliasing_clause) - (#set! capture.final true) -) - -; The "Foo" and "Bar" in `use Foo\Bar\Baz;`. -(namespace_name_as_prefix - (namespace_name) @support.other.namespace.php) - -; The last segment of a namespace; the "Baz" in `Foo\Bar\Baz;`. -(qualified_name (name) @entity.name.type.namespace.php) - ; The "Foo" in `namespace Foo;` (namespace_definition name: (namespace_name (name) @entity.name.type.namespace.php) (#set! isNamespaceDefinition true)) -; The "Foo" in `use Foo;` -(namespace_use_clause (name) @entity.name.type.namespace.php) +; The "Bar" and "Foo" in `use Bar as Foo;` +(namespace_use_clause + (name) @variable.other.namespace.aliased.php + (#set! isPartOfNamespaceAlias true) + (namespace_aliasing_clause + (name) @entity.name.type.namespace.alias.php)) +; The "Foo" in `use Foo;` +(namespace_use_clause + (name) @entity.name.type.namespace.php + (#is-not? test.rangeWithData isPartOfNamespaceAlias)) ; The "Foo" in `Foo\Bar::method();` (namespace_name (name) @support.other.namespace.php - (#is-not? test.descendantOfType "namespace_use_clause") (#is-not? test.rangeWithData isNamespaceDefinition)) @@ -242,9 +216,6 @@ (class_declaration (name) @entity.name.type.class.php) -(class_declaration (base_clause (name) @entity.other.inherited-class.php)) -(class_declaration (class_interface_clause (name) @entity.other.implemented-interface.php)) - ; Static method calls. (scoped_call_expression name: (name) @support.other.function.method.static.php) @@ -252,9 +223,6 @@ (member_call_expression name: (name) @support.other.function.method.php) -(scoped_call_expression - scope: (name) @support.class.php) - ; TRAITS ; ====== @@ -274,20 +242,15 @@ ["trait" "class"] @storage.type.TYPE.php "function" @storage.type.function.php -"fn" @storage.type.function.arrow.php ; VARIABLES ; ========= -; All usages of "$this". -((variable_name) @variable.language.builtin.this.php - (#eq? @variable.language.builtin.this.php "$this") - (#set! capture.final true)) +((name) @constant.language.builtin.this.php + (#eq? @constant.language.builtin.this.php "this")) -; The `self` builtin (for referring to the current class) and the `parent` -; builtin (for referring to the parent class). -(relative_scope) @variable.language.builtin._TEXT_.php +(relative_scope) @variable.language.builtin.php ; The "$foo" in `function bar($foo) {`. (formal_parameters @@ -296,11 +259,6 @@ "$" @punctuation.definition.variable.php ) @variable.parameter.php)) -; The "$bar" in `$foo->$bar`. -(member_access_expression - name: (variable_name) @variable.other.property.php - (#set! capture.final true)) - ((variable_name ("$" @punctuation.definition.variable.php) (name) @_IGNORE_) @variable.other.php @@ -321,6 +279,10 @@ ((name) @constant.language.php (#match? @constant.language.php "^__[A-Z][A-Z\d_]+__$")) +((name) @support.other.function.constructor.php + (#match? @support.other.function.constructor.php "^[A-Z]") + (#set! capture.shy true)) + (argument name: (_) @variable.other.named-argument.php ":" @punctuation.separator.key-value.php) @@ -341,8 +303,7 @@ (encapsed_string (escape_sequence) @constant.character.escape.php) -[(heredoc) (nowdoc)] @string.unquoted.heredoc.php - +(heredoc) @string.unquoted.heredoc.php [ "abstract" @@ -375,6 +336,9 @@ "interface" "namespace" "new" + "private" + "protected" + "public" "require_once" "require" "return" @@ -385,13 +349,6 @@ "while" ] @keyword.control._TYPE_.php -[ - "private" - "protected" - "public" - "static" -] @storage.modifier._TYPE_.php - (expression_statement (name) @keyword.control.exit.php (#eq? @keyword.control.exit.php "exit")) @@ -443,9 +400,6 @@ (binary_expression "." @keyword.operator.string.php) -(optional_type "?" @keyword.operator.nullable-type.php) -(union_type "|" @keyword.operator.union-type.php) - ["&&" "||"] @keyword.operator.logical.php ["="] @keyword.operator.assignment.php @@ -486,23 +440,5 @@ "=>" @punctuation.separator.key-value.php "\\" @keyword.operator.namespace.php -"::" @keyword.operator.accessor.php - -";" @punctuation.terminator.statement.php; (unary_op_expression "!" @keyword.operator.unary.php) - -; PUNCTUATION -; =========== - -(formal_parameters - "(" @punctuation.definition.parameters.begin.bracket.round.php - ")"@punctuation.definition.parameters.end.bracket.round.php - (#set! capture.final true)) - -"{" @punctuation.definition.block.begin.bracket.curly.php -"}" @punctuation.definition.block.end.bracket.curly.php -"(" @punctuation.definition.begin.bracket.round.php -")" @punctuation.definition.end.bracket.round.php -"[" @punctuation.definition.begin.bracket.square.php -"]" @punctuation.definition.end.bracket.square.php diff --git a/packages/language-php/grammars/tree-sitter/queries/phpdoc/highlights.scm b/packages/language-php/grammars/tree-sitter/queries/phpdoc/highlights.scm index e9ee2c4d6f..7d2d60cf65 100644 --- a/packages/language-php/grammars/tree-sitter/queries/phpdoc/highlights.scm +++ b/packages/language-php/grammars/tree-sitter/queries/phpdoc/highlights.scm @@ -5,9 +5,12 @@ ((document) @punctuation.definition.end.comment.phpdoc.php (#set! adjust.startAndEndAroundFirstMatchOf "(?:\\*)?\\*/$")) -(tag_name) @entity.name.tag.phpdoc.php -(named_type) @storage.type.instance.phpdoc.php +(tag_name) @storage.type.class.phpdoc.php + +(tag (type_list) @entity.other.type.instance.phpdoc.php) + (variable_name) @variable.other.phpdoc.php + (uri) @markup.underline.link.phpdoc.php (inline_tag "{" @punctation.definition.tag.begin.brace.curly.phpdoc.php) diff --git a/packages/language-php/grammars/tree-sitter/tree-sitter-php.wasm b/packages/language-php/grammars/tree-sitter/tree-sitter-php.wasm index 759c60b33f7ffcd102128b801634fbb91b496086..21b22a79458815aa069a6b973dd5af1df9cc3132 100755 GIT binary patch literal 731484 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.tw*$>PnTT`AvA>9N$a>EB@5C2l&>h_ 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 TMXha9)2wgL^Ua10yZHYAjJDOd literal 738875 zcmeEv4V;zJ_W$1dIdf)eo|B1)3Nw?JguGtw#p6=fyJWM=Yme_W*~ zi9$${QYaN66d?*Bgb+eedXXeWCH%i@t!JHco|!X8F}e5i`Cr|8p1of7+H0@9_S!Gc ze)gEs+CJ9czm|DDE~>1k>fPyZ8=rq?$Cxwr_~!q#mzsaNOYvhbwU<%~zuu+%Fy@~I zPz(_0gf#!mApkt?=Gg9DdDZ#xveL@R>N4Xo(5JjlS>KCHjDT3rn(}gED4APRUXQD` zyiT|hB_*Y`wdFN+B|S?kDorl2=T+2RP}{e(tlT)3T3c6B)~Bx&0osK6B@CW zR`xx&GzF$ncPS~Utt&0-UDCI@qN=XE#=F##K$HnZt7|SQ>0Vk}?p?|{`XwcGrQIvb z6_?lT?B8|j*{`bXz&g~Uq_(0C0!sRx+qb0rLZqrnD@$t2N~@}XEJO9`Ajc;2bokCZ zJ<3t5>Wk7d?f;#bsKE3b9ltwAc}+!WWyQZD+8y$p*`QroMs5VLm^1kV?Nw4zQPrcO zro0U81{>8?R9A`lY+tlQ!q3TxdwH>D*2Fz8_ZFAevZUk!_+bfoOG#N>bxp0w-!sIO z_U&7FQAv-|y3&%Ga`;lM@weCJCb0u1FfDed;%1laYYk*0gu| zZudQ!Kk}aQJ!A8y9&4Lj+TI3}Ms@6k$NEY6y^e7Psi}hKe?SON7kK(h%|gTsK`eaq zzz{K05F>8x*sIuxklBJ-dPm2QXHF<(c=Hf3FU)j6oN9Q#wb| z+bA8EbblD2eXgVjQQ8L6MOYyj_RY3oK_i9sW}9Bcp_EaA`FQt`V@wFQ3*m7BU%r0` zPZW6BJ|R3w;0N{&;i&>|QvT@zPiU8Hpc#VsNI7N-JWVCc7I;>xP~secCu<$%3A|~~ zkUl@8=l3cOt+7Bb)79P!1%6%Yv`FC5xuJx`0xP&gKo?S%3V2yOgqI8afaNP1RkgKVFK^j zt2lIt5rUYd3?l^|sr_n{z*p@N7C1)WN7P{B1YWOIo*44C4*4euymhw_o+|JL%|AWN zuT4Hf;B^Ym6!?9GXA8Vq^Uo3Zbv4L5fpfy*<_mb4w)X;o*R=`h3k6=G@FIc7sQnfT zJUQO0*h(K-66VkfFBN!=!pi{{h5=`l(7sWBTr2SSR=tYD?!R6zi`Bdv1)ikU-7N4Y z+NZV&JXYcUw{ZJkt?(d$x2Z=B5%^<;hY9?)!XpHJPT`RP&s2Dnz%QsiV+5Y1@Hm0L z(eft>yg;MXB!RD2_nIp3&Dvbk1-?C;PL8ds|0>uJ!`GNOB7x& z@GF{sqrkJZW}5|`rSLX^2dO3ckKvXdpzt7pC#wEK1Rk&OFo8!aJVM|t>YF14-lX*% zCGb}5Nn-?Fr}S|Gf2{CCfj`oYIZ5Ev>M2tNUas(ThNVx<5Zc#DnPzDwI;fxxR&-a>&tRCtlVx2wFx0#8tQiNH51yj0-H3NIJLVa25xLn|`bzoaXykS&dE3_@D(RzX3S9@#}c)0eR%>sX=eR-R}tF)~CW4XQG z(for1eoSM-5P@%1c$mPkFw~6@aHFa-Qs7rq{3wBktC7YCJXPUw0&i0Oi2@H*`Xqs` zQFyAr_bEJG;H{c}hQQY=eWt*J6`n2dXUacE;OR=AC-6F@&lh-^)^CBpYZYE7@Vg2x z68KAn7l*Jq!V-apskxU5e2orL%LV>c`Bw?NR=dMmf#1>4z8U5 zQv8F`(nFBOl>G|rhQkCNsO63j_+{05B;^fVd6dxZRu>r~@JMyRaRNV-2z_Rvz*96t zOcHpbmNix2>CIAIS}>zk!VH05_d|&@1)ikvY=H;q5^s*ck1Bnhzz^yGHDBNt)#?ib z9-waFA{jM&O{dr{D8K~5`m{HeW}22t3JyG{!H~*CGZ=n&su?RQu=yEE z3jB@A+br-P^`dP8uT^^gaooBKHUA)i$LoY+h`^UAJWSyAdD_bb{y_B`DeyqmZ&d_fd{JhZ4~$_&A(aTZ<4Jq@G^z_kLT8ZUg1Fk&s2Dbz@I8SOyKbf zj}Ul@!XpKKMcZdo2zz0BjS+aF!s7(KO8F-W{D{VyNdga2{;2}LpzSeT;4RvIGX%a~ z=`#g>O7qVac(smEa|E8O@H~M(QU3V?4`>nUzd+zyRo{gIFIE0U0?$x*vA`>}eU}J4 zL5J_90za?iFBf=@w%;m&mneO0NZ0teUf>~ES%Q%I7;Er2-Gv@|O#IU5jMftpY~dYpqb1slC?= z{IJ3s1zxG`vsvIbmA*~jC9sEjzy$Vy*R(!^1RkOA5P|R1791wiUl;{=|g(QKl?S86nyB=9>LO{WTcFSbR(`Ned>e5mt-83K>i5@rf~ zt-`Yfepxl1Bk=98c%Cc@=LzO%ZIk%|Kd5cCK;Q`)(H9E5Onb>9fd^;=S}gFjs^JpA z+M-J-9roMh!uPE5ts+{e(^{e3skHS1zidK3+$it>^~22q->0?Q2DmWX+Uq}&+kBJe z9VGBAnsz|$3;DDYiaqlF4i z0!EdcD%6E4eY(JJYj~U?@H^UJX9~Pj8*jG2S84t^0*_bvJb^z~cs}65a36Ys&~9$8 zon7Er`-bo$fnO^Q;l%>qsPGbj?^AfG!0Yx4`Iig)R8a`85_p=@*9!chmbYHuRSItu z_$$r7S>X2+-X`!o-6QLd_YauHk17ny8zk@uU4{EXIbs=$+#K3(9!s?Q98KT-NjfnQa4w!q(L`EvyR zQrlymz;|o?=LlQX z%>pk`{%rz(q_X?p$!+(!_NqaE3&VE{LxlFA2GL;xU!$@{2>iST(UFu_-?a$sX5}3t z@ObTC;{<+1=@Th$xP?E7(&3KtRN=c)gXDC9r|PtDhQLEq&P;)?(u z|2%=Y3iUf&x=)-$M@DeCLhn%HBX=QEU^u~85OUDI9Z&{g3TzvG z0txxCz#@KeF=r%9etx0LAL8MiBD6wY!-QgwHAoc=QN=m2QwnnmM8P62Uj=z01-XxL zF?S06D|DwPOrbs0nBrzgQMFJX);0!YQFEB0Wq~R33IW>USkUr}*rh>1P9YGaT~2{l z?46$Q3cbLf$XJ`gSbh;vA%cwJ5OfP{Q9j!SQlMvEaa=Ud?Fu!$pr9}w*t%j8QE*mU zSWiTv-sJbx1O*{KvBkj+HZ%&%Q5YjLnZjJCf-0fdT(N#(^T2dF!T7-BQ~P=3nnb73 zpfHa#&ns-!jf}cWetU}+f4d#rE_kwCuVA!A;+{Qv737%uq_JtF@y%_{rR||y@8Z~g zhAerg$%ie&wn59n8(JE)^`XY0qBd|RTB?+VNx@XmvdHr-DgnDP*(w>t2sy^&n35^C zP0I}jfJ{%xlslaqXL4N0TzXn=auploC>eQ^Ws`r-7 zJ$RSUeLUEijQ-0 znz7-Uso{#z-?&HnP>76?*PFAZm5VaCcJ*xu<6&A?uq*V6!L=xw6y#F(r#_7CR^Zs3 z2rh6GaiA1CAP0)j{URthY6 zY|=b3DXExLF00kpW)xH5g~jpHLuFyPI9o1`APJik<)+&W_A9bvo;*Y+a^K<{3RxCf z=hOxLN&C&;e*10id2JE0EO|4ujfAY6w8%ywi)sNTpgCS4_;b86GVNeO-K8r`6w4>>Q?EoHnBTuYw4XNQR6Foj?2q*V-OVT}xV#ky zxY()IBg# z^e$>fHH9vyA$2m=FNcSNjDaQIAh5(Wupm|y#kn~#{O2N=u#SZ}g?SQOXwW7nPS!R( zu;fIno6?76if5;S3%r5&i*te_&&D`yicG4FbEJ*YpYjXiGW^DBigHoQoFdecbfQ3j zmZgMO7C&HhlCuWu&bm;~KGl&+ig<#NqL>Up}IKEP;66KJw$e`~Q z!hgMtb%67t5#rn^j(SH*%Yx?cFs?yx;d#N~JgcEm^t}9+EIMGJks;9?i(wCFn$OWj zM_y1+l;ciG_Pl~-=!znSw56#@A;&wKqCxFCOhwVV&uR;Yu{Fgpo%x|}Q}9AG?1jdP z6}sLu4MdRR!GsKpE`kV0<1bIYh_f(G6WDZn#foVBYB(JmkAN9G)|R8xS=K{!C=ko6 zgJVE)Jfoq|(^)T#fK(#S&b`2W@dgt(*rj%} z-D2PM-tz{#_q`$RN;lM9<%YT8ZiKtmUFWWMBi#+|Mt74NSnvg+~e*E zH^)8co^o^DJomJF#y#uiyXV~V?gh8Nz35(YFS~{A75A!p%`I}TyEojMZn1mIz3tv{ zOWeEeJ@>v_>Xx|=+=p(tTj4%(E8Qx$+O2UPyS45Ux6Xa)*1ON#2KTw!=r*}8+-A4M zeeJ$+-@5+Z0Piwypf||7+`GaX><#g*^oDv@dBeP`y=%PT-U#nn?>g^#Z=`pFccXWc zXGVE9d!xNuyfNOb-dOK8Z=5&YyWN}MP4w>Y?)2{RCV7*+yS*viRBxJhk9V&(-Mi1b z-+RED;XUX*F$sf=Kg_7)*(|NW4#^r;r#*m?x3=kP>r{SVf5^ zkl02%k0Y^y5|1JAHYH{w@h0&+io{aFJc7hx!puTq4Pj;?F^Dh^Be9Gy4aF# z4exWHkG6>AQ$8%6Q5r3+obM##P&Fd0he)q+wi~J;CM0_TMV73=te-7OrlGoFhbXMy z33x);-~;k2NR(8mfyL+{F#lu)6U{vD~!k z=25<8sp>XsE*T@$JqS{%x_4%+?j32>rS=^~?MpV8PYn#Q!8A(Ti9|7;#J(q<6Y=bT z=L9_W!}E4LClcd$Bo4xJ9G>hN(4rGL#+>bOjN4=W*r=sqZftC9>;SdV_?Uky+bCJp z!@4FCDC6X=30hiFg~w#A@GVe`+BXME-X=;mh}#fEad=|vz{Eiv4?g73PKOuoMa79I5v_BQYxG zQjHi$JWLfRIhOc#dN9{6sG%iIOd_9x(tn3nwGiUTJ7$& zj_uVZ)lO~O?H%8@Fx6@eQboD#_hZlhih=}B_GGF?rs0Vhn}!;OOf!rUFikLk5`&Q7 zc@#C!GHT|_kl=A@01}@OhNh`JBl?!jBi{ZQ`X@~A9n+8v4GsEP(x4mC4Z1#Q(9aqe z6y+d*1^Z$G@D1K*@Qh>`5N*x?>{A24@4>`l9+?>F!rm={b>24~E!vV(;1+F@|H&LU z2{ug79JuXXZO9?Cl5F6=9Qn((^}Pf<_eoR;gQ}jsFRhypIgN4GA6} z;cGHJlK!iSv;~PJWbn;M@QC>(5>A&sUT|wW9T9C}ZmM1f?!O09XUx5|G93Q5c3Im;YKLWj$`}$Id z=Ei>?3GVA;dv0QsiW*9XemP@@PGHwIxw1$s40~+4-4ZV+JG7G7`(H|S=$E;auyzPzk);&GA+cDJ21>G z6Tz2|;Qsm|65L-GAi*JB)Gh7`+fJtvZ{_+Q*e&t27u*j-0AKV;fAUF+Thd2SVZ4QE zvB0xOId^o-@qdSo{$Zy_~D<`c>N$N*CHU7qvu z56>w&!b(Rx#O0*ck1cX?+NA34_J$0O-OnPyW9>6Ya6pB4i2E9qZY5>`l$;Z}xt@X9 zcn10u7|A;H`bQ?5b2zK?*eMx%Y+8Tioq(xQab3h>Cjh0%Xf-u$00vSFHAVQNhPo${ zp`O4tj2J3(5y*gh?DB+Xz3Y%JztE!%RD$#p6gsJns{?_YVnO1nC@ z(HVoVa6G8gn#9;J_Tv1GKNh9&)Zrl{c%mTnkiq&EH8%1lyT$Ekt*tv;G}(FpdtoWv zf1ZGOg7!H35O(tWSQd07{MRr#czNDPnP`D<4>Mq~T|gSM$5YS0ZoB;WdeJnKA77uz zkFU#Avs=Y7P`TtWVH@OlR!DKj>o`l55@o`vRHpmhH4E&PO8=(P#${l=Fd1hY4hhcJZX|i?wX-eF=>fZ zrDCJ8bl++va=_0W?yn zZA^@|)mM_z$&TsBnuG*CVva ze_QZQME>D`!E70Y+9UYg=wamj1sy@)>>9z)VAS>Cf@B7A!B{YlJO%1BR;jH{;s;l1 z3*|$YqPVdI^?C?Jvg)%a0o_3^?3(xjq(=!OeX=8k+crfqX%G~w{JGXKdDv-4g3vpmgbCofx-wn1?!4=o?)VpOCINAcC?xLlw{fV>kY3M$xE1 z?Cm6ygLHWBp!pezYdn7_b3*bu7p#VLNTiP*2cDCaA+id^f0eL~z-jO*Mj z@v#dQDkDTvhTvr&3f1vCBPa~@3_4Ko5jDbhl}ENQ@4Miz(8$sWxiPyzfnc7h_O)i151paJkzoeun8>gI_$4klI>aXn zApAQnct!03DAxs?}iKeg#9{YKsr~{HL=0@>sX2$ zGkVnpmudB+M=cNE{z#O^SS`auaks>a&VPxs?$?#l3&M803;9tpt$uPo!<%0EM^Ei` zEAa~GCGv;Q%~?F+d}e-;m`I3qsO`(n2P=R}&I>jIe#r$>A&@;`6GX;Dq#=1vqB8z^ z<|c1AJF$@VWkcJ1nudSb@iZ}@PAat(eh7zQ82w2a`->FFL;Tt_`~nvYRO5V{tWSNn zp6i1CWC9sxLcd<){Er&V@uUmxZjfWO^H(&QSv1@PW36~J4%C;*j`<qB+j$qI5Rzv(E3B?}yWAXd?Se zACMWy;8ZHFnU*5KYo_;+;C+Gjkf6oWyLi%6dkLO{D9<}c@Lv4eNX#Y7TS#0@iN#1X zT$INbJA)&o4z0{<&^N)gj@S{&l5o4EK z&PlY^{}OyoLZJ-L-P-ThD%p14{jSySdxTqrh^?~9eG!Q@WIT$nd|HBnAI}V*M`8t$ zo4c0-|WPKA)^H(@9^H^)+`(S}m|Jc`J(f=^hY33+=0&kIVpQg@Xqa5ok$*oDv`D-UPg>(l$MZlu@5Qq{p7-F%i^pk5EF)c~B5?> zgi0m|KkP~}(46@*>u+LW4u3erA3NZ17pcI-y#=!+M>{(9GRb{mzaSS>r}BW9BnM%r zC`b!lAzR-Gh50y)R52=_hWbw}DcCKs(fXfeQ2|VRLV~*mb&BzBgN^>%f+K|TFWNIU z+t2WCqWg?nMEU|5PgReJDA~pfmzdNcHd|k^q<0ADA>-(m)?bfGzDAY29hF>6iSgV7 z(MqZj!y4eh>%`Z?jD;?-&iZRvHx#}uG{+~_|MztAkad^_OQ6i%nALA}YZf<(Atq?4gMd zt)EFHs`HA_{%fqi0y@MoE1!>NE}qYFarALmq0t@!We&jN(gq8xzbXSAcw*_ASjncv zvU-^f##(61DIYx;#GFNZRj%#Z195hU(LV_PGWe08D3$A3xUL!Jr&nR z`ht~yt)ZSMdERYa>x-Jn>G_mzAcPxw$9O8RoWJ&XC{}bVHP45 zqkofUiyX*J-+v>?q$lsex$wKb;X~hE6L|vB_cyft<3} zx8C|28#9j-Ju_AGiD4O(LyJz#5^v!>w{*jQYW>f%NQSW!4@p+uvXrc{jfr{MhU{5U zVKOk+jaYRwpTQCV(ij~-BLTR7I644H3&Hr=G)trTroo&tQ}huxI6jmvGgCN#4W5F^ zGb}zoOf@+xKr9yXQu2eORzR}Fc_&pWCl+7J^V#hzoo2q|E)Aq$@+q_UY;`y}tOGb% z3U6GBE)pX!`C11Wmj5w-3=)`<#Qa;>HXlW81M3~!jT-EFOLGmVUylI<;^~@rR3~5$ z+Tdo(6B4W}WBw@4wX%U&%ncqu1hC;$r5*$8jqFb6Dl~!OX~D=;yF$bY>#s%yM(b1n zb3}PJg6f8o!1|I$lEV1b`C(QVlZ5*$viJ`-q9+)pGs8m=jU{r-zaELzl(>$wtZq;> z%tEJGyxj3004F{viTNX#b4@1BDK@yl(gcG}RK@&jkia4uFO-nLzDmp=h6K*s#Qdv} z*g%P)NPJF-E0Nepi6KaAqQqb%zM#YvNPJ0&%aOp@<(NMR32gqw{DDXyF30@Kkicel z%pZURwgYj>6bXc=n15+L?WV{4e`DX2o|o{hQOv(MpL{ar{~sSYiuwQIEykFC5xK?{ z4L)5G*B@zvyR1K&ZO|Cc_4vCQ*1tIuPXGnbWHN8RvR+RIOfMbaFVw7IPoHaPF+rPR zF~1*aHn@Ri^tN^c^=J(|Iw!FQ0>p`PIDb8S|@1;x$o; zq$BAN&}&Ve4j+(Obj`8&(>(Z89#c{pxACOc;RNHr)W5koXCPZR>CY^gW`lSkOAEQv z6OTwaVWki33It{5ceRA{A7eXamSmHCD!Sl*%nqpck56Y|LQgM_xlZ)z_{oszF3QPhjAI4~9mO*T|?-z^{=d4mDCa z$l+?y`wy5xru7G6a*61ixR|;L7^xL5#uG1_{|}zrc&n;VdWAwl0h7pw?L`+o zYA;k#)UenL_?Hh%;|`)S*q|ikA$#G4kBBkpjr;l7Wv4mB%#2Mag(n>W;~Y60wRs@D z1kNzSQf4>g63@Tjj6Xg9oR4Ua=buQk8={(_juPW~ zgg%BD32@2PUytN`Ic)3H0&t@BC!xq2N%S8`^o@;(?w(n6_r^tIXuK1mZz9pZ%MWg$ z=WnTqTN)IBajy#M`gQp@9|X2v=VRj=&tK&Oi|5&tZG5I|y^sN|2lDNi$Q8k>7U37< z37N>}2CrE}WqL6Y^MAp+(J}w$`N5q8pF!Cg|ERXdsqaO29uFsDP_HZvrdkd3O~X`rX*Nm z{qlTz;~eu(&8HI^F+a$sx9l;xDu_3(nu6>!7zb^CLCkB+?z`l)h{ZUHeZCMN%r~1F49_Ig%U;oAYqbcis(E>!hvx8CA|2>f#P>Z`J zI)e!Vz)8VC8i4r)4Av}(-%)8CTJY3xf+Q?llQ=oj^tx&-87MU7NJHL&qW+3}#sKq?Sl%%f-h)(O5LFJtAO zgz~>?6I_Oi?{L4QoA48|2>%x*{tZoa zZPKf#7Qf6U{P--wFTyC^P&mKnOq%GdHo;a46TOOp&dOHMaajtw5X+VCD(K8?!jH`& z`~s|j8VbKEVxnJU6Mjq<;pfYAG}`Zi_o!#EiRQvAKhGxoCz*tY{jQ&^*6Im=I_aX+ zzs|@e{OByg>tyy@PdLBjPIlg(WfOi>7U8x21sQDqMba$KLi29fgddqjc#VI42H~5M zW_b?6yJi!9L>A%a$vU*2S^6ivg@m7;P59wig!jdatD!4?o-_-^nbWcfKP-#zYOISJ z3V$|f783r`Y{ENb5nhGGc0=LYBEnD2Cj8JW!uwza-%$AAq|Hh5Ae-<*vIwt~>1w?O z9g-A|Z%7iSWD|aH7U8{RvRhC1=A>Cj_{rIXcg!NZmuz6v6FxMed6#U$56U9E!tay8 z<{Oim({!YBHsKwz2tU`a%pm-$i13rL2|qB4@N@j$8H9h96iy@2iP?l7kVSY;pO+Q& zY(6|`a}s_+HsSkc5nk@|8l;}^K@s7{XA{0(7U4boa~qmPhavj-h9>Qe&0pGQ5nSe< z(@=2mWzyax``Bz+7iSUP-S3$}_=cqLMG$^WHsM8CgqLCo)iADXOom$${*!FN3$qCS zr{5!k@J$inM`shhZx-Ptepv?LUq*x-ba7)DIM`jbgcNXD)m-S~o z;h#r@ACXOXyDY;0hSh6>22~%YWB9vg@$t4<1pgH~Q4ItKUnjLD*@tD*x=j}0f06C2 zdM4SBY|OVHyi+#edu0*+XaDaFHCHPnS|L?$b863q!qV48fAas9MIL>VSWjN-?DGC7 ztNCcJR?54!}7 zYH0Oz7=IWl`y;e3`P)DK@wYf6!<+I&VNKqFfBZ&v3mefdcm(@NNyYZ~!yoqGH8Hlf zu-C-GPfz@cHU)W`__ut<7AG}f9(+-Xt79WJ#Jv`&>%Pv;58C+q=Hp}~HmuId=T|s| zqV5K$b*BF_F(K{djdYY1XD8awYb$>*oIkbxp85F9+;5$aZ5SVirf+oq?sAI?8J*Vh z{!h6nU^99XK$~1t8EkU#hPi*Tye#p%NZFJNTUW`K#{Nls5P;Dq%9(jipTH*oIC*@k zJpVX+IZrh?mdk_%-XQ2FY$X41oT?`9sF3N%kbFcwHUP+6Z<&1A)Di<8ijz&?MAaAdpGr0lzkk40N4X(2FO|%tQ;i(3BQHoa2jpul8_nMB1fLyX>~-KE>@1=x~tS z(RbugNB`uQV~@MtJN|?dPwL#|Q<{i|R9=C{B5 z{U87I=fC{*Z-4(s$v;cGm-WDXz~@%<>Rs8Vs=DuaHMMp9&cEQoi~jY07hm%4OZ(%U z`(<{Z9b_-JSJ=UJh`rJd#l^wH?A7)fJKT=2*Wwc4>+MK;gT2w-WJlSXae3=4JN;VW z1@=Yz63(A5w6EA#?Q3?Cecirc-?WSETlQ`Hj$LBkweQ*Y?NYnUeqcYe%lYK_N}Ob0 zZP(b3?OOYZU1vYF>+$`-2K%|)XgA@jhcEfE;;r^8yUl)Wzp>xi{%(M~%niiR+{^I+ z&S00i!1!u+&G)**c(S|uzxE>IFCATFyw!c>wtdeFjZ^m-%U#CPJ(^m07?Uu9?AX7; z7`+T?am+l=v~F!(>((AVWQ*mrj<;@2pSz{LYRmUqw@$QZ-Fg?G3R%z%v)m$MMX=lP-5@h9}+a(j3o6@yy2)SG!=i zc61L5ZbfoFuJgeKFV4s1JeUzUpROn=z!Nu=U@CzRzwq1@&j;|_4bS`WY=tLo8VPpC zlMJ&5p7-L}8c$p>g5&qjpXTw*K4mJH0o&Jf1h99Dd=rn;1vPQL4iP7IMeaU$lH7gq zB)NrnlH4LZN$y^1d>k6Y=bHEhvA$!}9y&axV18qjLH2ULVa=s=; zH}=Npo|${_SFkYIwS_UgxHmB!*WzOS5YvM;G5+#w8Z!cm4{dOoO?mjd%~YlFH)!|b zb1sw#U(pKF;m5l@s7!l~zCSsnqF~HJ*eLkY0kw&>xCd8b<4fOQe^&N6lr)WRE@5eD z{B)-P-m&dA&6C@)@Gb*Opbn_6TysL_Xz!L=N=T2ioH4#aGjI1jrs5iv*7Spq>~L=n z8HdW7qW7@Sq9xSrMU>^*;a(+tIFG-7Q3PvY`phNZJ{0DHgLg~ZMOOCk-M{1eQ7HYB zWCoeSw#c~yH-Xc?c5>Z|hr_}u6D+Ti87AVo@VmTylCs}~?1>`#c*vd*weEbb`w2pT zk?C%L2_9BPq8MEXaJyta2|VM|6&^46&cM?ZDAHtDJi(S-1Sckt^Q*Yfhnlck0vB}! z?Ln7oQmC0<1{O2V1AwFpO=38HNJ36d!tD5XK>;M%mYGCTum=YMgWFTW@~H&K>IfuV z84{z<`jKr895_Uq_9RD^tL(9h#d#M4kf)r#BP*`Zut5n_j}1atMg+RTghf$3J`=(R zM4($km_SZ|j8NBVwS7LXz6yq94k+k_dED2ouP+*9rk= z#hs6JH9g@8}*9p9FL?BtOw5~1!j8r*iJ z?^1Aaw{YMPxjOV*mdsavux?bFl_C%)%=uCh(T#%BM?%1fbG~~-2-I~~2mvS1^^TF` z+(5o8r!s6h( z<2y1$2wn@JEN&=VoB>u`aRWquOv;H1h_tbhnvt;8jOl$|cr zh~bn!Ul2q^Z@Su$Tq*q4%-H?guqLnK{l z0Rf+b9ar;^23HXU*I@ul!v!wpA?z^1(%l#UqCuNGiJ^dfO_-Ao2@5l>F;Pp<90WHR zJ)hKrTLTB3&_*~+%#_f@pLaM^49s(^1VSkF;papToceWq5eF%SqrZ`8PSgI_e7+Tl zFEPTAVCUnq4(#VIj(!`0X+QntJji|>vL6@OI63U-N)I7WXM08nIQQ%5iVq=BKYv;X zIJN8O$`2usC(RSWC?enr5FtDd!dxNTOa!_TsS0)r27bR?YXd|W6Z1yPruBLzV|)_qE#E|05M$Y^7UfD1`!9s>kQj`P9)~TT9RYMMIl0ofej4B4o_l-_%Cuh0Z z(ftrY7^VdB>S25Hb9w<<^u>I4Jv5?l$FDSO(jcfosvp(_$tQ5sUewZZ!;gzh;=627s)QYFx31xz3@U)x}r5^&)FjZ+?f zubkxg$_5`O2YtWK1RB}4+TcSa&?omv!WK){bBR^x8+#^D9dW4vz5y2a1;Ah0;3H+E zZ^`MMAzx}^FnevJ|4}4aYlD@Vk3Qc{7O>IMePB}Z=SraV_}tPx^Fp9ctT_kmm~F6h z6PXa`(`P2o}OJ5`>dFVQeclja1CrTh&e`4v% zILS#@_i$O{c&N{(O2GX+_|h0MmnjFi%^FLW%t=;!8Z24Kq_}P8GbP|NVIhz!tg^ud zCE(r|?kArEk={>e4?JfjURuyUvj$un!9lm&q`Tj$_$Zw<$H!Z*a#o6%&sn;4-$`vgTU-3KF!8eCLzg<=<>EphpS|2$LILDEw;7_3xi7z`w5o6lq#H0Ib~ zh>{mFR@RAEMv){5mvszP?90qb11xU9xJt1vK|WnUF^{QKyV*7vrql(X(*5&KF%=^M zH9WoozFHZeG+)~`M;XY;W?DL8A$1nDk&~S4VH*rr0zQ-$2OyWhhyEj!@Qf0uo$*os zwMuwe3FJ%o0u{GIN*SVis2x7;zg`J+PZE1Lb+`NZ-Ve!gQr=#4qsU5BWNa2Set6;LPa6q17g}a#!^8!s3v#g z-U8)#Lep+Knc?! z6FYBs-=Z93i?KGCpd9o8ELVUCx7uK$5~eAEsyxO9cPL>h2qxIOkuFb7J;4TdD)$r> zLpqPf=ln`Y){+Xo8TSJy0bkdOMzjVQWrN8|z&Ef$AdPOa!QD!@O9?dU+-QR-N=Vk4 zY<+_brYhkM%|Q)4(gxF%Fi{C)`|E9Rj}j)plFP`Fbcq2QjCSy@wZXm0F&-Rzcj8UT zL0xOO4W=u{ZAu_pTw{a#lrT1(aJ3EYSHi7IpbkIG1`jA<3<~3OXV)P?e+S@NJaMfd z-$fx?Cqry7L)k}xN`LX<8a#0+HeEk~N_+sJm)qb$<-)h6bTu|#ML~ZrV<>Y`w7Sd& z4=EQ)MBWd99bkip6^rtLCEorvn5ozij9m%rrNJyk4o5L~yMRA4h6G+~;OzmkA+*pW z^WxwURZ?_$@SLJ?D+i-#H0lvNuV}3W zg~YPp1x4cvB<3a`?;b2rwAPB^dui~ZqVd%abCZJq3|>;SR+7*q!OM!qXXVUIhWkgb zP|>*LgV7X8{vN!dXnftmX!4rB1+OX^-=#2`qR3x^*A$H}N|NZm1d9}nZ$TJMn*2F< zUD5c8gVE$Me+u4E^tp2JD!!b?OA3$9Wy{;g-v@6h3%*B??bzQ1ixt-+yubM``E=Dh zeY1>H0g(Lb;4Nh-r9%mPo|wy});~LVTd6p@&S)C5e;K@^XxyogRQ{}BiK1C8^iNX$ z%-~%`|4q(t;`3%YY>5j2o}@bbDwIJb{w#P;nQ|`KEqF1{HS29Qh!QlipfU? zpD6BB!mR-Ah+v)K0>W(s?(pDK#hsES@~~jNqEAjkcM3jJG|pe+ZMBCl-sMli92K%r z05~|G$1cVzIna-NV+e`y1UuBBqsPdfw~m3mx=CLJNARsO;}m()J9ZEH;{X@0==KlMWUW@g07c_O`EqJX{KZSoMWKDy z;4&q%HV6>ZSy~1I6CJ;H6pcgXIN!hrzVSkuPkR^Q(IVs~H;4y=l^dmvrm++sT!^d3f+0$4m6pW| zu2eMZf?81nxnQWGcO`CG;$elSxR#*=TJmC0$14?oSKKV6WSl<7J~#a_F20T0$AJZG zXL~+2xad$kW;3{!A0ebLdI5EQU?B)6(pTs*9EZ+lXc`C3sV#~vEf{fB#A2hLs*DT4 zoS(xtgz=y637Oze%tRqShpvYsBDJa`bq>aZH`S9xyaO%m-eWxs=Ubbtf(rj z#IvNLs;<1IZ*^s9U3rg^@(at$`qfobSCv%vEw3r9tF9^OUfrWUS8ZKQMb$Y%sj9x9 zM|GK`&n>ShPXeViHKiAss?t8?wS7y=%1bC!Qd(Qmx2C*j#f7Hs+?whOOjY>>rmpl1tBB2zNlNB0l6HHk|+b$sid^5th~0iq_pOo zetn1ulKENQr*GXwkOfOJ411?RICNavud*%;)32(wJRR-{Yo~IbQ(ae`29}qdn-2C! z2Wrae`qfmWGhYZR*VdA;QUa*~dX!X_b}z3?!*+*9^iG3oFQ}k4NM(ao<)sl!Mb9)c z8mq3Nsvp@<>s?lg#z=wEbm^E2&aGghCo`aFs{2*-NXyi>h8z&)EUy$}vV$Zc7$4pR zuRv?|D}w^(BuSy2;q9drb*84`oOA0;WqHp!!{#>C-Fuan)tS=n$XSX+&&ujjfMHwK z8g>Y3zFGs1tF1Mtf1lFI5;z3xhpqy=`X|ukNlVw7x{9*iwI=D9wT4`+tgeJyvev-M z%d2{TUTZF_t})ubOfAZ)s6v~R*VF(H9+U|GtH6&Mp`r@?p|rB%U*$DWm1-WE1-&;# zNwOo+r<%J;Qfm`Batd*NX-!3GkBYKX%}hlP(xqnwN-3!=gN7yWqUuTs2

K0!&MV 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.tw*$>PnTT`AvA>9N$a>EB@5C2l&>h_ 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 TMXha9)2wgL^Ua10yZHYAjJDOd From 2580642c0f8d25e9bf5359c1220374f1e09fb4a0 Mon Sep 17 00:00:00 2001 From: Andrew Dupont Date: Mon, 8 Jan 2024 15:49:22 -0800 Subject: [PATCH 51/68] Address feedback on PHP syntax highlighting --- .../tree-sitter/queries/highlights.scm | 67 ++++++++++++++++--- .../tree-sitter/queries/phpdoc/highlights.scm | 7 +- 2 files changed, 60 insertions(+), 14 deletions(-) diff --git a/packages/language-php/grammars/tree-sitter/queries/highlights.scm b/packages/language-php/grammars/tree-sitter/queries/highlights.scm index 860d97c06f..2f44e44f9d 100644 --- a/packages/language-php/grammars/tree-sitter/queries/highlights.scm +++ b/packages/language-php/grammars/tree-sitter/queries/highlights.scm @@ -175,6 +175,21 @@ (function_definition name: (name) @entity.name.function.php) +(method_declaration + name: (name) @entity.name.function.magic.constructor.php + (#eq? @entity.name.function.magic.constructor.php "__construct") + (#set! capture.final true)) + +(method_declaration + name: (name) @entity.name.function.magic.php + (#match? @entity.name.function.magic.php "^__(?:call|callStatic|get|set|isset|unset|sleep|wakeup|serialize|unserialize|toString|invoke|set_state|clone|debuginfo)$") + (#set! capture.final true)) + +(method_declaration + (static_modifier) + name: (name) @entity.name.function.method.static.php + (#set! capture.final true)) + (method_declaration name: (name) @entity.name.function.method.php) @@ -201,13 +216,15 @@ (name) @entity.name.type.namespace.alias.php)) ; The "Foo" in `use Foo;` -(namespace_use_clause - (name) @entity.name.type.namespace.php - (#is-not? test.rangeWithData isPartOfNamespaceAlias)) +; Also the "Foo" and "Bar" in `use Foo\Bar;` +((name) @entity.name.type.namespace.php + (#is-not? test.rangeWithData isPartOfNamespaceAlias) + (#is? test.descendantOfType "namespace_use_clause")) ; The "Foo" in `Foo\Bar::method();` (namespace_name (name) @support.other.namespace.php + (#is-not? test.descendantOfType "namespace_use_clause") (#is-not? test.rangeWithData isNamespaceDefinition)) @@ -242,15 +259,20 @@ ["trait" "class"] @storage.type.TYPE.php "function" @storage.type.function.php +"fn" @storage.type.function.arrow.php ; VARIABLES ; ========= -((name) @constant.language.builtin.this.php - (#eq? @constant.language.builtin.this.php "this")) +; All usages of "$this". +((variable_name) @variable.language.builtin.this.php + (#eq? @variable.language.builtin.this.php "$this") + (#set! capture.final true)) -(relative_scope) @variable.language.builtin.php +; The `self` builtin (for referring to the current class) and the `parent` +; builtin (for referring to the parent class). +(relative_scope) @variable.language.builtin._TEXT_.php ; The "$foo" in `function bar($foo) {`. (formal_parameters @@ -259,6 +281,11 @@ "$" @punctuation.definition.variable.php ) @variable.parameter.php)) +; The "$bar" in `$foo->$bar`. +(member_access_expression + name: (variable_name) @variable.other.property.php + (#set! capture.final true)) + ((variable_name ("$" @punctuation.definition.variable.php) (name) @_IGNORE_) @variable.other.php @@ -337,9 +364,6 @@ "interface" "namespace" "new" - "private" - "protected" - "public" "require_once" "require" "return" @@ -350,6 +374,13 @@ "while" ] @keyword.control._TYPE_.php +[ + "private" + "protected" + "public" + "static" +] @storage.modifier._TYPE_.php + (expression_statement (name) @keyword.control.exit.php (#eq? @keyword.control.exit.php "exit")) @@ -401,6 +432,9 @@ (binary_expression "." @keyword.operator.string.php) +(optional_type "?" @keyword.operator.nullable-type.php) +(union_type "|" @keyword.operator.union-type.php) + ["&&" "||"] @keyword.operator.logical.php ["="] @keyword.operator.assignment.php @@ -443,3 +477,18 @@ "\\" @keyword.operator.namespace.php (unary_op_expression "!" @keyword.operator.unary.php) + +; PUNCTUATION +; =========== + +(formal_parameters + "(" @punctuation.definition.parameters.begin.bracket.round.php + ")"@punctuation.definition.parameters.end.bracket.round.php + (#set! capture.final true)) + +"{" @punctuation.definition.block.begin.bracket.curly.php +"}" @punctuation.definition.block.end.bracket.curly.php +"(" @punctuation.definition.begin.bracket.round.php +")" @punctuation.definition.end.bracket.round.php +"[" @punctuation.definition.begin.bracket.square.php +"]" @punctuation.definition.end.bracket.square.php diff --git a/packages/language-php/grammars/tree-sitter/queries/phpdoc/highlights.scm b/packages/language-php/grammars/tree-sitter/queries/phpdoc/highlights.scm index 7d2d60cf65..e9ee2c4d6f 100644 --- a/packages/language-php/grammars/tree-sitter/queries/phpdoc/highlights.scm +++ b/packages/language-php/grammars/tree-sitter/queries/phpdoc/highlights.scm @@ -5,12 +5,9 @@ ((document) @punctuation.definition.end.comment.phpdoc.php (#set! adjust.startAndEndAroundFirstMatchOf "(?:\\*)?\\*/$")) -(tag_name) @storage.type.class.phpdoc.php - -(tag (type_list) @entity.other.type.instance.phpdoc.php) - +(tag_name) @entity.name.tag.phpdoc.php +(named_type) @storage.type.instance.phpdoc.php (variable_name) @variable.other.phpdoc.php - (uri) @markup.underline.link.phpdoc.php (inline_tag "{" @punctation.definition.tag.begin.brace.curly.phpdoc.php) From 8836be7e162cc862177a19e98d9fde4da41cf30c Mon Sep 17 00:00:00 2001 From: Andrew Dupont Date: Mon, 8 Jan 2024 17:38:41 -0800 Subject: [PATCH 52/68] Only inject TODO and hyperlink into CSS when needed --- packages/language-css/lib/main.js | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/packages/language-css/lib/main.js b/packages/language-css/lib/main.js index c12fb4b56b..04a065240f 100644 --- a/packages/language-css/lib/main.js +++ b/packages/language-css/lib/main.js @@ -8,8 +8,7 @@ exports.activate = () => { language(node) { return TODO_PATTERN.test(node.text) ? 'todo' : undefined; }, - content: (node) => node, - languageScope: null + content: (node) => node }); for (let type of ['comment', 'string_value']) { @@ -18,8 +17,7 @@ exports.activate = () => { language(node) { return HYPERLINK_PATTERN.test(node.text) ? 'hyperlink' : undefined; }, - content: (node) => node, - languageScope: null + content: (node) => node }); } From 0b08306498958472a40f565038e3b5a1f4a23046 Mon Sep 17 00:00:00 2001 From: Andrew Dupont Date: Mon, 8 Jan 2024 17:48:21 -0800 Subject: [PATCH 53/68] Don't add root scopes to CSS for TODO/hyperlink injections --- packages/language-css/lib/main.js | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/packages/language-css/lib/main.js b/packages/language-css/lib/main.js index 04a065240f..c12fb4b56b 100644 --- a/packages/language-css/lib/main.js +++ b/packages/language-css/lib/main.js @@ -8,7 +8,8 @@ exports.activate = () => { language(node) { return TODO_PATTERN.test(node.text) ? 'todo' : undefined; }, - content: (node) => node + content: (node) => node, + languageScope: null }); for (let type of ['comment', 'string_value']) { @@ -17,7 +18,8 @@ exports.activate = () => { language(node) { return HYPERLINK_PATTERN.test(node.text) ? 'hyperlink' : undefined; }, - content: (node) => node + content: (node) => node, + languageScope: null }); } From 336f609f60afa508e300e43dbfddb2b7b2b459e3 Mon Sep 17 00:00:00 2001 From: Andrew Dupont Date: Tue, 9 Jan 2024 20:52:46 -0800 Subject: [PATCH 54/68] More PHP grammar feedback --- .../grammars/tree-sitter/queries/highlights.scm | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/packages/language-php/grammars/tree-sitter/queries/highlights.scm b/packages/language-php/grammars/tree-sitter/queries/highlights.scm index 2f44e44f9d..abf7f252ac 100644 --- a/packages/language-php/grammars/tree-sitter/queries/highlights.scm +++ b/packages/language-php/grammars/tree-sitter/queries/highlights.scm @@ -257,7 +257,7 @@ "global" @storage.modifier.global.php -["trait" "class"] @storage.type.TYPE.php +["trait" "class"] @storage.type._TYPE_.php "function" @storage.type.function.php "fn" @storage.type.function.arrow.php @@ -353,7 +353,6 @@ "endswitch" "endwhile" "extends" - "final" "finally" "foreach" "if" @@ -375,9 +374,11 @@ ] @keyword.control._TYPE_.php [ + "final" "private" "protected" "public" + "readonly" "static" ] @storage.modifier._TYPE_.php @@ -492,3 +493,6 @@ ")" @punctuation.definition.end.bracket.round.php "[" @punctuation.definition.begin.bracket.square.php "]" @punctuation.definition.end.bracket.square.php + +(php_tag) @punctuation.section.embedded.begin.php +"?>" @punctuation.section.embedded.end.php From c50b0e629ff787ecf279cc2129b8667a20ab5e97 Mon Sep 17 00:00:00 2001 From: Andrew Dupont Date: Tue, 9 Jan 2024 21:18:36 -0800 Subject: [PATCH 55/68] More PHP grammar feedback --- .../language-php/grammars/tree-sitter/queries/highlights.scm | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/packages/language-php/grammars/tree-sitter/queries/highlights.scm b/packages/language-php/grammars/tree-sitter/queries/highlights.scm index abf7f252ac..bc4306511e 100644 --- a/packages/language-php/grammars/tree-sitter/queries/highlights.scm +++ b/packages/language-php/grammars/tree-sitter/queries/highlights.scm @@ -274,6 +274,10 @@ ; builtin (for referring to the parent class). (relative_scope) @variable.language.builtin._TEXT_.php +(object_creation_expression + (name ["self" "parent" "static"] @variable.language.builtin._TEXT_.php) + (#set! capture.final true)) + ; The "$foo" in `function bar($foo) {`. (formal_parameters (simple_parameter From 4c6b0ba7d08589fb67b4f26a6d577d848229ef45 Mon Sep 17 00:00:00 2001 From: Andrew Dupont Date: Wed, 10 Jan 2024 15:53:24 -0800 Subject: [PATCH 56/68] =?UTF-8?q?Ensure=20indentation=20decisions=20consul?= =?UTF-8?q?t=20the=20correct=20layers=E2=80=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit …when straddling injection boundaries. --- spec/wasm-tree-sitter-language-mode-spec.js | 13 ++++++-- src/wasm-tree-sitter-language-mode.js | 36 +++++++++++++++++++++ 2 files changed, 46 insertions(+), 3 deletions(-) diff --git a/spec/wasm-tree-sitter-language-mode-spec.js b/spec/wasm-tree-sitter-language-mode-spec.js index 4c0ca0884a..8bb072e044 100644 --- a/spec/wasm-tree-sitter-language-mode-spec.js +++ b/spec/wasm-tree-sitter-language-mode-spec.js @@ -1625,9 +1625,16 @@ describe('WASMTreeSitterLanguageMode', () => { // `suggestedIndentForBufferRows` should use the HTML grammar to // determine the indent level of `let foo` rather than the JS grammar. + // + // And on line 5, it should use the JavaScript grammar to determine + // ``'s _initial_ indentation level, but the HTML grammar to + // determine whether to dedent relative to that initial level. buffer.setText(dedent` `); @@ -1641,9 +1648,9 @@ describe('WASMTreeSitterLanguageMode', () => { buffer.setLanguageMode(languageMode); await languageMode.ready; - let map = languageMode.suggestedIndentForBufferRows(1, 1, editor.getTabLength()); + let map = languageMode.suggestedIndentForBufferRows(0, 5, editor.getTabLength()); - expect(map.get(1)).toBe(1); + expect(Array.from(map.values())).toEqual([0, 1, 1, 2, 1, 0]); }); }); @@ -3285,7 +3292,7 @@ describe('WASMTreeSitterLanguageMode', () => { atom.config.set('whitespace.removeTrailingWhitespace', false); }); - it('interprets @indent and @dedent captures', async () => { + fit('interprets @indent and @dedent captures', async () => { jasmine.useRealClock(); const grammar = new WASMTreeSitterGrammar(atom.grammars, jsGrammarPath, jsConfig); diff --git a/src/wasm-tree-sitter-language-mode.js b/src/wasm-tree-sitter-language-mode.js index c0dda339cc..d25fe203ca 100644 --- a/src/wasm-tree-sitter-language-mode.js +++ b/src/wasm-tree-sitter-language-mode.js @@ -1400,6 +1400,42 @@ class WASMTreeSitterLanguageMode { if (!options.skipDedentCheck) { scopeResolver.reset(); + // The controlling layer on the previous line gets to decide what our + // starting indent is on the current line. But it might not extend to the + // current line, so we should determine which layer is in charge of the + // second phase. + let rowStart = new Point(row, 0); + let dedentControllingLayer = this.controllingLayerAtPoint( + rowStart, + (layer) => { + if (!layer.indentsQuery) return false; + // We're inverting the logic from above: now we want to allow layers + // that _begin_ at the cursor and exclude layers that _end_ at the + // cursor. Because we'll be analyzing content that comes _after_ the + // cursor to understand whether to dedent! + // + // So first we test for containment exclusive of endpoints… + if (layer.containsPoint(rowStart, true)) { + return true; + } + + // …but we'll still accept layers that have a content range which + // _starts_ at the cursor position. + return layer.getCurrentRanges()?.some(r => { + return r.start.compare(rowStart) === 0; + }); + } + ); + + if (dedentControllingLayer && dedentControllingLayer !== controllingLayer) { + // If this layer is different from the one we used above, then we + // should run this layer's indents query against its own tree. If _no_ + // layers qualify at this position, we can still reluctantly use the + // original layer. + indentsQuery = dedentControllingLayer.indentsQuery; + indentTree = dedentControllingLayer.getOrParseTree(); + } + // The second phase covers any captures on the current line that can // cause the current line to be indented or dedented. let dedentCaptures = indentsQuery.captures( From 254440e6bc26e8130bee0e8ac6bfc5cfed2caa0b Mon Sep 17 00:00:00 2001 From: Andrew Dupont Date: Wed, 10 Jan 2024 16:02:20 -0800 Subject: [PATCH 57/68] Oops --- spec/wasm-tree-sitter-language-mode-spec.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spec/wasm-tree-sitter-language-mode-spec.js b/spec/wasm-tree-sitter-language-mode-spec.js index 8bb072e044..f899f75865 100644 --- a/spec/wasm-tree-sitter-language-mode-spec.js +++ b/spec/wasm-tree-sitter-language-mode-spec.js @@ -3292,7 +3292,7 @@ describe('WASMTreeSitterLanguageMode', () => { atom.config.set('whitespace.removeTrailingWhitespace', false); }); - fit('interprets @indent and @dedent captures', async () => { + it('interprets @indent and @dedent captures', async () => { jasmine.useRealClock(); const grammar = new WASMTreeSitterGrammar(atom.grammars, jsGrammarPath, jsConfig); From 50bfa5141eb2cb95a35c8375b5e003fdf43ef854 Mon Sep 17 00:00:00 2001 From: Andrew Dupont Date: Wed, 10 Jan 2024 21:41:23 -0800 Subject: [PATCH 58/68] Update `tree-sitter-json` WASM build to latest Spotted it falling down on a very large JSON file I had. Seems to be fixed on `master`. Not sure which verison I originally built it from. --- .../grammars/modern-tree-sitter-json.cson | 1 + .../tree-sitter/tree-sitter-json.wasm | Bin 6067 -> 6015 bytes 2 files changed, 1 insertion(+) diff --git a/packages/language-json/grammars/modern-tree-sitter-json.cson b/packages/language-json/grammars/modern-tree-sitter-json.cson index 6ecb289798..b315568dd1 100644 --- a/packages/language-json/grammars/modern-tree-sitter-json.cson +++ b/packages/language-json/grammars/modern-tree-sitter-json.cson @@ -6,6 +6,7 @@ parser: 'tree-sitter-json' injectionRegex: "^(json|JSON)$" treeSitter: + parserSource: 'github:tree-sitter/tree-sitter-json#3fef30de8aee74600f25ec2e319b62a1a870d51e' grammar: 'tree-sitter/tree-sitter-json.wasm' highlightsQuery: 'tree-sitter/queries/highlights.scm' indentsQuery: 'tree-sitter/queries/indents.scm' diff --git a/packages/language-json/grammars/tree-sitter/tree-sitter-json.wasm b/packages/language-json/grammars/tree-sitter/tree-sitter-json.wasm index 85d40ac6846f7712c5d176762c920c7f1bdf7119..63ae9457c4947af58afe1b62ef7c59ba5eb3b233 100755 GIT binary patch literal 6015 zcmd5=S!|qF6+ZX>XYu&|fA5}n_l&d0dlskJ8vkxGPD0uuPz8i#GO;I>x3M!Gw~7#Q z9uVq7Tje1@9}3MwBSk2xf~Zg*iiBvWKtdu&eLx}-DWpXRC{ZvX5>dl<&i(J$GjV#wYUGu|oRv zLT;=uF`LsqY7Q3RkW!W%eZsCyr=LfH>9Nf8bb72Xo1Z6Y3S^nNx#_d%@k}9;&S$4* z$L2}Z6!O_@dVZo%$mY|N^Rqd!Vo^owm80y+OYx9R%DIo&i|fgMp>Y!Zxys2Qi!gYR zp&p*snrNW8An>{qz*hv`Zk+52%wHA3Z{vafqQE8N{kp(=23{6;z9KNbBJiexR|Q^( z1==?SUNrD6f!FH;?c0D#XM9UESH&>FtNDFhV6-HfJGBA4EAW~LaZliFqdgbrE%}r2 z{ieVV417W09}Rp_;JYT&d4X>jctPN=jqxi2e_-IN0)JxQMS;IG@O6PdH1M*(?-+PR z;7bNx75Fm)-xTWcwOM1jqiH` z|7G9}flDUTO@Z%-)~VnFy4f)4T&PvyMSD0wTP#XizLm5S#Gt7*M9GLx$*?v2|M^KM z|NedZOjQr5a3oq0t8`qis=B7OuD+o$zHaZn{p&Yu+_ZVi)@|K={R4yBckCM4{n(xn z2TQX3#-vI_ykpjI!t(bV4>9Z3EH>p^N4?{ITT+QOF;!(hX+K2{OuSLga*y+5T)?+_Rid)@t_5FwTk!c2#P)P~&0v=fBdX~f;FCG{fdO?ke*skku%Q-0-9 z&o^G{#bzMo4X@g~VZ=ei_p$C>vOovZ9%Ru65bYGvW{4g)q8%dI0?`2${S{W*MN|#Z zej^$b(N>7|8PR}HAG;+)iB^zI{rFr!*<7yf(<%8&e|Pt{ARFz$8Q1abNp7Y zUdOKm>v8-zShwRhfox3^xxcG6fem){pUEb?>q+ks?Se%_W z7z(BX>*->IT5i`-y+*hG5i+dTLD`9;NnkG#glcf>9vCWkdvwvuyVKO(9=tnsZkvO5 ziQg=Fds^dodlJaE!}0N=K)fR7X198ciIPdRVrP?jXT9nmYUQZcuD7Bql?&@eRjtpNda7oxDE^@LQavP>|9lsNdEBvrWs2GJ3<>$mn zgnf0U+VQ&~igINsPAd4a;>6@z2gi)GkezZZ$FBg>)A|ibe1~FcF0+c-FuCNAj{450k^%8Ek&2#ny*fbU)Oh_n{X3pJ);N#C>S}FLq$?e~8=ufVg4W z0d16aqp!lgD{96`E1bqIoN5KmDH7zX&uR~JHtj=SNlobM@H#7;Rw#&Y04NG6$2k~8 zFuIWyx;^d9K%AfBKelmzvI4uXz@z63fAng^W&y#)F;=zE|` zpevvsfpoJtjO1=4!nu6c_=8SCwdxO|GGR$Hc9YecH-+zX+#Wq%3$;=kwNnS~exfWmFL&jK^EDs4%+|m#PE@xT7{6JB_e_6m%)*sLAnq+z zqE$c8hj71^eayW4QtB25)BDnfmGFmc*76A)um;^sEF4m?@z7v}%(xj$IFC{sDZ@2o znDbutSE@9gvN(6_LomO=G7n^{<(O|xIp$qcj`<-s`766Y<||^W6q9_1t+dyBT(noE z>rX2&%H;Ezvov4GPvo9WkIm)^*<69f zXU7(1crZ3QBYgJMB!0c5xy(eKatkx3vdpHZ13xO{7qXOoE;9{wIx{_=rR@AzW)8nj zX3s2Sb7R1{ar!EKnfB@l@gwG3Hd7cZo46=82^0l7fg&u;H(i*W%H{^Chq{72`}E9Q z59Vh4X`=EiXbA%78%C4_=5IkhGbZ^))MY{E@L*lX_%^Qn7jeawfbW57V00360dx^` zU0*kNKfGOqy=iIq-NBP_4g5Cvv*20K80cNl8=$8_+dv0EM?r(2ILHHyfI2`ML3iOl X1pYDj%iynpCP2@FxGh2c1jhdXwgH5$ literal 6067 zcmds5TWnm#8J;<3uRiD4Uf&%jc-J9ud`TR~#VQFTo)E8boHz+dnsV#$#$Kpndu^{b zv{5e!5~?B;sd+#V4?OSy6%PpIp+!|yB#Nk1RGOwzQQHJnxGIGQiVy{X1StLff6na1 ziH-W&v-xMv_sxHse=fVR$SloCfyawXotd4^&0MVy0n7D~33*mb2>g?0C#2qG zwKSg-76MN#&HLZYvE`S#pzFr@|iwyr93E)!< z-!|}Rh94RD48vEWf%3BqKQ{0=hUZLzFEG4X8z{dBD0RN?@W^L1!N@-uK55|l41aIz zK45s>jDE!MhJl|j{K~-38Gd2lmkj@4T%D_@I{m`HCm6nGl+QDK&AA|z4~ zB~sGD@c+jrX{#GI?8WLkgbYWbv3Ql^det?xiMslR#-`?$)^%<7j_&X2-MX!Bd;gAs z!EfHVbJtyW@7^=C_nv*j>5;61YJ`#zuPte*YvMp?NF`G?N@uC$Om!kNm7NNn_Koeg zCpQU4$)r_K=iU^H!%*_Z@?OTBaMJ|>hJ``!M6a6P* z#G7<|qW%Tyh?;iJ18F|WHECG3A0f%#&12!TR-}c!$MdY@Kbz ziEf`!RioY^sKVio7uEI=Z?8K<;QI`eyIVWygo&lh&RPz3SVtOUUpnuN2ZehZduSZB z4&Xnq<-!NY$Hxzjlg|&uOoyeSW8M&r>mB?jx#%5m57ICtbI9An`S&3IF++}eohFYy z&V$p2#c#xnij3yH(IDP3V{g>muh%y+>|tZJ!q*7-x+eB}Htj&XV=E>04yFf#M}$OJ zMl44~pgim-8{Iy#@y5IzI#W7p-X3=cv8E7w#6kn%c-aw)4#bK_EDYUGP?Ni1rrO|B zIjRxekfXMs+vBL)(4ofd=~y;*t&n@0qeAF5I4X>8 zJ*6CS+Z+`|x6Vll7273)i`GpD{Jy|ZlPSuii_aO|7gboZB>IjKZ=0K>5I8_Y;H*T@ z(b?VVwtuZRB%^KDvr*dXA|E4OyW9Kqwi^Oly7Oq`Y$0!Jq#xW!lCJ{3jRtyq`8M); zs2nmyXO}Oe?tZNM?I>TLqj1eoQfY4+#~DGKHOi#E!RptGJDkjhy>+my8u28V>TI_< zY7+viF;BIbU8Qu@y_O(BxaoDblADgS*Bp>k@E$l*ajar3m7(gURfNU1v{$Fp8UaLob-4y7r@ZPAJ0lU_6onW^Kc2A}B7u9chT~@JT zb(~b47=4`t7BzI2QhuQH71QZ%Sv9gY;%}R+lA#I{ayo!)TO5UDbDN9BbDJF10j80b zzlyHu4jg#^x)8B2ZiAyXVjTXX=ukRK?M!>sH-8J(plV!|tce>dgIGzd|UV~|H7dB_hTKY?6=JPWxD`4!}K$Q8)nA@4&z zg;+?T2C^Q~1sR0whNL0mkmHbtAd?XN;13#Phfl>r$LtpWpd&GK(?3uv$O>;{#J0xB_rPZPaCpdwETue4Xhv-FNKyIcmCC zoy<}W~~(LIuxUCN5=(qv`UVP$%LVSXl?>leMEgQvD?Q!GiKu@W1@)p#?$R!_U4HBiu%6(R{tyMfk* zgjS?hFN=5w#AUos;Np56atw+OK^7pdLOzC&!C}2@0RP+b8LpQnA!D#VkNyVaE65j+ wgW&FfyodMKAa6mIA#Xrlf;3gi-GGwdX!213sTaMvOK1^tuALI3~& From 865153b471132bc02567ab49e686a01b8b86b553 Mon Sep 17 00:00:00 2001 From: Andrew Dupont Date: Thu, 11 Jan 2024 16:08:37 -0800 Subject: [PATCH 59/68] Address newly failing tests --- .../language-hyperlink/spec/hyperlink-spec.js | 77 ++++++++++--------- packages/language-php/spec/html-spec.js | 1 + packages/language-php/spec/php-spec.js | 5 +- 3 files changed, 47 insertions(+), 36 deletions(-) diff --git a/packages/language-hyperlink/spec/hyperlink-spec.js b/packages/language-hyperlink/spec/hyperlink-spec.js index a5015bce26..41be450d9c 100644 --- a/packages/language-hyperlink/spec/hyperlink-spec.js +++ b/packages/language-hyperlink/spec/hyperlink-spec.js @@ -1,21 +1,26 @@ const path = require('path'); -describe('Hyperlink grammar', function() { +describe('Hyperlink grammar', function () { let grammar = null; - beforeEach(function() { + beforeEach(function () { + // TODO: All these specs rely on the ability of a grammar to tokenize a + // line in isolation, which is something that a `WASMTreeSitterGrammar` + // cannot do. This package will need specialized tests for the modern + // Tree-sitter world the same way that most other language packages do. + atom.config.set('core.useTreeSitterParsers', false); waitsForPromise(() => atom.packages.activatePackage('language-hyperlink')); runs(() => grammar = atom.grammars.grammarForScopeName('text.hyperlink')); }); - it('parses the grammar', function() { + it('parses the grammar', function () { expect(grammar).toBeTruthy(); expect(grammar.scopeName).toBe('text.hyperlink'); }); - it('parses http: and https: links', function() { + it('parses http: and https: links', function () { const plainGrammar = atom.grammars.selectGrammar(); let {tokens} = plainGrammar.tokenizeLine('http://github.com'); @@ -29,16 +34,16 @@ describe('Hyperlink grammar', function() { ({tokens} = plainGrammar.tokenizeLine('https://github.com/atom/brightray_example')); expect(tokens[0]).toEqual({value: 'https://github.com/atom/brightray_example', scopes: ['text.plain.null-grammar', 'markup.underline.link.https.hyperlink']}); -}); + }); - it('parses http: and https: links that contains unicode characters', function() { + it('parses http: and https: links that contains unicode characters', function () { const plainGrammar = atom.grammars.selectGrammar(); const {tokens} = plainGrammar.tokenizeLine('https://sv.wikipedia.org/wiki/Mañana'); expect(tokens[0]).toEqual({value: 'https://sv.wikipedia.org/wiki/Mañana', scopes: ['text.plain.null-grammar', 'markup.underline.link.https.hyperlink']}); -}); + }); - it('parses other links', function() { + it('parses other links', function () { const plainGrammar = atom.grammars.selectGrammar(); let {tokens} = plainGrammar.tokenizeLine('mailto:noreply@example.com'); @@ -49,55 +54,57 @@ describe('Hyperlink grammar', function() { ({tokens} = plainGrammar.tokenizeLine('atom://core/open/file?filename=urlEncodedFileName&line=n&column=n')); expect(tokens[0]).toEqual({value: 'atom://core/open/file?filename=urlEncodedFileName&line=n&column=n', scopes: ['text.plain.null-grammar', 'markup.underline.link.atom.hyperlink']}); -}); + }); - it('does not parse links in a regex string', function() { + it('does not parse links in a regex string', function () { const testGrammar = atom.grammars.loadGrammarSync(path.join(__dirname, 'fixtures', 'test-grammar.cson')); const {tokens} = testGrammar.tokenizeLine('regexp:http://github.com'); expect(tokens[1]).toEqual({value: 'http://github.com', scopes: ['source.test', 'string.regexp.test']}); -}); - - describe('parsing PHP strings', () => it('does not parse links in a regex string', function() { - // PHP is unique in that its root scope is `text.html.php`, meaning that even though - // `string - string.regexp` won't match in a regex string, `text` still will. - // This is the reason the injection selector is `text - string.regexp` instead. - // https://github.com/atom/language-php/issues/219 - - waitsForPromise(() => atom.packages.activatePackage('language-php')); - - runs(function() { - const phpGrammar = atom.grammars.grammarForScopeName('text.html.php'); + }); - const {tokens} = phpGrammar.tokenizeLine(''); - expect(tokens[3]).toEqual({value: 'mailto:', scopes: ['text.html.php', 'meta.embedded.line.php', 'source.php', 'string.regexp.double-quoted.php']});}); -})); + describe('parsing PHP strings', () => { + it('does not parse links in a regex string', function () { + // PHP is unique in that its root scope is `text.html.php`, meaning that even though + // `string - string.regexp` won't match in a regex string, `text` still will. + // This is the reason the injection selector is `text - string.regexp` instead. + // https://github.com/atom/language-php/issues/219 + + waitsForPromise(() => atom.packages.activatePackage('language-php')); + + runs(() => { + const phpGrammar = atom.grammars.grammarForScopeName('text.html.php'); + const {tokens} = phpGrammar.tokenizeLine(''); + expect(tokens[3]).toEqual({ value: 'mailto:', scopes: ['text.html.php', 'meta.embedded.line.php', 'source.php', 'string.regexp.double-quoted.php']}); + }); + }); + }); - describe('parsing cfml strings', function() { - it('does not include anything between (and including) pound signs', function() { + describe('parsing cfml strings', function () { + it('does not include anything between (and including) pound signs', function () { const plainGrammar = atom.grammars.selectGrammar(); const {tokens} = plainGrammar.tokenizeLine('http://github.com/#username#'); expect(tokens[0]).toEqual({value: 'http://github.com/', scopes: ['text.plain.null-grammar', 'markup.underline.link.http.hyperlink']}); - }); + }); - it('still includes single pound signs', function() { + it('still includes single pound signs', function () { const plainGrammar = atom.grammars.selectGrammar(); const {tokens} = plainGrammar.tokenizeLine('http://github.com/atom/#start-of-content'); expect(tokens[0]).toEqual({value: 'http://github.com/atom/#start-of-content', scopes: ['text.plain.null-grammar', 'markup.underline.link.http.hyperlink']}); + }); }); -}); - describe('parsing matching parentheses', function() { - it('still includes matching parentheses', function() { + describe('parsing matching parentheses', function () { + it('still includes matching parentheses', function () { const plainGrammar = atom.grammars.selectGrammar(); const {tokens} = plainGrammar.tokenizeLine('https://en.wikipedia.org/wiki/Atom_(text_editor)'); expect(tokens[0]).toEqual({value: 'https://en.wikipedia.org/wiki/Atom_(text_editor)', scopes: ['text.plain.null-grammar', 'markup.underline.link.https.hyperlink']}); - }); + }); - it('does not include wrapping parentheses', function() { + it('does not include wrapping parentheses', function () { const plainGrammar = atom.grammars.selectGrammar(); const {tokens} = plainGrammar.tokenizeLine('(https://en.wikipedia.org/wiki/Atom_(text_editor))'); expect(tokens[1]).toEqual({value: 'https://en.wikipedia.org/wiki/Atom_(text_editor)', scopes: ['text.plain.null-grammar', 'markup.underline.link.https.hyperlink']}); + }); }); }); -}); diff --git a/packages/language-php/spec/html-spec.js b/packages/language-php/spec/html-spec.js index fe2cdac9a0..90a53792ad 100644 --- a/packages/language-php/spec/html-spec.js +++ b/packages/language-php/spec/html-spec.js @@ -3,6 +3,7 @@ describe('PHP in HTML', () => { let grammar = null; beforeEach(() => { + atom.config.set('core.useTreeSitterParsers', false); waitsForPromise(() => atom.packages.activatePackage('language-php')); waitsForPromise(() => // While not used explicitly in any tests, we still activate language-html diff --git a/packages/language-php/spec/php-spec.js b/packages/language-php/spec/php-spec.js index 92c6caa7d4..c7f4ee2955 100644 --- a/packages/language-php/spec/php-spec.js +++ b/packages/language-php/spec/php-spec.js @@ -3,7 +3,10 @@ describe('PHP grammar', function() { let grammar = null; beforeEach(function() { - waitsForPromise(() => atom.packages.activatePackage('language-php')); + atom.config.set('core.useTreeSitterParsers', false); + + waitsForPromise(() => + atom.packages.activatePackage('language-php')); runs(function() { grammar = atom.grammars.grammarForScopeName('source.php'); From ddfa6451220265a299c733d44d7f882ed37c48d8 Mon Sep 17 00:00:00 2001 From: Andrew Dupont Date: Fri, 12 Jan 2024 12:42:01 -0800 Subject: [PATCH 60/68] Fix issue where `symbol-provider-ctags` used the wrong package root --- packages/symbol-provider-ctags/lib/ctags-provider.js | 4 ++-- .../spec/symbol-provider-ctags-spec.js | 8 ++++++++ 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/packages/symbol-provider-ctags/lib/ctags-provider.js b/packages/symbol-provider-ctags/lib/ctags-provider.js index ea8ad638f0..6d587ce779 100644 --- a/packages/symbol-provider-ctags/lib/ctags-provider.js +++ b/packages/symbol-provider-ctags/lib/ctags-provider.js @@ -62,11 +62,11 @@ class CtagsProvider { const {resourcePath} = atom.getLoadSettings(); const currentFileWasRequiredFromSnapshot = !fs.isAbsolute(__dirname); const packageRoot = currentFileWasRequiredFromSnapshot - ? path.join(resourcePath, 'node_modules', 'symbols-view') + ? path.join(resourcePath, 'node_modules', 'symbol-provider-ctags') : path.resolve(__dirname, '..'); if (path.extname(resourcePath) === '.asar' && packageRoot.indexOf(resourcePath) === 0) { - return path.join(`${resourcePath}.unpacked`, 'node_modules', 'symbols-view'); + return path.join(`${resourcePath}.unpacked`, 'node_modules', 'symbol-provider-ctags'); } else { return packageRoot; } diff --git a/packages/symbol-provider-ctags/spec/symbol-provider-ctags-spec.js b/packages/symbol-provider-ctags/spec/symbol-provider-ctags-spec.js index ec4fea27ad..c63d1b8bc8 100644 --- a/packages/symbol-provider-ctags/spec/symbol-provider-ctags-spec.js +++ b/packages/symbol-provider-ctags/spec/symbol-provider-ctags-spec.js @@ -52,6 +52,14 @@ describe('CTagsProvider', () => { ); }); + it('identifies its project root correctly', () => { + let root = provider.getPackageRoot(); + expect(root).toContain("symbol-provider-ctags"); + expect( + fs.existsSync(path.join(root, "vendor", "ctags-darwin")) + ).toBe(true); + }); + describe('when tags can be generated for a file', () => { beforeEach(async () => { await atom.workspace.open(directory.resolve('sample.js')); From 99722454b8dd0f0c4c3501106f6f41155a6dfa6b Mon Sep 17 00:00:00 2001 From: Andrew Dupont Date: Fri, 12 Jan 2024 13:10:51 -0800 Subject: [PATCH 61/68] [symbols-view] Allow for scope-specific overrides of preferred providers --- packages/symbols-view/lib/config.js | 5 +++ packages/symbols-view/lib/provider-broker.js | 2 +- .../symbols-view/spec/symbols-view-spec.js | 39 ++++++++++++++++++- 3 files changed, 44 insertions(+), 2 deletions(-) diff --git a/packages/symbols-view/lib/config.js b/packages/symbols-view/lib/config.js index 0a969b86ff..2de1801498 100644 --- a/packages/symbols-view/lib/config.js +++ b/packages/symbols-view/lib/config.js @@ -19,6 +19,11 @@ const Config = { this.subscriptions?.dispose(); }, + getForEditor(editor, key) { + let grammar = editor.getGrammar(); + return atom.config.get(`symbols-view.${key}`, { scope: [grammar?.scopeName] }); + }, + get(key) { return atom.config.get(`symbols-view.${key}`); }, diff --git a/packages/symbols-view/lib/provider-broker.js b/packages/symbols-view/lib/provider-broker.js index c6b9efc675..f702336272 100644 --- a/packages/symbols-view/lib/provider-broker.js +++ b/packages/symbols-view/lib/provider-broker.js @@ -180,7 +180,7 @@ module.exports = class ProviderBroker { let exclusivesByScore = []; let results = []; - let preferredProviders = atom.config.get('symbols-view.preferCertainProviders'); + let preferredProviders = Config.getForEditor(meta.editor, 'preferCertainProviders'); if (shouldLog) { console.debug(`Provider broker choosing among ${this.providers.length} candidates:`, this.providers); diff --git a/packages/symbols-view/spec/symbols-view-spec.js b/packages/symbols-view/spec/symbols-view-spec.js index 8f97191674..04eccd9239 100644 --- a/packages/symbols-view/spec/symbols-view-spec.js +++ b/packages/symbols-view/spec/symbols-view-spec.js @@ -100,6 +100,8 @@ describe('SymbolsView', () => { activationPromise.then(() => { mainModule = atom.packages.getActivePackage('symbols-view').mainModule; }); + await activationPromise; + await atom.packages.activatePackage('language-javascript'); jasmine.attachToDOM(getWorkspaceView()); }); @@ -111,6 +113,9 @@ describe('SymbolsView', () => { beforeEach(async () => { atom.config.set('symbols-view.providerTimeout', 500); await atom.workspace.open(directory.resolve('sample.js')); + let editor = atom.workspace.getActiveTextEditor(); + let languageMode = editor.getBuffer().getLanguageMode(); + if (languageMode.ready) await languageMode.ready; }); it('displays all symbols with line numbers', async () => { @@ -303,7 +308,39 @@ describe('SymbolsView', () => { beforeEach(() => { // Last time we referred to this one by its package name; now we use // its human-friendly name. They should be interchangeable. - atom.config.set('symbols-view.preferCertainProviders', ['Competing Exclusive', 'symbol-provider-dummy']); + atom.config.set( + 'symbols-view.preferCertainProviders', + ['Competing Exclusive', 'symbol-provider-dummy'] + ); + }); + + it('prefers the one with the highest score (providers listed earlier beating those listed later)', async () => { + registerProvider(DummyProvider, CompetingExclusiveProvider); + spyOn(CompetingExclusiveProvider, 'getSymbols').andCallThrough(); + spyOn(DummyProvider, 'getSymbols').andCallThrough(); + await activationPromise; + await dispatchAndWaitForChoices('symbols-view:toggle-file-symbols'); + symbolsView = getSymbolsView(); + expect(choiceCount(symbolsView)).toBe(5); + expect(DummyProvider.getSymbols).not.toHaveBeenCalled(); + expect(CompetingExclusiveProvider.getSymbols).toHaveBeenCalled(); + }); + }); + + describe('and one has a scope-specific `preferCertainProviders` setting', () => { + beforeEach(() => { + // Last time we referred to this one by its package name; now we use + // its human-friendly name. They should be interchangeable. + atom.config.set( + 'symbols-view.preferCertainProviders', + ['Competing Exclusive', 'symbol-provider-dummy'], + { scopeSelector: '.source.js' } + ); + + atom.config.set( + 'symbols-view.preferCertainProviders', + ['symbol-provider-dummy'] + ); }); it('prefers the one with the highest score (providers listed earlier beating those listed later)', async () => { From a34b01bfb247d09d0d0b57ea707e2d476d54f1ca Mon Sep 17 00:00:00 2001 From: Andrew Dupont Date: Fri, 12 Jan 2024 13:28:22 -0800 Subject: [PATCH 62/68] =?UTF-8?q?In=20JS/TS,=20correctly=20highlight=20a?= =?UTF-8?q?=20variable=20with=20a=20default=20value=E2=80=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit …when destructuring an array. --- packages/language-javascript/grammars/ts/highlights.scm | 7 +++++++ .../language-typescript/grammars/common/highlights.scm | 7 +++++++ 2 files changed, 14 insertions(+) diff --git a/packages/language-javascript/grammars/ts/highlights.scm b/packages/language-javascript/grammars/ts/highlights.scm index c34c7418b8..cd067c58da 100644 --- a/packages/language-javascript/grammars/ts/highlights.scm +++ b/packages/language-javascript/grammars/ts/highlights.scm @@ -145,6 +145,13 @@ (array_pattern (identifier) @variable.other.assignment.destructuring.js)) +; A variable array destructuring with a default: +; The "baz" in `let [foo, bar, baz = false] = something` +(variable_declarator + (array_pattern + (assignment_pattern + (identifier) @variable.other.assignment.destructuring.js))) + ; A variable declaration in a for…(in|of) loop: ; The "foo" in `for (let foo of bar) {` (for_in_statement diff --git a/packages/language-typescript/grammars/common/highlights.scm b/packages/language-typescript/grammars/common/highlights.scm index c7480514f2..8757d6b72f 100644 --- a/packages/language-typescript/grammars/common/highlights.scm +++ b/packages/language-typescript/grammars/common/highlights.scm @@ -136,6 +136,13 @@ (array_pattern (identifier) @variable.other.assignment.destructuring._LANG_)) +; A variable array destructuring with a default: +; The "baz" in `let [foo, bar, baz = false] = something` +(variable_declarator + (array_pattern + (assignment_pattern + (identifier) @variable.other.assignment.destructuring.js))) + ; A variable declaration in a for…(in|of) loop: ; The "foo" in `for (let foo of bar) {` (for_in_statement From e78feea098f3687ec1ac2b44a7353e939ecd0633 Mon Sep 17 00:00:00 2001 From: Andrew Dupont Date: Tue, 9 Jan 2024 20:28:13 -0800 Subject: [PATCH 63/68] Address more PHP grammar feedback --- .../tree-sitter/queries/highlights.scm | 44 ++++++++++++------- 1 file changed, 29 insertions(+), 15 deletions(-) diff --git a/packages/language-php/grammars/tree-sitter/queries/highlights.scm b/packages/language-php/grammars/tree-sitter/queries/highlights.scm index bc4306511e..96ab45f14a 100644 --- a/packages/language-php/grammars/tree-sitter/queries/highlights.scm +++ b/packages/language-php/grammars/tree-sitter/queries/highlights.scm @@ -202,24 +202,33 @@ ; NAMESPACES ; ========== +; The "Foo" in `use Bar as Foo;` +(namespace_aliasing_clause + (name) @entity.name.type.namespace.alias.php) + +; The "Bar" in `use Bar as Foo;` +(namespace_use_clause + (name) @entity.name.type.namespace.aliased.php + . (namespace_aliasing_clause) + (#set! capture.final true) +) + +; The "Foo" and "Bar" in `use Foo\Bar\Baz;`. +(namespace_name_as_prefix + (namespace_name) @support.other.namespace.php) + +; The last segment of a namespace; the "Baz" in `Foo\Bar\Baz;`. +(qualified_name (name) @entity.name.type.namespace.php) + ; The "Foo" in `namespace Foo;` (namespace_definition name: (namespace_name (name) @entity.name.type.namespace.php) (#set! isNamespaceDefinition true)) -; The "Bar" and "Foo" in `use Bar as Foo;` -(namespace_use_clause - (name) @variable.other.namespace.aliased.php - (#set! isPartOfNamespaceAlias true) - (namespace_aliasing_clause - (name) @entity.name.type.namespace.alias.php)) - ; The "Foo" in `use Foo;` -; Also the "Foo" and "Bar" in `use Foo\Bar;` -((name) @entity.name.type.namespace.php - (#is-not? test.rangeWithData isPartOfNamespaceAlias) - (#is? test.descendantOfType "namespace_use_clause")) +(namespace_use_clause (name) @entity.name.type.namespace.php) + ; The "Foo" in `Foo\Bar::method();` (namespace_name @@ -233,6 +242,9 @@ (class_declaration (name) @entity.name.type.class.php) +(class_declaration (base_clause (name) @entity.other.inherited-class.php)) +(class_declaration (class_interface_clause (name) @entity.other.implemented-interface.php)) + ; Static method calls. (scoped_call_expression name: (name) @support.other.function.method.static.php) @@ -240,6 +252,9 @@ (member_call_expression name: (name) @support.other.function.method.php) +(scoped_call_expression + scope: (name) @support.class.php) + ; TRAITS ; ====== @@ -310,10 +325,6 @@ ((name) @constant.language.php (#match? @constant.language.php "^__[A-Z][A-Z\d_]+__$")) -((name) @support.other.function.constructor.php - (#match? @support.other.function.constructor.php "^[A-Z]") - (#set! capture.shy true)) - (argument name: (_) @variable.other.named-argument.php ":" @punctuation.separator.key-value.php) @@ -480,6 +491,9 @@ "=>" @punctuation.separator.key-value.php "\\" @keyword.operator.namespace.php +"::" @keyword.operator.accessor.php + +";" @punctuation.terminator.statement.php; (unary_op_expression "!" @keyword.operator.unary.php) From 62bd6cc8ba22aff2588f41228f997dfaf319c14d Mon Sep 17 00:00:00 2001 From: Andrew Dupont Date: Fri, 12 Jan 2024 17:11:49 -0800 Subject: [PATCH 64/68] Even more PHP grammar feedback --- .../tree-sitter/queries/highlights.scm | 101 +++++++++++++++--- 1 file changed, 85 insertions(+), 16 deletions(-) diff --git a/packages/language-php/grammars/tree-sitter/queries/highlights.scm b/packages/language-php/grammars/tree-sitter/queries/highlights.scm index 96ab45f14a..30d7563710 100644 --- a/packages/language-php/grammars/tree-sitter/queries/highlights.scm +++ b/packages/language-php/grammars/tree-sitter/queries/highlights.scm @@ -245,15 +245,60 @@ (class_declaration (base_clause (name) @entity.other.inherited-class.php)) (class_declaration (class_interface_clause (name) @entity.other.implemented-interface.php)) -; Static method calls. +; The "Foo" and "Bar" in `use Bar, Foo;` +(use_declaration (name) @support.other.trait.php) + +; The "Foo" in `Baz::thud insteadof Foo;` +(use_instead_of_clause (name) @support.other.trait.php . + (#set! capture.final true)) + +; In `use` lists, the "bar" in `Foo::bar` is a method, not a constant. +(use_list + (_ + (class_constant_access_expression (name) @support.other.function.method.php .) + ) + (#set! capture.final true)) + +; The "Foo" and "bar" in `Foo::bar`. +(class_constant_access_expression . (name) @support.class.php) +(class_constant_access_expression (name) @support.other.property.php .) + +; The "Foo" and "bar" in "Foo::bar()". (scoped_call_expression + scope: (name) @support.class.php name: (name) @support.other.function.method.static.php) +; The "Foo" and "$bar" in "Foo::$bar()". +(scoped_call_expression + scope: (name) @support.class.php) +(scoped_call_expression + name: (variable_name) @variable.other.method.static.php) + +; The "Foo" and "$bar" in `Foo::$bar`. +(scoped_property_access_expression + scope: (name) @support.class.php) +(scoped_property_access_expression + name: (variable_name) @variable.other.property.static.php + (#set! capture.final true)) + +; The "bar" in `$foo->bar()`. (member_call_expression name: (name) @support.other.function.method.php) -(scoped_call_expression - scope: (name) @support.class.php) +; The "bar" in `$foo->bar`. +(member_access_expression + name: (name) @support.other.property.php + (#set! capture.final true)) + +; The "$bar" in `$foo->$bar()`. +(member_call_expression + name: (variable_name) @variable.other.method.php + (#set! capture.final true)) + +; The "$bar" in `$foo->$bar`. +(member_access_expression + name: (variable_name) @variable.other.property.php + (#set! capture.final true)) ; TRAITS @@ -262,6 +307,12 @@ (trait_declaration (name) @entity.name.type.trait.php) +; INTERFACES +; ========== + +(interface_declaration (name) @entity.name.type.interface.php) + + ; TYPES ; ===== @@ -272,11 +323,22 @@ "global" @storage.modifier.global.php -["trait" "class"] @storage.type._TYPE_.php +["enum" "interface" "trait" "class"] @storage.type._TYPE_.php +(enum_case "case" @storage.type.case.php) "function" @storage.type.function.php "fn" @storage.type.function.arrow.php +; ENUMS +; ===== + +(enum_declaration + name: (name) @entity.name.type.enum.php) + +(enum_declaration_list + (enum_case + name: (name) @constant.other.enum.php)) + ; VARIABLES ; ========= @@ -300,11 +362,6 @@ "$" @punctuation.definition.variable.php ) @variable.parameter.php)) -; The "$bar" in `$foo->$bar`. -(member_access_expression - name: (variable_name) @variable.other.property.php - (#set! capture.final true)) - ((variable_name ("$" @punctuation.definition.variable.php) (name) @_IGNORE_) @variable.other.php @@ -349,10 +406,8 @@ [ - "abstract" "as" "break" - "case" "catch" "const" "continue" @@ -367,16 +422,12 @@ "endif" "endswitch" "endwhile" - "extends" "finally" "foreach" "if" - "implements" "include_once" "include" "insteadof" - "interface" - "namespace" "new" "require_once" "require" @@ -388,8 +439,14 @@ "while" ] @keyword.control._TYPE_.php +(case_statement "case" @keyword.control.case.php) + [ + "abstract" + "extends" "final" + "implements" + "namespace" "private" "protected" "public" @@ -451,7 +508,11 @@ (optional_type "?" @keyword.operator.nullable-type.php) (union_type "|" @keyword.operator.union-type.php) -["&&" "||"] @keyword.operator.logical.php +[ + "&&" + "||" + "??" +] @keyword.operator.logical.php ["="] @keyword.operator.assignment.php @@ -484,7 +545,15 @@ "-=" "*=" "/=" + "%=" + "**=" + "&=" + "|=" + "^=" + "<<=" + ">>=" ".=" + "??=" ] @keyword.operator.assignment.compound.php "->" @keyword.operator.class.php From f3be33bbc9b8ef316c7179f2aa7c53da143386fd Mon Sep 17 00:00:00 2001 From: Andrew Dupont Date: Fri, 12 Jan 2024 19:21:00 -0800 Subject: [PATCH 65/68] Add `<>` and `<=>` operators in PHP --- .../language-php/grammars/tree-sitter/queries/highlights.scm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/packages/language-php/grammars/tree-sitter/queries/highlights.scm b/packages/language-php/grammars/tree-sitter/queries/highlights.scm index 30d7563710..cce8ed419c 100644 --- a/packages/language-php/grammars/tree-sitter/queries/highlights.scm +++ b/packages/language-php/grammars/tree-sitter/queries/highlights.scm @@ -530,6 +530,8 @@ "<" "<=" ">=" + "<>" + "<=>" ] @keyword.operator.comparison.php [ From bae3689f888e79d38e55cf0b5215ca7434378c93 Mon Sep 17 00:00:00 2001 From: Andrew Dupont Date: Fri, 12 Jan 2024 19:33:20 -0800 Subject: [PATCH 66/68] Add folds for PHP --- .../grammars/tree-sitter/queries/folds.scm | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/packages/language-php/grammars/tree-sitter/queries/folds.scm b/packages/language-php/grammars/tree-sitter/queries/folds.scm index 092bc2b041..2b0082226e 100644 --- a/packages/language-php/grammars/tree-sitter/queries/folds.scm +++ b/packages/language-php/grammars/tree-sitter/queries/folds.scm @@ -1 +1,11 @@ -; + +(if_statement + body: (compound_statement) @fold + (#set! fold.adjustToEndOfPreviousRow true)) + +[ + (enum_declaration_list) + (compound_statement) + (switch_block) + (declaration_list) +] @fold From 6ebdfa0cab8cd90fcf17bfae83fa8ee1d26da861 Mon Sep 17 00:00:00 2001 From: Andrew Dupont Date: Fri, 12 Jan 2024 19:33:38 -0800 Subject: [PATCH 67/68] Remove unneeded file --- .../grammars/tree-sitter/queries/highlights-html.scm | 1 - 1 file changed, 1 deletion(-) delete mode 100644 packages/language-php/grammars/tree-sitter/queries/highlights-html.scm diff --git a/packages/language-php/grammars/tree-sitter/queries/highlights-html.scm b/packages/language-php/grammars/tree-sitter/queries/highlights-html.scm deleted file mode 100644 index 5fbb4b9d39..0000000000 --- a/packages/language-php/grammars/tree-sitter/queries/highlights-html.scm +++ /dev/null @@ -1 +0,0 @@ -; Placeholder From 0111e13f0e1e35afa2ba2142f8906bde008b615a Mon Sep 17 00:00:00 2001 From: Andrew Dupont Date: Fri, 12 Jan 2024 19:38:28 -0800 Subject: [PATCH 68/68] PHP feedback --- .../grammars/tree-sitter/queries/highlights.scm | 10 ++++++++++ .../language-php/grammars/tree-sitter/queries/tags.scm | 2 ++ 2 files changed, 12 insertions(+) diff --git a/packages/language-php/grammars/tree-sitter/queries/highlights.scm b/packages/language-php/grammars/tree-sitter/queries/highlights.scm index cce8ed419c..5801f81a62 100644 --- a/packages/language-php/grammars/tree-sitter/queries/highlights.scm +++ b/packages/language-php/grammars/tree-sitter/queries/highlights.scm @@ -540,8 +540,18 @@ "*" "/" "**" + "%" ] @keyword.operator.arithmetic.php +[ + "&" + "|" + "^" + "~" + "<<" + ">>" +] @keyword.operator.bitwise.php + [ "+=" "-=" diff --git a/packages/language-php/grammars/tree-sitter/queries/tags.scm b/packages/language-php/grammars/tree-sitter/queries/tags.scm index 0bd4e6010d..3d03f5bc59 100644 --- a/packages/language-php/grammars/tree-sitter/queries/tags.scm +++ b/packages/language-php/grammars/tree-sitter/queries/tags.scm @@ -39,3 +39,5 @@ (member_call_expression name: (name) @name) @reference.call + +(enum_declaration (name) @name) @definition.enum

K0!&MV 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 c.type === 'nowdoc_body'); - let results = body.children.filter(c => c.type === 'nowdoc_string'); - return results; - } - }); - - - // PHPDoc - // ====== - atom.grammars.addInjectionPoint('text.html.php', { type: 'comment', language(node) { From c93bdeb21a281b0ae9505f28d3c17eed64752ddb Mon Sep 17 00:00:00 2001 From: Andrew Dupont Date: Fri, 5 Jan 2024 00:38:14 -0800 Subject: [PATCH 46/68] Add `parserSource` fields where appropriate --- packages/language-php/grammars/modern-tree-sitter-php-html.cson | 1 + packages/language-php/grammars/modern-tree-sitter-php.cson | 1 + 2 files changed, 2 insertions(+) diff --git a/packages/language-php/grammars/modern-tree-sitter-php-html.cson b/packages/language-php/grammars/modern-tree-sitter-php-html.cson index a1f6ff0c3b..2946872b43 100644 --- a/packages/language-php/grammars/modern-tree-sitter-php-html.cson +++ b/packages/language-php/grammars/modern-tree-sitter-php-html.cson @@ -6,6 +6,7 @@ parser: 'tree-sitter-php' injectionRegex: 'php|PHP' treeSitter: + parserSource: 'github:tree-sitter/tree-sitter-php#d5e7cacb6c27e0e131c7f76c0dbfee56dfcc61e3' grammar: 'tree-sitter/tree-sitter-php.wasm' highlightsQuery: 'tree-sitter/queries/highlights.scm' tagsQuery: 'tree-sitter/queries/tags.scm' diff --git a/packages/language-php/grammars/modern-tree-sitter-php.cson b/packages/language-php/grammars/modern-tree-sitter-php.cson index f2101fb876..fd5e8938b6 100644 --- a/packages/language-php/grammars/modern-tree-sitter-php.cson +++ b/packages/language-php/grammars/modern-tree-sitter-php.cson @@ -7,5 +7,6 @@ parser: 'tree-sitter-php' injectionRegex: '^(internal-php)$' treeSitter: + parserSource: 'github:tree-sitter/tree-sitter-php#d5e7cacb6c27e0e131c7f76c0dbfee56dfcc61e3' grammar: 'tree-sitter/tree-sitter-php.wasm' highlightsQuery: 'tree-sitter/queries/empty.scm' From ad8a215c773a9c02cdb2001661e57cfec6803a83 Mon Sep 17 00:00:00 2001 From: Andrew Dupont Date: Fri, 5 Jan 2024 11:53:32 -0800 Subject: [PATCH 47/68] Remove logging from injection callback --- packages/language-php/lib/main.js | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/packages/language-php/lib/main.js b/packages/language-php/lib/main.js index 3d5200f8c1..d2db86bf09 100644 --- a/packages/language-php/lib/main.js +++ b/packages/language-php/lib/main.js @@ -108,8 +108,7 @@ exports.activate = function () { type: 'heredoc', language(node) { let id = node.firstNamedChild; - if (id.type !== 'heredoc_start') { return null; } - console.log('returning heredoc name:', id.text); + if (id.type !== 'heredoc_start') return null; return id.text; }, content(node) { From 58b9cc1865c6887434fe59aa40c0a229409c0ec0 Mon Sep 17 00:00:00 2001 From: Andrew Dupont Date: Fri, 5 Jan 2024 12:18:22 -0800 Subject: [PATCH 48/68] Handle nowdocs in PHP --- .../tree-sitter/queries/highlights.scm | 3 ++- packages/language-php/lib/main.js | 24 +++++++++++++++++++ 2 files changed, 26 insertions(+), 1 deletion(-) diff --git a/packages/language-php/grammars/tree-sitter/queries/highlights.scm b/packages/language-php/grammars/tree-sitter/queries/highlights.scm index db67585f60..860d97c06f 100644 --- a/packages/language-php/grammars/tree-sitter/queries/highlights.scm +++ b/packages/language-php/grammars/tree-sitter/queries/highlights.scm @@ -303,7 +303,8 @@ (encapsed_string (escape_sequence) @constant.character.escape.php) -(heredoc) @string.unquoted.heredoc.php +[(heredoc) (nowdoc)] @string.unquoted.heredoc.php + [ "abstract" diff --git a/packages/language-php/lib/main.js b/packages/language-php/lib/main.js index d2db86bf09..bc8b18c345 100644 --- a/packages/language-php/lib/main.js +++ b/packages/language-php/lib/main.js @@ -73,6 +73,9 @@ exports.activate = function () { includeAdjacentWhitespace: true }); + // TODOs and URLs + // ============== + const TODO_PATTERN = /\b(TODO|FIXME|CHANGED|XXX|IDEA|HACK|NOTE|REVIEW|NB|BUG|QUESTION|COMBAK|TEMP|DEBUG|OPTIMIZE|WARNING)\b/; const HYPERLINK_PATTERN = /\bhttps?:/ @@ -104,6 +107,9 @@ exports.activate = function () { }); } + // HEREDOCS and NOWDOCS + // ==================== + atom.grammars.addInjectionPoint('text.html.php', { type: 'heredoc', language(node) { @@ -118,6 +124,24 @@ exports.activate = function () { } }); + atom.grammars.addInjectionPoint('text.html.php', { + type: 'nowdoc', + language(node) { + let id = node.firstNamedChild; + if (id.type !== 'heredoc_start') return null; + return id.text; + }, + content(node) { + let body = node.children.find(c => c.type === 'nowdoc_body'); + let results = body.children.filter(c => c.type === 'nowdoc_string'); + return results; + } + }); + + + // PHPDoc + // ====== + atom.grammars.addInjectionPoint('text.html.php', { type: 'comment', language(node) { From 8c946a004e6818da7a521c7a69e0ab3fbe1349bc Mon Sep 17 00:00:00 2001 From: Andrew Dupont Date: Fri, 5 Jan 2024 12:19:15 -0800 Subject: [PATCH 49/68] =?UTF-8?q?[tree-sitter]=20TS:=20Treat=20parameters?= =?UTF-8?q?=20with=20defaults=20like=20parameters=E2=80=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit …plus a few other TypeScript fixes. --- packages/language-typescript/grammars/common/highlights.scm | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/language-typescript/grammars/common/highlights.scm b/packages/language-typescript/grammars/common/highlights.scm index abfd5052b3..c7480514f2 100644 --- a/packages/language-typescript/grammars/common/highlights.scm +++ b/packages/language-typescript/grammars/common/highlights.scm @@ -434,6 +434,7 @@ (generator_function_declaration "*" @storage.modifier.generator._LANG_) (method_definition "*" @storage.modifier.generator._LANG_) +(asserts "asserts" @keyword.control.type.asserts._LANG_) ; SUPPORT ; ======= From f2dabe5167fca2f562a36279ec946526045ac5db Mon Sep 17 00:00:00 2001 From: Andrew Dupont Date: Fri, 5 Jan 2024 12:24:16 -0800 Subject: [PATCH 50/68] Update `tree-sitter-php` WASM file to latest `master` --- .../grammars/modern-tree-sitter-php.cson | 2 +- .../grammars/tree-sitter/tree-sitter-php.wasm | Bin 731484 -> 738875 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/language-php/grammars/modern-tree-sitter-php.cson b/packages/language-php/grammars/modern-tree-sitter-php.cson index fd5e8938b6..01b82d73c9 100644 --- a/packages/language-php/grammars/modern-tree-sitter-php.cson +++ b/packages/language-php/grammars/modern-tree-sitter-php.cson @@ -7,6 +7,6 @@ parser: 'tree-sitter-php' injectionRegex: '^(internal-php)$' treeSitter: - parserSource: 'github:tree-sitter/tree-sitter-php#d5e7cacb6c27e0e131c7f76c0dbfee56dfcc61e3' + parserSource: 'github:tree-sitter/tree-sitter-php#594b8bad093abe739c3d2a2cae5abae33c5fb23d' grammar: 'tree-sitter/tree-sitter-php.wasm' highlightsQuery: 'tree-sitter/queries/empty.scm' diff --git a/packages/language-php/grammars/tree-sitter/tree-sitter-php.wasm b/packages/language-php/grammars/tree-sitter/tree-sitter-php.wasm index 21b22a79458815aa069a6b973dd5af1df9cc3132..759c60b33f7ffcd102128b801634fbb91b496086 100755 GIT binary patch literal 738875 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

$^Y!KnXa^VoP0o*+f<&nN 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 Date: Fri, 5 Jan 2024 00:38:14 -0800 Subject: [PATCH 18/68] Add `parserSource` fields where appropriate --- packages/language-php/grammars/modern-tree-sitter-php-html.cson | 1 + packages/language-php/grammars/modern-tree-sitter-php.cson | 1 + 2 files changed, 2 insertions(+) diff --git a/packages/language-php/grammars/modern-tree-sitter-php-html.cson b/packages/language-php/grammars/modern-tree-sitter-php-html.cson index a1f6ff0c3b..2946872b43 100644 --- a/packages/language-php/grammars/modern-tree-sitter-php-html.cson +++ b/packages/language-php/grammars/modern-tree-sitter-php-html.cson @@ -6,6 +6,7 @@ parser: 'tree-sitter-php' injectionRegex: 'php|PHP' treeSitter: + parserSource: 'github:tree-sitter/tree-sitter-php#d5e7cacb6c27e0e131c7f76c0dbfee56dfcc61e3' grammar: 'tree-sitter/tree-sitter-php.wasm' highlightsQuery: 'tree-sitter/queries/highlights.scm' tagsQuery: 'tree-sitter/queries/tags.scm' diff --git a/packages/language-php/grammars/modern-tree-sitter-php.cson b/packages/language-php/grammars/modern-tree-sitter-php.cson index f2101fb876..fd5e8938b6 100644 --- a/packages/language-php/grammars/modern-tree-sitter-php.cson +++ b/packages/language-php/grammars/modern-tree-sitter-php.cson @@ -7,5 +7,6 @@ parser: 'tree-sitter-php' injectionRegex: '^(internal-php)$' treeSitter: + parserSource: 'github:tree-sitter/tree-sitter-php#d5e7cacb6c27e0e131c7f76c0dbfee56dfcc61e3' grammar: 'tree-sitter/tree-sitter-php.wasm' highlightsQuery: 'tree-sitter/queries/empty.scm' From 1dc15366211e253659b653f4227ba1aa4d37883c Mon Sep 17 00:00:00 2001 From: Andrew Dupont Date: Fri, 5 Jan 2024 11:53:32 -0800 Subject: [PATCH 19/68] Remove logging from injection callback --- packages/language-php/lib/main.js | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/packages/language-php/lib/main.js b/packages/language-php/lib/main.js index 3d5200f8c1..d2db86bf09 100644 --- a/packages/language-php/lib/main.js +++ b/packages/language-php/lib/main.js @@ -108,8 +108,7 @@ exports.activate = function () { type: 'heredoc', language(node) { let id = node.firstNamedChild; - if (id.type !== 'heredoc_start') { return null; } - console.log('returning heredoc name:', id.text); + if (id.type !== 'heredoc_start') return null; return id.text; }, content(node) { From 0fd47f58c756c415090feb3e0ebdb75c805e2c56 Mon Sep 17 00:00:00 2001 From: Andrew Dupont Date: Fri, 5 Jan 2024 11:57:45 -0800 Subject: [PATCH 20/68] Skip incorrect CI behavior on changes to `web-tree-sitter` itself --- script/validate-wasm-grammar-prs.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/script/validate-wasm-grammar-prs.js b/script/validate-wasm-grammar-prs.js index 5035475302..c6d0384976 100644 --- a/script/validate-wasm-grammar-prs.js +++ b/script/validate-wasm-grammar-prs.js @@ -64,6 +64,9 @@ if (wasmFilesChanged.length === 0) { for (const wasmFile of wasmFilesChanged) { const wasmPath = path.dirname(wasmFile); + // Don't check the base `tree-sitter.wasm` file. + if (wasmFile.includes('vendor/web-tree-sitter')) continue; + const files = fs.readdirSync(path.join(wasmPath, "..")); console.log(`Detected changes to: ${wasmFile}`); From ee3f41e6e064aed58336fdaddc0fe782ccac702f Mon Sep 17 00:00:00 2001 From: Andrew Dupont Date: Fri, 5 Jan 2024 12:00:18 -0800 Subject: [PATCH 21/68] Don't try to parse non-CSON files as CSON --- script/validate-wasm-grammar-prs.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/script/validate-wasm-grammar-prs.js b/script/validate-wasm-grammar-prs.js index c6d0384976..706ce1f787 100644 --- a/script/validate-wasm-grammar-prs.js +++ b/script/validate-wasm-grammar-prs.js @@ -79,6 +79,9 @@ for (const wasmFile of wasmFilesChanged) { } for (const file of files) { + // Only check `cson` files. + if (!file.endsWith('.cson')) continue; + const filePath = path.join(wasmPath, "..", file); console.log(`Checking: ${filePath}`); From 3a4b2dc03966d23a71d1bb2c9475a39f480b55c2 Mon Sep 17 00:00:00 2001 From: Andrew Dupont Date: Fri, 5 Jan 2024 12:18:22 -0800 Subject: [PATCH 22/68] Handle nowdocs in PHP --- .../tree-sitter/queries/highlights.scm | 3 ++- packages/language-php/lib/main.js | 24 +++++++++++++++++++ 2 files changed, 26 insertions(+), 1 deletion(-) diff --git a/packages/language-php/grammars/tree-sitter/queries/highlights.scm b/packages/language-php/grammars/tree-sitter/queries/highlights.scm index db67585f60..860d97c06f 100644 --- a/packages/language-php/grammars/tree-sitter/queries/highlights.scm +++ b/packages/language-php/grammars/tree-sitter/queries/highlights.scm @@ -303,7 +303,8 @@ (encapsed_string (escape_sequence) @constant.character.escape.php) -(heredoc) @string.unquoted.heredoc.php +[(heredoc) (nowdoc)] @string.unquoted.heredoc.php + [ "abstract" diff --git a/packages/language-php/lib/main.js b/packages/language-php/lib/main.js index d2db86bf09..bc8b18c345 100644 --- a/packages/language-php/lib/main.js +++ b/packages/language-php/lib/main.js @@ -73,6 +73,9 @@ exports.activate = function () { includeAdjacentWhitespace: true }); + // TODOs and URLs + // ============== + const TODO_PATTERN = /\b(TODO|FIXME|CHANGED|XXX|IDEA|HACK|NOTE|REVIEW|NB|BUG|QUESTION|COMBAK|TEMP|DEBUG|OPTIMIZE|WARNING)\b/; const HYPERLINK_PATTERN = /\bhttps?:/ @@ -104,6 +107,9 @@ exports.activate = function () { }); } + // HEREDOCS and NOWDOCS + // ==================== + atom.grammars.addInjectionPoint('text.html.php', { type: 'heredoc', language(node) { @@ -118,6 +124,24 @@ exports.activate = function () { } }); + atom.grammars.addInjectionPoint('text.html.php', { + type: 'nowdoc', + language(node) { + let id = node.firstNamedChild; + if (id.type !== 'heredoc_start') return null; + return id.text; + }, + content(node) { + let body = node.children.find(c => c.type === 'nowdoc_body'); + let results = body.children.filter(c => c.type === 'nowdoc_string'); + return results; + } + }); + + + // PHPDoc + // ====== + atom.grammars.addInjectionPoint('text.html.php', { type: 'comment', language(node) { From 8ae599f81175367e7b64b3400c6ca4e78fbe1e96 Mon Sep 17 00:00:00 2001 From: Andrew Dupont Date: Fri, 5 Jan 2024 12:19:15 -0800 Subject: [PATCH 23/68] =?UTF-8?q?[tree-sitter]=20TS:=20Treat=20parameters?= =?UTF-8?q?=20with=20defaults=20like=20parameters=E2=80=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit …plus a few other TypeScript fixes. --- .../grammars/common/highlights.scm | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/packages/language-typescript/grammars/common/highlights.scm b/packages/language-typescript/grammars/common/highlights.scm index 68c4b3462e..c7480514f2 100644 --- a/packages/language-typescript/grammars/common/highlights.scm +++ b/packages/language-typescript/grammars/common/highlights.scm @@ -37,6 +37,11 @@ (this) @variable.language.this._LANG_ (super) @variable.language.super._LANG_._LANG_x +(required_parameter + pattern: (identifier) @variable.parameter.with-default._LANG_ + value: (_) + (#set! capture.final true)) + (required_parameter pattern: (identifier) @variable.parameter._LANG_) @@ -49,6 +54,12 @@ (shorthand_property_identifier_pattern) @variable.parameter.destructuring._LANG_) (#set! capture.final true)) +(required_parameter + pattern: (object_pattern + (object_assignment_pattern + (shorthand_property_identifier_pattern) @variable.parameter.destructuring.with-default._LANG_)) + (#set! capture.final true)) + (optional_parameter pattern: (identifier) @variable.parameter.optional._LANG_) @@ -329,6 +340,12 @@ (object (shorthand_property_identifier) @entity.other.attribute-name.shorthand._LANG_) +; The "FOO" in `FOO.bar` should be scoped as a constant. +(member_expression + object: (identifier) @constant.other.object._LANG_ + (#match? @constant.other.object._LANG_ "^[_A-Z]+$") + (#set! capture.final true)) + ; The "foo" in `foo.bar`. (member_expression object: (identifier) @support.other.object._LANG_) @@ -417,6 +434,7 @@ (generator_function_declaration "*" @storage.modifier.generator._LANG_) (method_definition "*" @storage.modifier.generator._LANG_) +(asserts "asserts" @keyword.control.type.asserts._LANG_) ; SUPPORT ; ======= From b6d88a56930dc9ef4046869f39db248db0bca959 Mon Sep 17 00:00:00 2001 From: Andrew Dupont Date: Fri, 5 Jan 2024 12:24:16 -0800 Subject: [PATCH 24/68] Update `tree-sitter-php` WASM file to latest `master` --- .../grammars/modern-tree-sitter-php.cson | 2 +- .../grammars/tree-sitter/tree-sitter-php.wasm | Bin 731484 -> 738875 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/language-php/grammars/modern-tree-sitter-php.cson b/packages/language-php/grammars/modern-tree-sitter-php.cson index fd5e8938b6..01b82d73c9 100644 --- a/packages/language-php/grammars/modern-tree-sitter-php.cson +++ b/packages/language-php/grammars/modern-tree-sitter-php.cson @@ -7,6 +7,6 @@ parser: 'tree-sitter-php' injectionRegex: '^(internal-php)$' treeSitter: - parserSource: 'github:tree-sitter/tree-sitter-php#d5e7cacb6c27e0e131c7f76c0dbfee56dfcc61e3' + parserSource: 'github:tree-sitter/tree-sitter-php#594b8bad093abe739c3d2a2cae5abae33c5fb23d' grammar: 'tree-sitter/tree-sitter-php.wasm' highlightsQuery: 'tree-sitter/queries/empty.scm' diff --git a/packages/language-php/grammars/tree-sitter/tree-sitter-php.wasm b/packages/language-php/grammars/tree-sitter/tree-sitter-php.wasm index 21b22a79458815aa069a6b973dd5af1df9cc3132..759c60b33f7ffcd102128b801634fbb91b496086 100755 GIT binary patch literal 738875 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