From b79c28fb411e1aac5408478d1dc7cf9ef8c14c03 Mon Sep 17 00:00:00 2001 From: Phodal Huang Date: Tue, 9 Apr 2024 22:35:21 +0800 Subject: [PATCH] feat: add support for Go and TypeScript with TreeSitter-Go and TreeSitter-TypeScript integration #2 --- src/semantic-treesitter/go/GoTSConfig.ts | 19 ++++++++++++++ .../typescript/TypeScriptTSConfig.ts | 25 +++++++++++++++++++ 2 files changed, 44 insertions(+) diff --git a/src/semantic-treesitter/go/GoTSConfig.ts b/src/semantic-treesitter/go/GoTSConfig.ts index 22fc3fc5..c62c3bc0 100644 --- a/src/semantic-treesitter/go/GoTSConfig.ts +++ b/src/semantic-treesitter/go/GoTSConfig.ts @@ -24,6 +24,25 @@ export const GoTSConfig: TSLanguageConfig = { name: (identifier) @name.definition.method) @definition.method `), + structureQuery: new MemoizedQuery(` + (package_clause + (package_identifier) @package-name) + + (import_declaration + (import_spec + (import_path + (string_literal) @import-name))) @import-name + + (function_declaration + name: (identifier) @function-name) + + (method_declaration + name: (identifier) @method-name) + + (type_declaration + (type_spec + (type_identifier) @type-name)) + `), namespaces: [ // variables ["const", "var", "func", "module"], diff --git a/src/semantic-treesitter/typescript/TypeScriptTSConfig.ts b/src/semantic-treesitter/typescript/TypeScriptTSConfig.ts index 6b8097dd..6efe48b7 100644 --- a/src/semantic-treesitter/typescript/TypeScriptTSConfig.ts +++ b/src/semantic-treesitter/typescript/TypeScriptTSConfig.ts @@ -22,6 +22,31 @@ export const TypeScriptTSConfig: TSLanguageConfig = { (function_declaration (identifier) @name.definition.method) @definition.method `), + structureQuery: new MemoizedQuery(` + (import_statement + (import_clause + (named_import_clause + (import_specifier + (identifier) @import-name)))) @import-name + ) + + (class_declaration + name: (identifier) @class-name + body: (class_body + (method_definition + name: (property_identifier) @class-method-name + parameters: (formal_parameters (identifier)? @parameter) + ) + ) + ) + + (interface_declaration + (identifier) @interface-name + ) + + (program (function_declaration + name: * @function-name)) + `), namespaces: [ [ //variables