Merge pull request #223 from emmanueltouzery/js_arrow_methods

treesitter: support for arrow methods for JS/TS(X)
This commit is contained in:
Steven Arcangeli 2023-02-24 11:14:12 -08:00 committed by GitHub
commit 5b788392ec
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
9 changed files with 151 additions and 103 deletions

View file

@ -13,6 +13,12 @@
(#set! "kind" "Method")
) @type
(field_definition
property: (property_identifier) @name
value: (arrow_function)
(#set! "kind" "Method")
) @type
; const fn = () => {}
(lexical_declaration
(variable_declarator

View file

@ -23,6 +23,12 @@
(#set! "kind" "Method")
) @type
(public_field_definition
name: (property_identifier) @name
value: (arrow_function)
(#set! "kind" "Method")
) @type
(type_alias_declaration
name: (type_identifier) @name
(#set! "kind" "Variable")

View file

@ -23,6 +23,12 @@
(#set! "kind" "Method")
) @type
(public_field_definition
name: (property_identifier) @name
value: (arrow_function)
(#set! "kind" "Method")
) @type
(type_alias_declaration
name: (type_identifier) @name
(#set! "kind" "Variable")

View file

@ -9,7 +9,7 @@ describe("treesitter js", function()
level = 0,
lnum = 1,
col = 0,
end_lnum = 3,
end_lnum = 4,
end_col = 1,
children = {
{
@ -21,48 +21,48 @@ describe("treesitter js", function()
end_lnum = 2,
end_col = 13,
},
{
kind = "Method",
name = "cl_fn_3",
level = 1,
lnum = 3,
col = 2,
end_lnum = 3,
end_col = 20,
},
},
},
{
kind = "Function",
name = "fn_1",
level = 0,
lnum = 5,
lnum = 6,
col = 0,
end_lnum = 5,
end_lnum = 6,
end_col = 18,
},
{
kind = "Function",
name = "describe UnitTest",
level = 0,
lnum = 7,
lnum = 8,
col = 0,
end_lnum = 19,
end_lnum = 20,
end_col = 2,
children = {
{
kind = "Function",
name = "afterAll",
level = 1,
lnum = 8,
lnum = 9,
col = 2,
end_lnum = 8,
end_lnum = 9,
end_col = 20,
},
{
kind = "Function",
name = "afterEach",
level = 1,
lnum = 9,
col = 2,
end_lnum = 9,
end_col = 21,
},
{
kind = "Function",
name = "beforeAll",
level = 1,
lnum = 10,
col = 2,
end_lnum = 10,
@ -70,65 +70,74 @@ describe("treesitter js", function()
},
{
kind = "Function",
name = "beforeEach",
name = "beforeAll",
level = 1,
lnum = 11,
col = 2,
end_lnum = 11,
end_col = 21,
},
{
kind = "Function",
name = "beforeEach",
level = 1,
lnum = 12,
col = 2,
end_lnum = 12,
end_col = 22,
},
{
kind = "Function",
name = "test should describe the test",
level = 1,
lnum = 12,
lnum = 13,
col = 2,
end_lnum = 12,
end_lnum = 13,
end_col = 44,
},
{
kind = "Function",
name = "it is an alias for test",
level = 1,
lnum = 13,
lnum = 14,
col = 2,
end_lnum = 13,
end_lnum = 14,
end_col = 38,
},
{
kind = "Function",
name = "test.skip skip this test",
level = 1,
lnum = 14,
lnum = 15,
col = 2,
end_lnum = 14,
end_lnum = 15,
end_col = 39,
},
{
kind = "Function",
name = "test.todo this is a todo",
level = 1,
lnum = 15,
lnum = 16,
col = 2,
end_lnum = 15,
end_lnum = 16,
end_col = 29,
},
{
kind = "Function",
name = "describe.each Test Suite",
level = 1,
lnum = 16,
lnum = 17,
col = 2,
end_lnum = 18,
end_lnum = 19,
end_col = 4,
children = {
{
kind = "Function",
name = "test.each runs multiple times",
level = 2,
lnum = 17,
lnum = 18,
col = 4,
end_lnum = 17,
end_lnum = 18,
end_col = 50,
},
},
@ -139,18 +148,18 @@ describe("treesitter js", function()
kind = "Function",
name = "fn_2",
level = 0,
lnum = 21,
lnum = 22,
col = 0,
end_lnum = 21,
end_lnum = 22,
end_col = 22,
},
{
kind = "Function",
name = "fn_3",
level = 0,
lnum = 22,
lnum = 23,
col = 0,
end_lnum = 22,
end_lnum = 23,
end_col = 28,
},
})

View file

@ -1,5 +1,6 @@
class Cl_1 {
meth_1() {}
cl_fn_3 = () => {}
}
function fn_1() {}

View file

@ -36,7 +36,7 @@ describe("treesitter ts", function()
level = 0,
lnum = 7,
col = 0,
end_lnum = 9,
end_lnum = 10,
end_col = 1,
children = {
{
@ -48,75 +48,75 @@ describe("treesitter ts", function()
end_lnum = 8,
end_col = 13,
},
{
kind = "Method",
name = "cl_fn_3",
level = 1,
lnum = 9,
col = 2,
end_lnum = 9,
end_col = 20,
},
},
},
{
kind = "Variable",
name = "Type1",
level = 0,
lnum = 11,
lnum = 12,
col = 0,
end_lnum = 11,
end_lnum = 12,
end_col = 16,
},
{
kind = "Function",
name = "fn_3",
level = 0,
lnum = 13,
lnum = 14,
col = 0,
end_lnum = 13,
end_lnum = 14,
end_col = 22,
},
{
kind = "Variable",
name = "const_var",
level = 0,
lnum = 15,
lnum = 16,
col = 0,
end_lnum = 15,
end_lnum = 16,
end_col = 26,
},
{
kind = "Variable",
name = "let_var",
level = 0,
lnum = 16,
lnum = 17,
col = 0,
end_lnum = 16,
end_lnum = 17,
end_col = 22,
},
{
kind = "Function",
name = "describe UnitTest",
level = 0,
lnum = 18,
lnum = 19,
col = 0,
end_lnum = 30,
end_lnum = 31,
end_col = 2,
children = {
{
kind = "Function",
name = "afterAll",
level = 1,
lnum = 19,
lnum = 20,
col = 2,
end_lnum = 19,
end_lnum = 20,
end_col = 20,
},
{
kind = "Function",
name = "afterEach",
level = 1,
lnum = 20,
col = 2,
end_lnum = 20,
end_col = 21,
},
{
kind = "Function",
name = "beforeAll",
level = 1,
lnum = 21,
col = 2,
end_lnum = 21,
@ -124,65 +124,74 @@ describe("treesitter ts", function()
},
{
kind = "Function",
name = "beforeEach",
name = "beforeAll",
level = 1,
lnum = 22,
col = 2,
end_lnum = 22,
end_col = 21,
},
{
kind = "Function",
name = "beforeEach",
level = 1,
lnum = 23,
col = 2,
end_lnum = 23,
end_col = 22,
},
{
kind = "Function",
name = "test should describe the test",
level = 1,
lnum = 23,
lnum = 24,
col = 2,
end_lnum = 23,
end_lnum = 24,
end_col = 44,
},
{
kind = "Function",
name = "it is an alias for test",
level = 1,
lnum = 24,
lnum = 25,
col = 2,
end_lnum = 24,
end_lnum = 25,
end_col = 38,
},
{
kind = "Function",
name = "test.skip skip this test",
level = 1,
lnum = 25,
lnum = 26,
col = 2,
end_lnum = 25,
end_lnum = 26,
end_col = 39,
},
{
kind = "Function",
name = "test.todo this is a todo",
level = 1,
lnum = 26,
lnum = 27,
col = 2,
end_lnum = 26,
end_lnum = 27,
end_col = 29,
},
{
kind = "Function",
name = "describe.each Test Suite",
level = 1,
lnum = 27,
lnum = 28,
col = 2,
end_lnum = 29,
end_lnum = 30,
end_col = 4,
children = {
{
kind = "Function",
name = "test.each runs multiple times",
level = 2,
lnum = 28,
lnum = 29,
col = 4,
end_lnum = 28,
end_lnum = 29,
end_col = 50,
},
},

View file

@ -6,6 +6,7 @@ interface Iface_1 {}
class Cl_1 {
meth_1() {}
cl_fn_3 = () => {};
}
type Type1 = {};

View file

@ -36,7 +36,7 @@ describe("treesitter tsx", function()
level = 0,
lnum = 9,
col = 0,
end_lnum = 11,
end_lnum = 12,
end_col = 1,
children = {
{
@ -48,75 +48,75 @@ describe("treesitter tsx", function()
end_lnum = 10,
end_col = 13,
},
{
kind = "Method",
name = "cl_fn_3",
level = 1,
lnum = 11,
col = 2,
end_lnum = 11,
end_col = 20,
},
},
},
{
kind = "Variable",
name = "Type1",
level = 0,
lnum = 13,
lnum = 14,
col = 0,
end_lnum = 13,
end_lnum = 14,
end_col = 16,
},
{
kind = "Function",
name = "fn_3",
level = 0,
lnum = 15,
lnum = 16,
col = 0,
end_lnum = 15,
end_lnum = 16,
end_col = 22,
},
{
kind = "Variable",
name = "const_var",
level = 0,
lnum = 17,
lnum = 18,
col = 0,
end_lnum = 17,
end_lnum = 18,
end_col = 26,
},
{
kind = "Variable",
name = "let_var",
level = 0,
lnum = 18,
lnum = 19,
col = 0,
end_lnum = 18,
end_lnum = 19,
end_col = 22,
},
{
kind = "Function",
name = "describe UnitTest",
level = 0,
lnum = 20,
lnum = 21,
col = 0,
end_lnum = 32,
end_lnum = 33,
end_col = 2,
children = {
{
kind = "Function",
name = "afterAll",
level = 1,
lnum = 21,
lnum = 22,
col = 2,
end_lnum = 21,
end_lnum = 22,
end_col = 20,
},
{
kind = "Function",
name = "afterEach",
level = 1,
lnum = 22,
col = 2,
end_lnum = 22,
end_col = 21,
},
{
kind = "Function",
name = "beforeAll",
level = 1,
lnum = 23,
col = 2,
end_lnum = 23,
@ -124,65 +124,74 @@ describe("treesitter tsx", function()
},
{
kind = "Function",
name = "beforeEach",
name = "beforeAll",
level = 1,
lnum = 24,
col = 2,
end_lnum = 24,
end_col = 21,
},
{
kind = "Function",
name = "beforeEach",
level = 1,
lnum = 25,
col = 2,
end_lnum = 25,
end_col = 22,
},
{
kind = "Function",
name = "test should describe the test",
level = 1,
lnum = 25,
lnum = 26,
col = 2,
end_lnum = 25,
end_lnum = 26,
end_col = 44,
},
{
kind = "Function",
name = "it is an alias for test",
level = 1,
lnum = 26,
lnum = 27,
col = 2,
end_lnum = 26,
end_lnum = 27,
end_col = 38,
},
{
kind = "Function",
name = "test.skip skip this test",
level = 1,
lnum = 27,
lnum = 28,
col = 2,
end_lnum = 27,
end_lnum = 28,
end_col = 39,
},
{
kind = "Function",
name = "test.todo this is a todo",
level = 1,
lnum = 28,
lnum = 29,
col = 2,
end_lnum = 28,
end_lnum = 29,
end_col = 29,
},
{
kind = "Function",
name = "describe.each Test Suite",
level = 1,
lnum = 29,
lnum = 30,
col = 2,
end_lnum = 31,
end_lnum = 32,
end_col = 4,
children = {
{
kind = "Function",
name = "test.each runs multiple times",
level = 2,
lnum = 30,
lnum = 31,
col = 4,
end_lnum = 30,
end_lnum = 31,
end_col = 50,
},
},

View file

@ -8,6 +8,7 @@ interface Iface_1 {}
class Cl_1 {
meth_1() {}
cl_fn_3 = () => {};
}
type Type1 = {};