nvim-treesitter/lua/nvim-treesitter/parsers.lua

2845 lines
63 KiB
Lua
Raw Normal View History

local api = vim.api
local ts = vim.treesitter
for ft, lang in pairs {
2024-03-01 13:08:36 +08:00
automake = "make",
javascriptreact = "javascript",
ecma = "javascript",
jsx = "javascript",
gyp = "python",
html_tags = "html",
["typescript.tsx"] = "tsx",
["terraform-vars"] = "terraform",
["html.handlebars"] = "glimmer",
systemverilog = "verilog",
dosini = "ini",
confini = "ini",
2023-08-04 14:50:28 +03:00
svg = "xml",
xsd = "xml",
xslt = "xml",
expect = "tcl",
mysql = "sql",
2023-09-24 22:58:14 +02:00
sbt = "scala",
2024-02-14 10:15:10 +08:00
neomuttrc = "muttrc",
clientscript = "runescript",
--- short-hand list from https://github.com/helix-editor/helix/blob/master/languages.toml
rs = "rust",
ex = "elixir",
js = "javascript",
ts = "typescript",
["c-sharp"] = "csharp",
hs = "haskell",
py = "python",
erl = "erlang",
typ = "typst",
pl = "perl",
uxn = "uxntal",
} do
ts.language.register(lang, ft)
end
2022-10-31 10:52:52 +00:00
---@class InstallInfo
---@field url string
---@field branch string|nil
---@field revision string|nil
---@field files string[]
---@field generate_requires_npm boolean|nil
---@field requires_generate_from_grammar boolean|nil
---@field location string|nil
---@field use_makefile boolean|nil
---@field cxx_standard string|nil
2022-10-31 10:52:52 +00:00
---@class ParserInfo
---@field install_info InstallInfo
---@field filetype string
---@field maintainers string[]
---@field experimental boolean|nil
---@field readme_name string|nil
2022-10-31 10:52:52 +00:00
---@type ParserInfo[]
local list = setmetatable({}, {
__newindex = function(table, parsername, parserconfig)
rawset(table, parsername, parserconfig)
if parserconfig.filetype or vim.fn.has "nvim-0.11" == 0 then
ts.language.register(parsername, parserconfig.filetype or parsername)
end
end,
})
2022-06-04 11:11:34 +08:00
2022-12-14 15:59:24 +01:00
list.ada = {
install_info = {
url = "https://github.com/briot/tree-sitter-ada",
files = { "src/parser.c" },
},
maintainers = { "@briot" },
}
2022-07-11 23:05:32 +08:00
list.agda = {
install_info = {
2023-09-18 13:12:07 +08:00
url = "https://github.com/tree-sitter/tree-sitter-agda",
files = { "src/parser.c", "src/scanner.c" },
2022-07-11 23:05:32 +08:00
},
2022-07-11 23:16:25 +08:00
maintainers = { "@Decodetalkers" },
2022-07-11 23:05:32 +08:00
}
2023-11-24 10:25:47 +01:00
list.angular = {
install_info = {
url = "https://github.com/dlvandenberg/tree-sitter-angular",
files = { "src/parser.c", "src/scanner.c" },
generate_requires_npm = true,
2023-11-24 10:25:47 +01:00
},
filetype = "htmlangular",
maintainers = { "@dlvandenberg" },
2023-11-24 12:04:08 +01:00
experimental = true,
2023-11-24 10:25:47 +01:00
}
list.apex = {
install_info = {
url = "https://github.com/aheber/tree-sitter-sfapex",
files = { "src/parser.c" },
location = "apex",
},
maintainers = { "@aheber", "@xixiaofinland" },
}
list.arduino = {
install_info = {
url = "https://github.com/ObserverOfTime/tree-sitter-arduino",
2023-06-19 11:34:00 +03:00
files = { "src/parser.c", "src/scanner.c" },
},
maintainers = { "@ObserverOfTime" },
}
list.asm = {
install_info = {
url = "https://github.com/RubixDev/tree-sitter-asm",
files = { "src/parser.c" },
},
maintainers = { "@RubixDev" },
}
list.astro = {
2022-07-07 22:33:47 +08:00
install_info = {
url = "https://github.com/virchau13/tree-sitter-astro",
2024-03-01 08:29:03 +01:00
files = { "src/parser.c", "src/scanner.c" },
},
maintainers = { "@virchau13" },
}
list.authzed = {
install_info = {
url = "https://github.com/mleonidas/tree-sitter-authzed",
files = { "src/parser.c" },
},
maintainers = { "@mattpolzin" },
}
list.awk = {
install_info = {
url = "https://github.com/Beaglefoot/tree-sitter-awk",
2022-07-07 22:33:47 +08:00
files = { "src/parser.c", "src/scanner.c" },
},
}
2022-06-04 11:11:34 +08:00
list.bash = {
2022-06-04 11:11:34 +08:00
install_info = {
url = "https://github.com/tree-sitter/tree-sitter-bash",
2023-06-29 10:17:58 -04:00
files = { "src/parser.c", "src/scanner.c" },
2022-06-04 11:11:34 +08:00
},
filetype = "sh",
maintainers = { "@TravonteD" },
2022-06-04 11:11:34 +08:00
}
2023-03-22 05:24:56 -04:00
list.bass = {
install_info = {
url = "https://github.com/vito/tree-sitter-bass",
2023-03-22 05:24:56 -04:00
files = { "src/parser.c" },
},
maintainers = { "@amaanq" },
}
list.beancount = {
2022-04-06 21:04:19 +08:00
install_info = {
url = "https://github.com/polarmutex/tree-sitter-beancount",
2024-02-28 22:13:51 -05:00
files = { "src/parser.c", "src/scanner.c" },
2022-04-06 21:04:19 +08:00
},
maintainers = { "@polarmutex" },
2022-04-06 21:04:19 +08:00
}
list.bibtex = {
install_info = {
url = "https://github.com/latex-lsp/tree-sitter-bibtex",
files = { "src/parser.c" },
},
filetype = "bib",
maintainers = { "@theHamsta", "@clason" },
}
2023-02-23 04:42:37 -05:00
list.bicep = {
install_info = {
url = "https://github.com/amaanq/tree-sitter-bicep",
files = { "src/parser.c", "src/scanner.c" },
2023-02-23 04:42:37 -05:00
},
maintainers = { "@amaanq" },
}
2023-08-17 00:49:36 -04:00
list.bitbake = {
install_info = {
url = "https://github.com/amaanq/tree-sitter-bitbake",
files = { "src/parser.c", "src/scanner.c" },
},
maintainers = { "@amaanq" },
}
list.blade = {
install_info = {
url = "https://github.com/EmranMR/tree-sitter-blade",
files = { "src/parser.c" },
},
maintainers = { "@calebdw" },
}
list.blueprint = {
install_info = {
url = "https://gitlab.com/gabmus/tree-sitter-blueprint.git",
files = { "src/parser.c" },
},
maintainers = { "@gabmus" },
experimental = true,
}
list.bp = {
install_info = {
url = "https://github.com/ambroisie/tree-sitter-bp",
files = { "src/parser.c" },
},
maintainers = { "@ambroisie" },
}
list.brightscript = {
install_info = {
url = "https://github.com/ajdelcimmuto/tree-sitter-brightscript",
files = { "src/parser.c" },
},
maintainers = { "@ajdelcimmuto" },
}
list.c = {
install_info = {
url = "https://github.com/tree-sitter/tree-sitter-c",
2021-07-04 16:12:17 -05:00
files = { "src/parser.c" },
},
2023-04-21 04:25:45 -04:00
maintainers = { "@amaanq" },
}
list.c_sharp = {
install_info = {
url = "https://github.com/tree-sitter/tree-sitter-c-sharp",
files = { "src/parser.c", "src/scanner.c" },
},
filetype = "cs",
2024-05-03 20:10:58 -04:00
maintainers = { "@amaanq" },
}
list.caddy = {
install_info = {
url = "https://github.com/opa-oz/tree-sitter-caddy",
files = { "src/parser.c", "src/scanner.c" },
},
maintainers = { "@opa-oz" },
}
2023-07-06 21:42:51 -04:00
list.cairo = {
install_info = {
url = "https://github.com/amaanq/tree-sitter-cairo",
files = { "src/parser.c", "src/scanner.c" },
},
maintainers = { "@amaanq" },
}
list.capnp = {
install_info = {
url = "https://github.com/amaanq/tree-sitter-capnp",
files = { "src/parser.c" },
},
maintainers = { "@amaanq" },
}
2022-10-22 00:37:27 +03:00
list.chatito = {
install_info = {
url = "https://github.com/ObserverOfTime/tree-sitter-chatito",
files = { "src/parser.c" },
},
maintainers = { "@ObserverOfTime" },
}
2024-12-06 21:41:37 +04:00
list.circom = {
install_info = {
url = "https://github.com/Decurity/tree-sitter-circom",
files = { "src/parser.c" },
},
maintainers = { "@alexandr-martirosyan" },
}
2020-10-29 22:59:36 +09:00
list.clojure = {
install_info = {
url = "https://github.com/sogaiu/tree-sitter-clojure",
2021-03-07 16:28:07 +01:00
files = { "src/parser.c" },
2020-10-29 22:59:36 +09:00
},
2023-10-09 08:38:26 -05:00
maintainers = { "@NoahTheDuke" },
2020-10-29 22:59:36 +09:00
}
list.cmake = {
install_info = {
url = "https://github.com/uyha/tree-sitter-cmake",
2023-06-16 17:37:23 -04:00
files = { "src/parser.c", "src/scanner.c" },
},
maintainers = { "@uyha" },
}
list.comment = {
install_info = {
url = "https://github.com/stsewd/tree-sitter-comment",
files = { "src/parser.c", "src/scanner.c" },
},
maintainers = { "@stsewd" },
}
2021-04-04 09:45:45 +02:00
list.commonlisp = {
install_info = {
2021-04-05 14:37:53 +02:00
url = "https://github.com/theHamsta/tree-sitter-commonlisp",
2021-04-04 09:45:45 +02:00
files = { "src/parser.c" },
generate_requires_npm = true,
2021-04-04 09:45:45 +02:00
},
2021-07-04 16:12:17 -05:00
filetype = "lisp",
maintainers = { "@theHamsta" },
2021-04-04 09:45:45 +02:00
}
list.cooklang = {
install_info = {
url = "https://github.com/addcninblue/tree-sitter-cooklang",
files = { "src/parser.c", "src/scanner.c" },
},
maintainers = { "@addcninblue" },
filetype = "cook",
}
list.corn = {
install_info = {
url = "https://github.com/jakestanger/tree-sitter-corn",
files = { "src/parser.c" },
},
maintainers = { "@jakestanger" },
}
2023-02-23 18:44:10 -05:00
list.cpon = {
install_info = {
url = "https://github.com/amaanq/tree-sitter-cpon",
files = { "src/parser.c" },
},
maintainers = { "@amaanq" },
}
list.cpp = {
install_info = {
url = "https://github.com/tree-sitter/tree-sitter-cpp",
2023-06-19 09:44:53 +02:00
files = { "src/parser.c", "src/scanner.c" },
2021-03-07 17:05:16 +01:00
generate_requires_npm = true,
2020-07-15 16:03:21 +02:00
},
2021-07-04 16:12:17 -05:00
maintainers = { "@theHamsta" },
2021-06-09 18:47:31 +02:00
}
list.css = {
install_info = {
url = "https://github.com/tree-sitter/tree-sitter-css",
files = { "src/parser.c", "src/scanner.c" },
},
maintainers = { "@TravonteD" },
}
2023-08-17 04:07:43 -04:00
list.csv = {
install_info = {
url = "https://github.com/amaanq/tree-sitter-csv",
files = { "src/parser.c" },
location = "csv",
},
maintainers = { "@amaanq" },
}
2021-06-09 18:47:31 +02:00
list.cuda = {
install_info = {
url = "https://github.com/theHamsta/tree-sitter-cuda",
2023-07-05 16:02:27 -04:00
files = { "src/parser.c", "src/scanner.c" },
2021-06-16 20:47:45 +02:00
generate_requires_npm = true,
2021-06-09 18:47:31 +02:00
},
2021-07-04 16:12:17 -05:00
maintainers = { "@theHamsta" },
}
2023-03-04 04:31:11 -05:00
list.cue = {
install_info = {
url = "https://github.com/eonpatapon/tree-sitter-cue",
files = { "src/parser.c", "src/scanner.c" },
},
maintainers = { "@amaanq" },
}
list.cylc = {
install_info = {
url = "https://github.com/elliotfontaine/tree-sitter-cylc",
files = { "src/parser.c" },
},
maintainers = { "@elliotfontaine" },
}
2021-10-01 11:33:33 +02:00
list.d = {
install_info = {
url = "https://github.com/gdamore/tree-sitter-d",
files = { "src/parser.c", "src/scanner.c" },
2021-10-01 11:33:33 +02:00
},
maintainers = { "@amaanq" },
2021-10-01 11:33:33 +02:00
}
list.dart = {
2023-01-29 12:03:04 -05:00
install_info = {
url = "https://github.com/UserNobody14/tree-sitter-dart",
files = { "src/parser.c", "src/scanner.c" },
2023-01-29 12:03:04 -05:00
},
maintainers = { "@akinsho" },
2023-01-29 12:03:04 -05:00
}
list.desktop = {
install_info = {
url = "https://github.com/ValdezFOmar/tree-sitter-desktop",
files = { "src/parser.c" },
},
maintainers = { "@ValdezFOmar" },
}
list.devicetree = {
2021-09-11 17:26:06 +02:00
install_info = {
url = "https://github.com/joelspadin/tree-sitter-devicetree",
2021-09-11 17:26:06 +02:00
files = { "src/parser.c" },
},
filetype = "dts",
maintainers = { "@jedrzejboczar" },
2021-09-11 17:26:06 +02:00
}
2023-02-23 16:06:47 -05:00
list.dhall = {
install_info = {
url = "https://github.com/jbellerb/tree-sitter-dhall",
files = { "src/parser.c", "src/scanner.c" },
},
maintainers = { "@amaanq" },
}
list.diff = {
2022-06-15 01:15:25 +02:00
install_info = {
url = "https://github.com/the-mikedavis/tree-sitter-diff",
files = { "src/parser.c" },
2022-06-15 01:15:25 +02:00
},
filetype = "gitdiff",
2023-03-11 15:25:11 -05:00
maintainers = { "@gbprod" },
2022-06-15 01:15:25 +02:00
}
2024-01-24 16:25:40 -08:00
list.disassembly = {
install_info = {
url = "https://github.com/ColinKennedy/tree-sitter-disassembly",
files = { "src/parser.c", "src/scanner.c" },
},
maintainers = { "@ColinKennedy" },
}
list.djot = {
install_info = {
url = "https://github.com/treeman/tree-sitter-djot",
files = { "src/parser.c", "src/scanner.c" },
},
maintainers = { "@NoahTheDuke" },
}
list.dockerfile = {
install_info = {
url = "https://github.com/camdencheek/tree-sitter-dockerfile",
files = { "src/parser.c", "src/scanner.c" },
},
2021-07-04 16:12:17 -05:00
maintainers = { "@camdencheek" },
}
list.dot = {
install_info = {
url = "https://github.com/rydesun/tree-sitter-dot",
files = { "src/parser.c" },
},
maintainers = { "@rydesun" },
}
2023-08-25 05:02:58 -04:00
list.doxygen = {
install_info = {
url = "https://github.com/amaanq/tree-sitter-doxygen",
files = { "src/parser.c", "src/scanner.c" },
},
maintainers = { "@amaanq" },
}
2023-08-04 14:50:28 +03:00
list.dtd = {
install_info = {
2024-02-13 10:26:05 +01:00
url = "https://github.com/tree-sitter-grammars/tree-sitter-xml",
2023-08-04 14:50:28 +03:00
files = { "src/parser.c", "src/scanner.c" },
2024-02-13 10:26:05 +01:00
location = "dtd",
2023-08-04 14:50:28 +03:00
},
maintainers = { "@ObserverOfTime" },
}
list.earthfile = {
install_info = {
url = "https://github.com/glehmann/tree-sitter-earthfile",
files = { "src/parser.c", "src/scanner.c" },
},
maintainers = { "@glehmann" },
}
list.ebnf = {
install_info = {
2023-03-11 15:25:11 -05:00
url = "https://github.com/RubixDev/ebnf",
files = { "src/parser.c" },
location = "crates/tree-sitter-ebnf",
},
maintainers = { "@RubixDev" },
experimental = true,
}
2024-07-04 10:23:44 -07:00
list.editorconfig = {
install_info = {
url = "https://github.com/ValdezFOmar/tree-sitter-editorconfig",
files = { "src/parser.c", "src/scanner.c" },
},
maintainers = { "@ValdezFOmar" },
}
2023-09-10 14:38:10 +02:00
list.eds = {
install_info = {
url = "https://github.com/uyha/tree-sitter-eds",
files = { "src/parser.c" },
},
maintainers = { "@uyha" },
}
list.eex = {
2023-02-01 22:35:54 -05:00
install_info = {
url = "https://github.com/connorlay/tree-sitter-eex",
2023-02-01 22:35:54 -05:00
files = { "src/parser.c" },
},
filetype = "eelixir",
maintainers = { "@connorlay" },
}
list.elixir = {
install_info = {
url = "https://github.com/elixir-lang/tree-sitter-elixir",
2023-06-19 19:14:25 -04:00
files = { "src/parser.c", "src/scanner.c" },
},
maintainers = { "@connorlay" },
}
list.elm = {
install_info = {
url = "https://github.com/elm-tooling/tree-sitter-elm",
2023-06-25 20:33:46 -04:00
files = { "src/parser.c", "src/scanner.c" },
},
maintainers = { "@zweimach" },
}
list.elsa = {
install_info = {
url = "https://github.com/glapa-grossklag/tree-sitter-elsa",
files = { "src/parser.c" },
},
maintainers = { "@glapa-grossklag", "@amaanq" },
}
list.elvish = {
install_info = {
url = "https://github.com/elves/tree-sitter-elvish",
files = { "src/parser.c" },
},
maintainers = { "@elves" },
}
list.embedded_template = {
install_info = {
url = "https://github.com/tree-sitter/tree-sitter-embedded-template",
files = { "src/parser.c" },
},
filetype = "eruby",
}
list.enforce = {
install_info = {
url = "https://github.com/simonvic/tree-sitter-enforce",
files = { "src/parser.c" },
},
maintainers = { "@simonvic" },
}
list.erlang = {
2020-11-22 17:14:13 -06:00
install_info = {
url = "https://github.com/WhatsApp/tree-sitter-erlang",
files = { "src/parser.c", "src/scanner.c" },
2020-11-22 17:14:13 -06:00
},
maintainers = { "@filmor" },
2020-11-22 17:14:13 -06:00
}
2023-11-28 17:24:43 +00:00
list.facility = {
install_info = {
url = "https://github.com/FacilityApi/tree-sitter-facility",
files = { "src/parser.c" },
},
filetype = "fsd",
maintainers = { "@bryankenote" },
}
list.faust = {
install_info = {
url = "https://github.com/khiner/tree-sitter-faust",
files = { "src/parser.c" },
},
filetype = "dsp",
maintainers = { "@khiner" },
}
list.fennel = {
install_info = {
url = "https://github.com/alexmozaidze/tree-sitter-fennel",
files = { "src/parser.c", "src/scanner.c" },
generate_requires_npm = true,
},
maintainers = { "@alexmozaidze" },
}
2024-02-22 21:57:07 -05:00
list.fidl = {
install_info = {
url = "https://github.com/google/tree-sitter-fidl",
files = { "src/parser.c" },
},
maintainers = { "@chaopeng" },
}
2023-03-26 18:37:15 -04:00
list.firrtl = {
install_info = {
url = "https://github.com/amaanq/tree-sitter-firrtl",
2023-06-20 03:51:15 -04:00
files = { "src/parser.c", "src/scanner.c" },
2023-03-26 18:37:15 -04:00
},
maintainers = { "@amaanq" },
}
list.fish = {
2021-08-27 07:30:22 -07:00
install_info = {
url = "https://github.com/ram02z/tree-sitter-fish",
files = { "src/parser.c", "src/scanner.c" },
2021-08-27 07:30:22 -07:00
},
maintainers = { "@ram02z" },
2021-08-27 07:30:22 -07:00
}
list.foam = {
install_info = {
url = "https://github.com/FoamScience/tree-sitter-foam",
files = { "src/parser.c", "src/scanner.c" },
},
maintainers = { "@FoamScience" },
-- Queries might change over time on the grammar's side
-- Otherwise everything runs fine
experimental = true,
}
2023-08-21 04:29:38 -04:00
list.forth = {
install_info = {
url = "https://github.com/AlexanderBrevig/tree-sitter-forth",
files = { "src/parser.c" },
},
maintainers = { "@amaanq" },
}
list.fortran = {
install_info = {
url = "https://github.com/stadelmanma/tree-sitter-fortran",
2023-07-24 15:39:36 -04:00
files = { "src/parser.c", "src/scanner.c" },
},
maintainers = { "@amaanq" },
}
list.fsh = {
install_info = {
url = "https://github.com/mgramigna/tree-sitter-fsh",
files = { "src/parser.c" },
},
maintainers = { "@mgramigna" },
}
list.fsharp = {
install_info = {
url = "https://github.com/ionide/tree-sitter-fsharp",
files = { "src/parser.c", "src/scanner.c" },
location = "fsharp",
},
maintainers = { "@nsidorenco" },
}
list.func = {
install_info = {
url = "https://github.com/amaanq/tree-sitter-func",
files = { "src/parser.c" },
},
maintainers = { "@amaanq" },
}
list.fusion = {
install_info = {
url = "https://gitlab.com/jirgn/tree-sitter-fusion.git",
files = { "src/parser.c", "src/scanner.c" },
},
maintainers = { "@jirgn" },
}
list.gap = {
install_info = {
url = "https://github.com/gap-system/tree-sitter-gap",
files = { "src/parser.c", "src/scanner.c" },
},
maintainers = { "@reiniscirpons" },
readme_name = "GAP system",
}
list.gaptst = {
install_info = {
url = "https://github.com/gap-system/tree-sitter-gaptst",
files = { "src/parser.c", "src/scanner.c" },
},
maintainers = { "@reiniscirpons" },
readme_name = "GAP system test files",
}
list.gdscript = {
2021-03-11 00:57:54 +01:00
install_info = {
url = "https://github.com/PrestonKnopp/tree-sitter-gdscript",
files = { "src/parser.c", "src/scanner.c" },
},
maintainers = { "@PrestonKnopp" },
2023-03-11 15:25:11 -05:00
readme_name = "Godot (gdscript)",
}
list.gdshader = {
install_info = {
url = "https://github.com/GodOfAvacyn/tree-sitter-gdshader",
files = { "src/parser.c" },
},
filetype = "gdshaderinc",
maintainers = { "@godofavacyn" },
}
list.git_rebase = {
install_info = {
url = "https://github.com/the-mikedavis/tree-sitter-git-rebase",
files = { "src/parser.c" },
2021-03-11 00:57:54 +01:00
},
filetype = "gitrebase",
maintainers = { "@gbprod" },
2021-03-11 00:57:54 +01:00
}
2020-11-30 22:58:52 +01:00
list.gitattributes = {
install_info = {
url = "https://github.com/ObserverOfTime/tree-sitter-gitattributes",
files = { "src/parser.c" },
},
maintainers = { "@ObserverOfTime" },
}
list.gitcommit = {
install_info = {
url = "https://github.com/gbprod/tree-sitter-gitcommit",
files = { "src/parser.c", "src/scanner.c" },
},
maintainers = { "@gbprod" },
}
2023-03-09 18:07:54 -05:00
list.git_config = {
install_info = {
url = "https://github.com/the-mikedavis/tree-sitter-git-config",
files = { "src/parser.c" },
},
filetype = "gitconfig",
maintainers = { "@amaanq" },
readme_name = "git_config",
2023-03-09 18:07:54 -05:00
}
list.gitignore = {
install_info = {
url = "https://github.com/shunsambongi/tree-sitter-gitignore",
files = { "src/parser.c" },
2020-12-28 17:55:07 +01:00
},
2022-11-21 18:45:48 +02:00
maintainers = { "@theHamsta" },
}
list.gleam = {
install_info = {
2023-03-08 16:37:58 -05:00
url = "https://github.com/gleam-lang/tree-sitter-gleam",
files = { "src/parser.c", "src/scanner.c" },
},
2023-03-08 16:37:58 -05:00
maintainers = { "@amaanq" },
}
list.glimmer = {
2022-09-07 10:30:43 +02:00
install_info = {
url = "https://github.com/ember-tooling/tree-sitter-glimmer",
2022-09-07 10:30:43 +02:00
files = { "src/parser.c", "src/scanner.c" },
},
filetype = "handlebars",
2023-03-11 15:25:11 -05:00
maintainers = { "@NullVoxPopuli" },
readme_name = "Glimmer and Ember",
2022-09-07 10:30:43 +02:00
}
list.glimmer_javascript = {
install_info = {
url = "https://github.com/NullVoxPopuli/tree-sitter-glimmer-javascript",
files = { "src/parser.c", "src/scanner.c" },
generate_requires_npm = true,
},
filetype = "javascript.glimmer",
maintainers = { "@NullVoxPopuli" },
}
list.glimmer_typescript = {
install_info = {
url = "https://github.com/NullVoxPopuli/tree-sitter-glimmer-typescript",
files = { "src/parser.c", "src/scanner.c" },
generate_requires_npm = true,
},
filetype = "typescript.glimmer",
maintainers = { "@NullVoxPopuli" },
}
list.glsl = {
install_info = {
url = "https://github.com/theHamsta/tree-sitter-glsl",
files = { "src/parser.c" },
generate_requires_npm = true,
},
maintainers = { "@theHamsta" },
}
2023-10-22 00:37:11 -04:00
list.gn = {
install_info = {
url = "https://github.com/amaanq/tree-sitter-gn",
files = { "src/parser.c", "src/scanner.c" },
},
maintainers = { "@amaanq" },
readme_name = "GN (Generate Ninja)",
}
list.gnuplot = {
install_info = {
url = "https://github.com/dpezto/tree-sitter-gnuplot",
files = { "src/parser.c" },
},
maintainers = { "@dpezto" },
}
list.go = {
2021-03-27 18:10:31 +07:00
install_info = {
url = "https://github.com/tree-sitter/tree-sitter-go",
files = { "src/parser.c" },
},
maintainers = { "@theHamsta", "@WinWisely268" },
}
2024-07-07 23:27:21 +08:00
list.goctl = {
install_info = {
url = "https://github.com/chaozwn/tree-sitter-goctl",
2024-07-07 23:27:21 +08:00
files = { "src/parser.c" },
},
maintainers = { "@chaozwn" },
}
list.godot_resource = {
install_info = {
url = "https://github.com/PrestonKnopp/tree-sitter-godot-resource",
2021-07-04 16:12:17 -05:00
files = { "src/parser.c", "src/scanner.c" },
2021-03-27 18:10:31 +07:00
},
filetype = "gdresource",
maintainers = { "@pierpo" },
2023-03-11 15:25:11 -05:00
readme_name = "Godot Resources (gdresource)",
2021-03-27 18:10:31 +07:00
}
list.gomod = {
2020-12-07 08:17:37 +01:00
install_info = {
url = "https://github.com/camdencheek/tree-sitter-go-mod",
files = { "src/parser.c" },
2020-12-07 08:17:37 +01:00
},
maintainers = { "@camdencheek" },
2020-12-07 08:17:37 +01:00
}
2023-02-03 10:14:13 -05:00
list.gosum = {
install_info = {
url = "https://github.com/amaanq/tree-sitter-go-sum",
files = { "src/parser.c" },
},
maintainers = { "@amaanq" },
}
list.gowork = {
2021-05-14 21:23:58 +02:00
install_info = {
url = "https://github.com/omertuc/tree-sitter-go-work",
files = { "src/parser.c" },
2021-05-14 21:23:58 +02:00
},
maintainers = { "@omertuc" },
2021-05-14 21:23:58 +02:00
}
list.gotmpl = {
install_info = {
url = "https://github.com/ngalaiko/tree-sitter-go-template",
files = { "src/parser.c" },
},
maintainers = { "@qvalentin" },
}
2023-08-15 21:36:44 +03:00
list.gpg = {
install_info = {
url = "https://github.com/ObserverOfTime/tree-sitter-gpg-config",
files = { "src/parser.c" },
},
maintainers = { "@ObserverOfTime" },
}
list.gren = {
install_info = {
files = { "src/parser.c", "src/scanner.c" },
url = "https://github.com/MaeBrooks/tree-sitter-gren",
},
maintainers = { "@MaeBrooks" },
}
2023-06-19 21:18:42 +08:00
list.groovy = {
install_info = {
url = "https://github.com/murtaza64/tree-sitter-groovy",
2023-06-19 21:18:42 +08:00
files = { "src/parser.c" },
},
maintainers = { "@murtaza64" },
2023-06-19 21:18:42 +08:00
}
list.graphql = {
2022-02-05 09:38:29 -08:00
install_info = {
url = "https://github.com/bkegley/tree-sitter-graphql",
2022-02-05 09:38:29 -08:00
files = { "src/parser.c" },
},
maintainers = { "@bkegley" },
2022-02-05 09:38:29 -08:00
}
list.gstlaunch = {
install_info = {
url = "https://github.com/theHamsta/tree-sitter-gstlaunch",
files = { "src/parser.c" },
},
maintainers = { "@theHamsta" },
}
list.hack = {
install_info = {
url = "https://github.com/slackhq/tree-sitter-hack",
2023-06-25 03:43:47 -04:00
files = { "src/parser.c", "src/scanner.c" },
},
}
2023-03-11 03:02:30 -05:00
list.hare = {
install_info = {
url = "https://github.com/amaanq/tree-sitter-hare",
files = { "src/parser.c" },
},
maintainers = { "@amaanq" },
}
list.haskell = {
install_info = {
url = "https://github.com/tree-sitter/tree-sitter-haskell",
files = { "src/parser.c", "src/scanner.c" },
},
maintainers = { "@mrcjkb" },
}
list.haskell_persistent = {
install_info = {
url = "https://github.com/MercuryTechnologies/tree-sitter-haskell-persistent",
files = { "src/parser.c", "src/scanner.c" },
},
filetype = "haskellpersistent",
maintainers = { "@lykahb" },
}
list.hcl = {
install_info = {
url = "https://github.com/MichaHoffmann/tree-sitter-hcl",
files = { "src/parser.c", "src/scanner.c" },
},
maintainers = { "@MichaHoffmann" },
}
list.heex = {
install_info = {
url = "https://github.com/connorlay/tree-sitter-heex",
files = { "src/parser.c" },
},
maintainers = { "@connorlay" },
}
list.helm = {
install_info = {
url = "https://github.com/ngalaiko/tree-sitter-go-template",
location = "dialects/helm",
files = { "src/parser.c" },
},
maintainers = { "@qvalentin" },
}
list.hjson = {
install_info = {
url = "https://github.com/winston0410/tree-sitter-hjson",
files = { "src/parser.c" },
generate_requires_npm = true,
},
maintainers = { "@winston0410" },
}
list.hlsl = {
install_info = {
url = "https://github.com/theHamsta/tree-sitter-hlsl",
2023-07-05 16:04:16 -04:00
files = { "src/parser.c", "src/scanner.c" },
generate_requires_npm = true,
},
maintainers = { "@theHamsta" },
}
list.hocon = {
install_info = {
url = "https://github.com/antosha417/tree-sitter-hocon",
files = { "src/parser.c" },
generate_requires_npm = true,
},
maintainers = { "@antosha417" },
}
list.hoon = {
install_info = {
url = "https://github.com/urbit-pilled/tree-sitter-hoon",
2023-07-27 04:15:50 -04:00
files = { "src/parser.c", "src/scanner.c" },
},
maintainers = { "@urbit-pilled" },
experimental = true,
}
list.html = {
2022-04-19 23:50:32 +04:30
install_info = {
url = "https://github.com/tree-sitter/tree-sitter-html",
2023-06-25 11:10:26 +02:00
files = { "src/parser.c", "src/scanner.c" },
2022-04-19 23:50:32 +04:30
},
maintainers = { "@TravonteD" },
2022-04-19 23:50:32 +04:30
}
list.htmldjango = {
install_info = {
url = "https://github.com/interdependence/tree-sitter-htmldjango",
files = { "src/parser.c" },
2021-07-04 16:12:17 -05:00
},
maintainers = { "@ObserverOfTime" },
experimental = true,
}
list.http = {
install_info = {
url = "https://github.com/rest-nvim/tree-sitter-http",
files = { "src/parser.c" },
},
maintainers = { "@amaanq", "@NTBBloodbath" },
}
list.hurl = {
install_info = {
url = "https://github.com/pfeiferj/tree-sitter-hurl",
files = { "src/parser.c" },
},
maintainers = { "@pfeiferj" },
}
list.hyprlang = {
install_info = {
url = "https://github.com/luckasRanarison/tree-sitter-hyprlang",
files = { "src/parser.c" },
},
maintainers = { "@luckasRanarison" },
}
2024-04-28 16:26:39 +08:00
list.idl = {
install_info = {
url = "https://github.com/cathaysia/tree-sitter-idl",
files = { "src/parser.c" },
},
2024-07-01 18:06:12 +08:00
maintainers = { "@cathaysia" },
2024-04-28 16:26:39 +08:00
}
list.idris = {
install_info = {
url = "https://github.com/kayhide/tree-sitter-idris",
files = { "src/parser.c", "src/scanner.c" },
},
filetype = "idris2",
maintainers = { "@srghma" },
}
list.ini = {
2022-02-28 14:07:23 +01:00
install_info = {
url = "https://github.com/justinmk/tree-sitter-ini",
2022-02-28 14:07:23 +01:00
files = { "src/parser.c" },
},
maintainers = { "@theHamsta" },
2022-02-28 14:07:23 +01:00
experimental = true,
}
2024-05-03 01:13:43 +02:00
list.inko = {
install_info = {
url = "https://github.com/inko-lang/tree-sitter-inko",
files = { "src/parser.c" },
},
maintainers = { "@yorickpeterse" },
}
list.ipkg = {
install_info = {
url = "https://github.com/srghma/tree-sitter-ipkg",
files = { "src/parser.c", "src/scanner.c" },
},
maintainers = { "@srghma" },
}
list.ispc = {
install_info = {
url = "https://github.com/fab4100/tree-sitter-ispc",
files = { "src/parser.c" },
generate_requires_npm = true,
},
maintainers = { "@fab4100" },
}
2023-04-22 22:18:01 +09:00
list.janet_simple = {
install_info = {
url = "https://github.com/sogaiu/tree-sitter-janet-simple",
files = { "src/parser.c", "src/scanner.c" },
},
filetype = "janet",
maintainers = { "@sogaiu" },
}
list.java = {
install_info = {
url = "https://github.com/tree-sitter/tree-sitter-java",
files = { "src/parser.c" },
},
maintainers = { "@p00f" },
}
list.javadoc = {
install_info = {
url = "https://github.com/rmuir/tree-sitter-javadoc",
files = { "src/parser.c", "src/scanner.c" },
},
maintainers = { "@rmuir" },
}
list.javascript = {
install_info = {
url = "https://github.com/tree-sitter/tree-sitter-javascript",
files = { "src/parser.c", "src/scanner.c" },
},
2021-07-04 16:12:17 -05:00
maintainers = { "@steelsojka" },
}
list.jinja = {
install_info = {
url = "https://github.com/cathaysia/tree-sitter-jinja",
location = "tree-sitter-jinja",
files = { "src/parser.c", "src/scanner.c" },
},
maintainers = { "@cathaysia" },
}
list.jinja_inline = {
install_info = {
url = "https://github.com/cathaysia/tree-sitter-jinja",
location = "tree-sitter-jinja_inline",
files = { "src/parser.c", "src/scanner.c" },
},
maintainers = { "@cathaysia" },
}
list.jq = {
install_info = {
url = "https://github.com/flurie/tree-sitter-jq",
files = { "src/parser.c" },
2021-07-04 16:12:17 -05:00
},
maintainers = { "@ObserverOfTime" },
}
list.jsdoc = {
install_info = {
url = "https://github.com/tree-sitter/tree-sitter-jsdoc",
2024-01-27 10:16:40 +01:00
files = { "src/parser.c", "src/scanner.c" },
},
maintainers = { "@steelsojka" },
}
list.json = {
install_info = {
url = "https://github.com/tree-sitter/tree-sitter-json",
files = { "src/parser.c" },
},
maintainers = { "@steelsojka" },
}
list.json5 = {
install_info = {
url = "https://github.com/Joakker/tree-sitter-json5",
files = { "src/parser.c" },
},
maintainers = { "@Joakker" },
}
list.jsonc = {
2023-01-31 09:14:58 -05:00
install_info = {
url = "https://gitlab.com/WhyNotHugo/tree-sitter-jsonc.git",
2023-01-31 09:14:58 -05:00
files = { "src/parser.c" },
generate_requires_npm = true,
2023-01-31 09:14:58 -05:00
},
maintainers = { "@WhyNotHugo" },
2023-03-11 15:25:11 -05:00
readme_name = "JSON with comments",
2023-01-31 09:14:58 -05:00
}
list.jsonnet = {
install_info = {
url = "https://github.com/sourcegraph/tree-sitter-jsonnet",
files = { "src/parser.c", "src/scanner.c" },
2021-07-04 16:12:17 -05:00
},
maintainers = { "@nawordar" },
}
list.julia = {
install_info = {
url = "https://github.com/tree-sitter/tree-sitter-julia",
files = { "src/parser.c", "src/scanner.c" },
},
2024-11-23 11:24:39 +01:00
maintainers = { "@fredrikekre" },
}
2024-03-03 21:02:10 +01:00
list.just = {
install_info = {
url = "https://github.com/IndianBoy42/tree-sitter-just",
files = { "src/parser.c", "src/scanner.c" },
},
maintainers = { "@Hubro" },
}
2025-02-27 09:54:26 +01:00
list.kcl = {
install_info = {
url = "https://github.com/kcl-lang/tree-sitter-kcl",
files = { "src/parser.c", "src/scanner.c" },
},
maintainers = { "@bertbaron" },
}
2023-08-31 05:28:16 -04:00
list.kconfig = {
install_info = {
url = "https://github.com/amaanq/tree-sitter-kconfig",
files = { "src/parser.c", "src/scanner.c" },
},
maintainers = { "@amaanq" },
}
list.kdl = {
install_info = {
url = "https://github.com/amaanq/tree-sitter-kdl",
files = { "src/parser.c", "src/scanner.c" },
},
maintainers = { "@amaanq" },
}
list.kotlin = {
install_info = {
url = "https://github.com/fwcd/tree-sitter-kotlin",
files = { "src/parser.c", "src/scanner.c" },
},
maintainers = { "@SalBakraa" },
}
list.koto = {
install_info = {
url = "https://github.com/koto-lang/tree-sitter-koto",
files = { "src/parser.c", "src/scanner.c" },
},
maintainers = { "@irh" },
}
list.kusto = {
install_info = {
url = "https://github.com/Willem-J-an/tree-sitter-kusto",
files = { "src/parser.c" },
},
maintainers = { "@Willem-J-an" },
}
list.lalrpop = {
2021-02-28 17:40:35 -05:00
install_info = {
url = "https://github.com/traxys/tree-sitter-lalrpop",
2021-02-28 17:40:35 -05:00
files = { "src/parser.c", "src/scanner.c" },
},
maintainers = { "@traxys" },
}
list.latex = {
install_info = {
url = "https://github.com/latex-lsp/tree-sitter-latex",
files = { "src/parser.c", "src/scanner.c" },
requires_generate_from_grammar = true,
2021-02-17 09:37:56 +01:00
},
filetype = "tex",
maintainers = { "@theHamsta", "@clason" },
}
list.ledger = {
2021-02-15 18:35:13 +01:00
install_info = {
url = "https://github.com/cbarrete/tree-sitter-ledger",
2021-02-15 18:35:13 +01:00
files = { "src/parser.c" },
},
maintainers = { "@cbarrete" },
}
2023-10-22 03:23:02 +02:00
list.leo = {
install_info = {
url = "https://github.com/r001/tree-sitter-leo",
files = { "src/parser.c" },
},
maintainers = { "@r001" },
}
list.llvm = {
2021-07-19 07:44:03 +02:00
install_info = {
url = "https://github.com/benwilliamgraham/tree-sitter-llvm",
2021-07-19 07:44:03 +02:00
files = { "src/parser.c" },
},
maintainers = { "@benwilliamgraham" },
2021-07-19 07:44:03 +02:00
}
2023-11-19 04:10:52 -05:00
list.linkerscript = {
install_info = {
url = "https://github.com/amaanq/tree-sitter-linkerscript",
files = { "src/parser.c" },
},
filetype = "ld",
maintainers = { "@amaanq" },
}
list.liquid = {
install_info = {
url = "https://github.com/hankthetank27/tree-sitter-liquid",
files = { "src/parser.c", "src/scanner.c" },
},
maintainers = { "@hankthetank27" },
}
list.liquidsoap = {
install_info = {
url = "https://github.com/savonet/tree-sitter-liquidsoap",
2024-03-23 22:51:55 +01:00
files = { "src/parser.c", "src/scanner.c" },
},
maintainers = { "@toots" },
}
list.lua = {
install_info = {
url = "https://github.com/MunifTanjim/tree-sitter-lua",
2020-07-22 16:09:23 +02:00
files = { "src/parser.c", "src/scanner.c" },
},
maintainers = { "@muniftanjim" },
2020-07-22 16:09:23 +02:00
}
2023-03-19 08:09:12 -04:00
list.luadoc = {
install_info = {
url = "https://github.com/amaanq/tree-sitter-luadoc",
files = { "src/parser.c" },
},
maintainers = { "@amaanq" },
}
2023-03-03 05:33:20 -05:00
list.luap = {
install_info = {
url = "https://github.com/amaanq/tree-sitter-luap",
files = { "src/parser.c" },
},
maintainers = { "@amaanq" },
2023-03-04 20:25:03 +02:00
readme_name = "lua patterns",
2023-03-03 05:33:20 -05:00
}
2023-04-27 04:25:19 -04:00
list.luau = {
install_info = {
url = "https://github.com/amaanq/tree-sitter-luau",
files = { "src/parser.c", "src/scanner.c" },
},
maintainers = { "@amaanq" },
}
2024-02-12 13:45:13 +08:00
list.hlsplaylist = {
install_info = {
url = "https://github.com/Freed-Wu/tree-sitter-hlsplaylist",
files = { "src/parser.c" },
},
maintainers = { "@Freed-Wu" },
}
list.m68k = {
2020-07-26 09:38:53 -05:00
install_info = {
url = "https://github.com/grahambates/tree-sitter-m68k",
files = { "src/parser.c" },
},
filetype = "asm68k",
2023-03-11 15:25:11 -05:00
maintainers = { "@grahambates" },
2020-07-26 09:38:53 -05:00
}
list.make = {
2020-08-16 20:11:56 -04:00
install_info = {
url = "https://github.com/alemuller/tree-sitter-make",
files = { "src/parser.c" },
},
maintainers = { "@lewis6991" },
2020-08-16 20:11:56 -04:00
}
list.markdown = {
2020-10-04 19:39:12 -05:00
install_info = {
url = "https://github.com/MDeiml/tree-sitter-markdown",
location = "tree-sitter-markdown",
2023-03-02 17:53:56 +01:00
files = { "src/parser.c", "src/scanner.c" },
2020-10-04 19:39:12 -05:00
},
maintainers = { "@MDeiml" },
2023-03-04 20:25:03 +02:00
readme_name = "markdown (basic highlighting)",
experimental = true,
2020-10-04 19:39:12 -05:00
}
list.markdown_inline = {
2020-09-30 00:30:26 +02:00
install_info = {
url = "https://github.com/MDeiml/tree-sitter-markdown",
location = "tree-sitter-markdown-inline",
2023-03-02 17:53:56 +01:00
files = { "src/parser.c", "src/scanner.c" },
2020-09-30 00:30:26 +02:00
},
maintainers = { "@MDeiml" },
2023-03-04 20:25:03 +02:00
readme_name = "markdown_inline (needed for full highlighting)",
experimental = true,
2020-09-30 00:30:26 +02:00
}
2023-02-28 00:16:21 -05:00
list.matlab = {
install_info = {
2023-06-12 10:15:41 +02:00
url = "https://github.com/acristoffers/tree-sitter-matlab",
files = { "src/parser.c", "src/scanner.c" },
2023-02-28 00:16:21 -05:00
},
2023-06-12 10:15:41 +02:00
maintainers = { "@acristoffers" },
2023-02-28 00:16:21 -05:00
}
list.menhir = {
2021-03-10 12:00:02 +01:00
install_info = {
url = "https://github.com/Kerl13/tree-sitter-menhir",
2023-07-18 02:40:30 -04:00
files = { "src/parser.c", "src/scanner.c" },
2021-03-10 12:00:02 +01:00
},
maintainers = { "@Kerl13" },
2021-03-10 12:00:02 +01:00
}
2021-03-07 17:05:16 +01:00
list.mermaid = {
install_info = {
url = "https://github.com/monaqa/tree-sitter-mermaid",
files = { "src/parser.c" },
},
2022-02-01 12:51:31 +01:00
experimental = true,
}
list.meson = {
install_info = {
url = "https://github.com/Decodetalkers/tree-sitter-meson",
2021-07-04 16:12:17 -05:00
files = { "src/parser.c" },
},
maintainers = { "@Decodetalkers" },
}
list.mlir = {
install_info = {
url = "https://github.com/artagnon/tree-sitter-mlir",
files = { "src/parser.c" },
requires_generate_from_grammar = true,
},
experimental = true,
maintainers = { "@artagnon" },
}
2024-02-14 10:15:10 +08:00
list.muttrc = {
install_info = {
url = "https://github.com/neomutt/tree-sitter-muttrc",
files = { "src/parser.c" },
},
maintainers = { "@Freed-Wu" },
}
list.nasm = {
install_info = {
url = "https://github.com/naclsn/tree-sitter-nasm",
files = { "src/parser.c" },
},
maintainers = { "@ObserverOfTime" },
}
2024-07-17 16:47:59 +09:00
list.nginx = {
install_info = {
url = "https://github.com/opa-oz/tree-sitter-nginx",
files = { "src/parser.c", "src/scanner.c" },
},
maintainers = { "@opa-oz" },
}
list.nickel = {
install_info = {
url = "https://github.com/nickel-lang/tree-sitter-nickel",
2024-02-23 18:19:25 +01:00
files = { "src/parser.c", "src/scanner.c" },
},
}
feat(nim): added nim parser and queries (#5556) * feat(nim): added nim parser and queries * correct scanner.cc to scanner.c Co-authored-by: Christian Clason <c.clason@uni-graz.at> * fix(nim): corrected capture for @function.macro * feat(nim highlights): added @field capture for discriminator field in object variant * bumped parser version, adapted highlights.scm and condensed injections.scm * improved nim_format_string highlights.scm * bump nim parser version again * removed overlap between queries for generalized strings in injections.scm * improved formattin] in nim_format_string/injections.scm Co-authored-by: ObserverOfTime <chronobserver@disroot.org> * corrected asm parser name in injections.scm Co-authored-by: ObserverOfTime <chronobserver@disroot.org> * improved formatting in highlights.scm Co-authored-by: ObserverOfTime <chronobserver@disroot.org> * removed @error capture from highlights.scm Co-authored-by: ObserverOfTime <chronobserver@disroot.org> * improved wording in comment in highlights.scm Co-authored-by: ObserverOfTime <chronobserver@disroot.org> * removed priority from (dot_expression left: @none) capture, since it's at the end of the file anyways * removed comments listing unused captures * reverted @error capture in nim_format_string/highlights.scm back to @none * condensed string alternatives in injections.scm Co-authored-by: ObserverOfTime <chronobserver@disroot.org> * condensed string alternatives in injections.scm (second part) Co-authored-by: ObserverOfTime <chronobserver@disroot.org> * added comment to explain reasoning behind priority use * swapped order of @punctuation.delimiter and @operator to get rid of superfluous comment * moved macro and template keywords to @preproc capture * removed priorities in highlights.scm and shifted @parameter capture behind @type capture * improved formatting in locals.scm * added queries for missing cases of @definition.namespace capture in locals.scm * removed some trailing whitespace * added @namespace queries for highlights.scm * bumped parser version again * removed superfluous @type capture * removed `@type`s `has-ancestor` and removed `(_ (_ ...` structures, but added priorities * added missing @constant capture to some queries in highlights.scm * fixed priority numbers so they work when injecting nim (in markdown) * added @none captures back to injection targets * added (assembly_statement) injection query * added indent queries * removed indents.scm again * added some missing queries for dot_generic_call, concept_declaration and pragma_statement --------- Co-authored-by: Christian Clason <c.clason@uni-graz.at> Co-authored-by: ObserverOfTime <chronobserver@disroot.org>
2023-10-30 12:35:51 +01:00
list.nim = {
install_info = {
url = "https://github.com/alaviss/tree-sitter-nim",
files = { "src/parser.c", "src/scanner.c" },
},
maintainers = { "@aMOPel" },
}
list.nim_format_string = {
install_info = {
url = "https://github.com/aMOPel/tree-sitter-nim-format-string",
files = { "src/parser.c" },
},
maintainers = { "@aMOPel" },
}
list.ninja = {
2020-07-16 12:59:35 +02:00
install_info = {
url = "https://github.com/alemuller/tree-sitter-ninja",
files = { "src/parser.c" },
},
maintainers = { "@alemuller" },
2020-07-16 12:59:35 +02:00
}
list.nix = {
2020-07-28 07:39:45 -05:00
install_info = {
url = "https://github.com/cstrahan/tree-sitter-nix",
files = { "src/parser.c", "src/scanner.c" },
},
maintainers = { "@leo60228" },
2020-07-28 07:39:45 -05:00
}
list.norg = {
install_info = {
url = "https://github.com/nvim-neorg/tree-sitter-norg",
files = { "src/parser.c", "src/scanner.cc" },
cxx_standard = "c++14",
2023-03-11 15:25:11 -05:00
use_makefile = true,
},
maintainers = { "@JoeyGrajciar", "@vhyrro" },
}
2023-08-31 02:26:24 -04:00
list.nqc = {
install_info = {
url = "https://github.com/amaanq/tree-sitter-nqc",
files = { "src/parser.c" },
},
maintainers = { "@amaanq" },
}
list.nu = {
install_info = {
url = "https://github.com/nushell/tree-sitter-nu",
2024-11-23 06:43:24 +00:00
files = { "src/parser.c", "src/scanner.c" },
},
maintainers = { "@abhisheksingh0x558" },
}
2023-05-18 19:37:56 -04:00
list.objc = {
install_info = {
url = "https://github.com/amaanq/tree-sitter-objc",
files = { "src/parser.c" },
},
maintainers = { "@amaanq" },
}
list.objdump = {
install_info = {
url = "https://github.com/ColinKennedy/tree-sitter-objdump",
files = { "src/parser.c", "src/scanner.c" },
},
maintainers = { "@ColinKennedy" },
}
list.ocaml = {
2021-03-14 22:38:54 -02:30
install_info = {
url = "https://github.com/tree-sitter/tree-sitter-ocaml",
2023-07-09 11:11:30 +02:00
files = { "src/parser.c", "src/scanner.c" },
location = "grammars/ocaml",
2021-03-14 22:38:54 -02:30
},
maintainers = { "@undu" },
2021-03-14 22:38:54 -02:30
}
list.ocaml_interface = {
2020-11-17 17:28:53 -05:00
install_info = {
url = "https://github.com/tree-sitter/tree-sitter-ocaml",
2023-07-09 11:11:30 +02:00
files = { "src/parser.c", "src/scanner.c" },
location = "grammars/interface",
2020-11-17 17:28:53 -05:00
},
filetype = "ocamlinterface",
2023-03-11 15:25:11 -05:00
maintainers = { "@undu" },
2020-11-17 17:28:53 -05:00
}
list.ocamllex = {
2021-07-28 19:52:29 +02:00
install_info = {
url = "https://github.com/atom-ocaml/tree-sitter-ocamllex",
files = { "src/parser.c", "src/scanner.c" },
2021-07-28 19:52:29 +02:00
requires_generate_from_grammar = true,
},
maintainers = { "@undu" },
2021-01-05 12:37:16 +01:00
}
2023-05-11 03:56:12 -04:00
list.odin = {
install_info = {
url = "https://github.com/amaanq/tree-sitter-odin",
files = { "src/parser.c", "src/scanner.c" },
},
maintainers = { "@amaanq" },
}
list.pascal = {
2021-02-05 13:45:26 +07:00
install_info = {
url = "https://github.com/Isopod/tree-sitter-pascal",
files = { "src/parser.c" },
2021-02-05 13:45:26 +07:00
},
maintainers = { "@Isopod" },
2021-02-05 13:45:26 +07:00
}
2023-02-27 21:18:00 -05:00
list.passwd = {
install_info = {
url = "https://github.com/ath3/tree-sitter-passwd",
files = { "src/parser.c" },
},
maintainers = { "@amaanq" },
}
2023-06-27 11:50:24 +03:00
list.pem = {
install_info = {
url = "https://github.com/ObserverOfTime/tree-sitter-pem",
files = { "src/parser.c" },
},
maintainers = { "@ObserverOfTime" },
}
list.perl = {
2021-03-09 21:06:07 +02:00
install_info = {
url = "https://github.com/tree-sitter-perl/tree-sitter-perl",
files = { "src/parser.c", "src/scanner.c" },
branch = "release",
2021-03-09 21:06:07 +02:00
},
maintainers = { "@RabbiVeesh", "@LeoNerd" },
2021-03-09 21:06:07 +02:00
}
list.php = {
2021-03-21 00:03:20 +01:00
install_info = {
url = "https://github.com/tree-sitter/tree-sitter-php",
2024-01-07 12:14:46 +01:00
location = "php",
2023-06-20 20:17:57 -04:00
files = { "src/parser.c", "src/scanner.c" },
2021-03-21 00:03:20 +01:00
},
maintainers = { "@tk-shirasaka", "@calebdw" },
2021-03-21 00:03:20 +01:00
}
list.php_only = {
install_info = {
url = "https://github.com/tree-sitter/tree-sitter-php",
location = "php_only",
files = { "src/parser.c", "src/scanner.c" },
},
maintainers = { "@tk-shirasaka", "@calebdw" },
}
-- Parsers for injections
list.phpdoc = {
2022-04-19 06:31:31 +02:00
install_info = {
url = "https://github.com/claytonrcarter/tree-sitter-phpdoc",
2022-04-19 06:31:31 +02:00
files = { "src/parser.c", "src/scanner.c" },
generate_requires_npm = true,
2022-04-19 06:31:31 +02:00
},
maintainers = { "@mikehaertl" },
experimental = true,
2022-04-19 06:31:31 +02:00
}
list.pioasm = {
2021-03-21 00:03:20 +01:00
install_info = {
url = "https://github.com/leo60228/tree-sitter-pioasm",
files = { "src/parser.c", "src/scanner.c" },
2021-03-21 00:03:20 +01:00
},
maintainers = { "@leo60228" },
2021-03-21 00:03:20 +01:00
}
2023-02-28 00:14:08 -05:00
list.po = {
install_info = {
url = "https://github.com/erasin/tree-sitter-po",
files = { "src/parser.c" },
},
maintainers = { "@amaanq" },
}
list.pod = {
install_info = {
url = "https://github.com/tree-sitter-perl/tree-sitter-pod",
files = { "src/parser.c", "src/scanner.c" },
branch = "release",
},
maintainers = { "@RabbiVeesh", "@LeoNerd" },
}
list.poe_filter = {
2021-03-21 00:03:20 +01:00
install_info = {
url = "https://github.com/ObserverOfTime/tree-sitter-poe-filter",
2021-03-21 00:03:20 +01:00
files = { "src/parser.c" },
},
filetype = "poefilter",
2023-03-11 15:25:11 -05:00
maintainers = { "@ObserverOfTime" },
readme_name = "Path of Exile item filter",
2023-03-11 15:25:11 -05:00
experimental = true,
2021-03-21 13:26:33 -04:00
}
2023-03-26 18:28:54 -04:00
list.pony = {
install_info = {
url = "https://github.com/amaanq/tree-sitter-pony",
files = { "src/parser.c", "src/scanner.c" },
},
maintainers = { "@amaanq", "@mfelsche" },
}
2024-07-22 23:14:45 +02:00
list.powershell = {
install_info = {
url = "https://github.com/airbus-cert/tree-sitter-powershell",
files = { "src/parser.c", "src/scanner.c" },
},
filetype = "ps1",
2024-07-22 23:16:28 +02:00
maintainers = { "@L2jLiga" },
2024-07-22 23:14:45 +02:00
}
list.printf = {
install_info = {
url = "https://github.com/ObserverOfTime/tree-sitter-printf",
files = { "src/parser.c" },
},
maintainers = { "@ObserverOfTime" },
}
list.prisma = {
2021-03-23 06:18:43 +05:30
install_info = {
url = "https://github.com/victorhqc/tree-sitter-prisma",
2021-07-04 16:12:17 -05:00
files = { "src/parser.c" },
},
maintainers = { "@elianiva" },
}
list.problog = {
install_info = {
2024-07-03 09:47:31 +02:00
url = "https://github.com/foxyseta/tree-sitter-prolog",
files = { "src/parser.c" },
location = "grammars/problog",
},
maintainers = { "@foxyseta" },
}
list.prolog = {
install_info = {
2024-07-03 09:47:31 +02:00
url = "https://github.com/foxyseta/tree-sitter-prolog",
files = { "src/parser.c" },
location = "grammars/prolog",
},
maintainers = { "@foxyseta" },
}
list.promql = {
install_info = {
url = "https://github.com/MichaHoffmann/tree-sitter-promql",
files = { "src/parser.c" },
experimental = true,
},
maintainers = { "@MichaHoffmann" },
}
2023-11-21 02:19:07 +02:00
list.properties = {
install_info = {
url = "https://github.com/tree-sitter-grammars/tree-sitter-properties",
files = { "src/parser.c", "src/scanner.c" },
2023-11-21 02:19:07 +02:00
},
filetype = "jproperties",
maintainers = { "@ObserverOfTime" },
}
list.proto = {
install_info = {
url = "https://github.com/treywood/tree-sitter-proto",
files = { "src/parser.c" },
2021-03-23 06:18:43 +05:30
},
maintainers = { "@treywood" },
2021-03-23 06:18:43 +05:30
}
list.prql = {
install_info = {
url = "https://github.com/PRQL/tree-sitter-prql",
files = { "src/parser.c" },
},
maintainers = { "@matthias-Q" },
}
2023-08-17 04:07:43 -04:00
list.psv = {
install_info = {
url = "https://github.com/amaanq/tree-sitter-csv",
files = { "src/parser.c" },
location = "psv",
},
maintainers = { "@amaanq" },
}
list.pug = {
install_info = {
url = "https://github.com/zealot128/tree-sitter-pug",
2023-07-27 04:09:23 -04:00
files = { "src/parser.c", "src/scanner.c" },
},
maintainers = { "@zealot128" },
experimental = true,
}
2023-04-26 07:32:41 -04:00
list.puppet = {
install_info = {
url = "https://github.com/amaanq/tree-sitter-puppet",
files = { "src/parser.c" },
},
maintainers = { "@amaanq" },
}
list.purescript = {
install_info = {
url = "https://github.com/postsolar/tree-sitter-purescript",
files = { "src/parser.c", "src/scanner.c" },
},
maintainers = { "@postsolar" },
}
2023-08-10 11:35:27 +03:00
list.pymanifest = {
install_info = {
url = "https://github.com/ObserverOfTime/tree-sitter-pymanifest",
files = { "src/parser.c" },
},
maintainers = { "@ObserverOfTime" },
readme_name = "PyPA manifest",
}
list.python = {
2021-06-20 21:37:07 +02:00
install_info = {
url = "https://github.com/tree-sitter/tree-sitter-python",
2023-06-23 19:01:41 -04:00
files = { "src/parser.c", "src/scanner.c" },
2021-06-20 21:37:07 +02:00
},
maintainers = { "@stsewd", "@theHamsta" },
2021-06-20 21:37:07 +02:00
}
list.ql = {
2021-04-18 09:57:02 +02:00
install_info = {
url = "https://github.com/tree-sitter/tree-sitter-ql",
files = { "src/parser.c" },
},
maintainers = { "@pwntester" },
}
2023-03-01 02:42:30 -05:00
list.qmldir = {
install_info = {
url = "https://github.com/Decodetalkers/tree-sitter-qmldir",
files = { "src/parser.c" },
},
maintainers = { "@amaanq" },
}
list.qmljs = {
install_info = {
url = "https://github.com/yuja/tree-sitter-qmljs",
2021-04-18 09:57:02 +02:00
files = { "src/parser.c", "src/scanner.c" },
},
filetype = "qml",
maintainers = { "@Decodetalkers" },
2021-04-18 09:57:02 +02:00
}
list.query = {
install_info = {
url = "https://github.com/nvim-treesitter/tree-sitter-query",
2022-09-28 14:49:51 +02:00
files = { "src/parser.c" },
},
maintainers = { "@steelsojka" },
2023-03-11 15:25:11 -05:00
readme_name = "Tree-Sitter query language",
}
list.r = {
2021-08-24 18:23:16 -04:00
install_info = {
url = "https://github.com/r-lib/tree-sitter-r",
2023-07-26 21:11:17 -04:00
files = { "src/parser.c", "src/scanner.c" },
2021-08-24 18:23:16 -04:00
},
2024-06-29 23:00:04 -07:00
maintainers = { "@ribru17" },
2021-08-24 18:23:16 -04:00
}
list.racket = {
install_info = {
url = "https://github.com/6cdh/tree-sitter-racket",
2023-06-23 20:31:42 -04:00
files = { "src/parser.c", "src/scanner.c" },
},
}
list.ralph = {
install_info = {
url = "https://github.com/alephium/tree-sitter-ralph",
files = { "src/parser.c" },
},
maintainers = { "@tdroxler" },
}
list.rasi = {
2021-09-18 21:15:37 +01:00
install_info = {
url = "https://github.com/Fymyte/tree-sitter-rasi",
2021-09-18 21:15:37 +01:00
files = { "src/parser.c" },
},
maintainers = { "@Fymyte" },
2021-09-18 21:15:37 +01:00
}
list.razor = {
install_info = {
url = "https://github.com/tris203/tree-sitter-razor",
files = { "src/parser.c", "src/scanner.c" },
generate_requires_npm = true,
},
maintainers = { "@tris203" },
}
2023-12-01 01:22:29 +09:00
list.rbs = {
install_info = {
url = "https://github.com/joker1007/tree-sitter-rbs",
files = { "src/parser.c" },
},
maintainers = { "@joker1007" },
}
2023-08-22 02:10:29 -04:00
list.re2c = {
install_info = {
url = "https://github.com/amaanq/tree-sitter-re2c",
files = { "src/parser.c" },
},
maintainers = { "@amaanq" },
}
list.readline = {
install_info = {
url = "https://github.com/ribru17/tree-sitter-readline",
files = { "src/parser.c" },
},
maintainers = { "@ribru17" },
}
list.regex = {
2022-01-15 16:35:55 +02:00
install_info = {
url = "https://github.com/tree-sitter/tree-sitter-regex",
2022-01-15 16:35:55 +02:00
files = { "src/parser.c" },
},
maintainers = { "@theHamsta" },
2022-01-15 16:35:55 +02:00
}
list.rego = {
2021-10-02 17:09:40 -04:00
install_info = {
url = "https://github.com/FallenAngel97/tree-sitter-rego",
2021-10-02 17:09:40 -04:00
files = { "src/parser.c" },
},
maintainers = { "@FallenAngel97" },
2021-10-02 17:09:40 -04:00
}
2023-07-24 13:07:35 +03:00
list.requirements = {
install_info = {
url = "https://github.com/ObserverOfTime/tree-sitter-requirements",
files = { "src/parser.c" },
},
maintainers = { "@ObserverOfTime" },
readme_name = "pip requirements",
}
list.rescript = {
install_info = {
url = "https://github.com/rescript-lang/tree-sitter-rescript",
files = { "src/parser.c", "src/scanner.c" },
},
maintainers = { "@ribru17" },
}
list.rnoweb = {
install_info = {
url = "https://github.com/bamonroe/tree-sitter-rnoweb",
files = { "src/parser.c", "src/scanner.c" },
},
maintainers = { "@bamonroe" },
}
2021-12-14 10:47:47 +00:00
list.robot = {
install_info = {
url = "https://github.com/Hubro/tree-sitter-robot",
files = { "src/parser.c" },
},
maintainers = { "@Hubro" },
}
2024-06-30 17:12:36 +09:00
list.robots = {
install_info = {
url = "https://github.com/opa-oz/tree-sitter-robots-txt",
files = { "src/parser.c", "src/scanner.c" },
},
maintainers = { "@opa-oz" },
}
list.roc = {
install_info = {
2024-06-15 13:35:42 +02:00
url = "https://github.com/faldor20/tree-sitter-roc",
files = { "src/parser.c", "src/scanner.c" },
},
maintainers = { "@nat-418" },
}
2023-02-04 15:42:12 -05:00
list.ron = {
install_info = {
url = "https://github.com/amaanq/tree-sitter-ron",
files = { "src/parser.c", "src/scanner.c" },
},
maintainers = { "@amaanq" },
}
list.rst = {
2021-11-01 06:20:58 +07:00
install_info = {
url = "https://github.com/stsewd/tree-sitter-rst",
files = { "src/parser.c", "src/scanner.c" },
2021-11-01 06:20:58 +07:00
},
maintainers = { "@stsewd" },
}
list.ruby = {
2021-12-14 10:47:47 +00:00
install_info = {
url = "https://github.com/tree-sitter/tree-sitter-ruby",
2024-02-09 03:09:46 -05:00
files = { "src/parser.c", "src/scanner.c" },
2021-12-14 10:47:47 +00:00
},
maintainers = { "@TravonteD" },
2021-12-14 10:47:47 +00:00
}
list.runescript = {
install_info = {
url = "https://github.com/2004Scape/tree-sitter-runescript",
files = { "src/parser.c", "src/scanner.c" },
},
maintainers = { "@2004Scape" },
}
list.rust = {
install_info = {
url = "https://github.com/tree-sitter/tree-sitter-rust",
files = { "src/parser.c", "src/scanner.c" },
},
2023-04-21 04:25:45 -04:00
maintainers = { "@amaanq" },
}
list.scala = {
2021-12-14 13:45:56 +01:00
install_info = {
url = "https://github.com/tree-sitter/tree-sitter-scala",
2022-01-07 16:49:33 +01:00
files = { "src/parser.c", "src/scanner.c" },
2021-12-14 13:45:56 +01:00
},
maintainers = { "@stevanmilic" },
2021-12-14 13:45:56 +01:00
}
2023-07-25 22:49:09 +02:00
list.scfg = {
install_info = {
2024-07-10 22:56:04 +02:00
url = "https://github.com/rockorager/tree-sitter-scfg",
2023-07-25 22:49:09 +02:00
files = { "src/parser.c" },
requires_generate_from_grammar = true,
},
maintainers = { "@WhyNotHugo" },
}
list.scheme = {
2021-11-23 01:06:51 +01:00
install_info = {
url = "https://github.com/6cdh/tree-sitter-scheme",
files = { "src/parser.c" },
2021-11-23 01:06:51 +01:00
},
}
list.scss = {
2021-08-29 19:31:37 +02:00
install_info = {
url = "https://github.com/serenadeai/tree-sitter-scss",
files = { "src/parser.c", "src/scanner.c" },
},
maintainers = { "@elianiva" },
}
list.sflog = {
install_info = {
url = "https://github.com/aheber/tree-sitter-sfapex",
files = { "src/parser.c" },
location = "sflog",
},
maintainers = { "@aheber", "@xixiaofinland" },
}
2023-11-18 20:52:31 +01:00
list.slang = {
install_info = {
url = "https://github.com/theHamsta/tree-sitter-slang",
files = { "src/parser.c", "src/scanner.c" },
generate_requires_npm = true,
},
filetype = "shaderslang",
maintainers = { "@theHamsta" },
experimental = true,
}
list.slim = {
install_info = {
url = "https://github.com/theoo/tree-sitter-slim",
files = { "src/parser.c", "src/scanner.c" },
},
maintainers = { "@theoo" },
}
list.slint = {
install_info = {
url = "https://github.com/slint-ui/tree-sitter-slint",
files = { "src/parser.c" },
2021-08-29 19:31:37 +02:00
},
maintainers = { "@hunger" },
2021-08-29 19:31:37 +02:00
}
list.smali = {
2022-01-28 19:13:39 -03:00
install_info = {
2024-03-24 16:26:31 +01:00
url = "https://github.com/tree-sitter-grammars/tree-sitter-smali",
files = { "src/parser.c", "src/scanner.c" },
2022-01-28 19:13:39 -03:00
},
maintainers = { "@amaanq" },
2022-01-28 19:13:39 -03:00
}
2023-09-13 03:29:22 +02:00
list.snakemake = {
install_info = {
url = "https://github.com/osthomas/tree-sitter-snakemake",
files = { "src/parser.c", "src/scanner.c" },
},
maintainer = { "@osthomas" },
experimental = true,
}
list.smithy = {
install_info = {
url = "https://github.com/indoorvivants/tree-sitter-smithy",
files = { "src/parser.c" },
},
maintainers = { "@amaanq", "@keynmol" },
}
2022-03-10 19:14:49 +08:00
list.solidity = {
install_info = {
url = "https://github.com/JoranHonig/tree-sitter-solidity",
2022-03-10 19:14:49 +08:00
files = { "src/parser.c" },
},
maintainers = { "@amaanq" },
2022-03-10 19:14:49 +08:00
}
list.soql = {
install_info = {
url = "https://github.com/aheber/tree-sitter-sfapex",
files = { "src/parser.c" },
location = "soql",
},
maintainers = { "@aheber", "@xixiaofinland" },
}
list.sosl = {
install_info = {
url = "https://github.com/aheber/tree-sitter-sfapex",
files = { "src/parser.c" },
location = "sosl",
},
maintainers = { "@aheber", "@xixiaofinland" },
}
list.sourcepawn = {
install_info = {
url = "https://github.com/nilshelmig/tree-sitter-sourcepawn",
files = { "src/parser.c", "src/scanner.c" },
},
maintainers = { "@Sarrus1" },
tier = 3,
}
list.sparql = {
2022-03-14 10:01:14 -07:00
install_info = {
url = "https://github.com/GordianDziwis/tree-sitter-sparql",
files = { "src/parser.c" },
2022-03-14 10:01:14 -07:00
},
maintainers = { "@GordianDziwis" },
2022-03-14 10:01:14 -07:00
}
list.sql = {
2022-03-26 18:27:11 +01:00
install_info = {
url = "https://github.com/derekstride/tree-sitter-sql",
2023-10-27 00:35:34 +03:00
files = { "src/parser.c", "src/scanner.c" },
branch = "gh-pages",
2022-03-26 18:27:11 +01:00
},
maintainers = { "@derekstride" },
2022-03-26 18:27:11 +01:00
}
2023-03-06 04:46:43 -05:00
list.squirrel = {
install_info = {
url = "https://github.com/amaanq/tree-sitter-squirrel",
files = { "src/parser.c", "src/scanner.c" },
},
maintainers = { "@amaanq" },
}
2023-09-17 12:41:06 +03:00
list.ssh_config = {
install_info = {
url = "https://github.com/ObserverOfTime/tree-sitter-ssh-config",
files = { "src/parser.c" },
},
filetype = "sshconfig",
maintainers = { "@ObserverOfTime" },
}
2023-02-18 15:00:37 -05:00
list.starlark = {
install_info = {
url = "https://github.com/amaanq/tree-sitter-starlark",
files = { "src/parser.c", "src/scanner.c" },
2023-02-18 15:00:37 -05:00
},
filetype = "bzl",
maintainers = { "@amaanq" },
}
2023-08-20 04:33:33 -04:00
list.strace = {
install_info = {
url = "https://github.com/sigmaSd/tree-sitter-strace",
files = { "src/parser.c" },
},
maintainers = { "@amaanq" },
}
list.styled = {
install_info = {
url = "https://github.com/mskelton/tree-sitter-styled",
files = { "src/parser.c", "src/scanner.c" },
},
maintainers = { "@mskelton" },
}
list.supercollider = {
2022-04-07 20:34:19 +08:00
install_info = {
url = "https://github.com/madskjeldgaard/tree-sitter-supercollider",
files = { "src/parser.c", "src/scanner.c" },
2022-04-07 20:34:19 +08:00
},
maintainers = { "@madskjeldgaard" },
2022-04-07 20:34:19 +08:00
}
list.superhtml = {
install_info = {
url = "https://github.com/kristoff-it/superhtml",
files = {
"src/parser.c",
"src/scanner.c",
},
location = "tree-sitter-superhtml",
},
maintainers = { "@rockorager" },
}
list.surface = {
2023-01-23 03:00:32 -05:00
install_info = {
url = "https://github.com/connorlay/tree-sitter-surface",
2023-01-23 03:00:32 -05:00
files = { "src/parser.c" },
},
filetype = "sface",
maintainers = { "@connorlay" },
2023-01-23 03:00:32 -05:00
}
list.svelte = {
2022-04-11 18:14:04 +02:00
install_info = {
2024-02-19 02:53:49 -05:00
url = "https://github.com/tree-sitter-grammars/tree-sitter-svelte",
2023-01-09 21:18:48 +01:00
files = { "src/parser.c", "src/scanner.c" },
2022-04-11 18:14:04 +02:00
},
2024-02-19 02:53:49 -05:00
maintainers = { "@amaanq" },
2022-04-11 18:14:04 +02:00
}
2024-11-01 13:34:02 -07:00
list.sway = {
install_info = {
url = "https://github.com/FuelLabs/tree-sitter-sway.git",
files = { "src/parser.c", "src/scanner.c" },
},
maintainers = { "@ribru17" },
}
list.swift = {
install_info = {
url = "https://github.com/alex-pinkus/tree-sitter-swift",
2023-01-09 21:28:03 +01:00
files = { "src/parser.c", "src/scanner.c" },
requires_generate_from_grammar = true,
},
maintainers = { "@alex-pinkus" },
}
list.sxhkdrc = {
2022-04-26 17:53:51 +01:00
install_info = {
url = "https://github.com/RaafatTurki/tree-sitter-sxhkdrc",
2022-04-26 17:53:51 +01:00
files = { "src/parser.c" },
},
maintainers = { "@RaafatTurki" },
2022-04-26 17:53:51 +01:00
}
2023-07-18 19:55:06 +00:00
list.systemtap = {
install_info = {
url = "https://github.com/ok-ryoko/tree-sitter-systemtap",
files = { "src/parser.c" },
},
maintainers = { "@ok-ryoko" },
}
list.t32 = {
install_info = {
url = "https://gitlab.com/xasc/tree-sitter-t32.git",
files = { "src/parser.c", "src/scanner.c" },
},
2024-04-12 22:24:38 +02:00
filetype = "trace32",
maintainers = { "@xasc" },
}
2023-03-16 07:00:30 -04:00
list.tablegen = {
install_info = {
url = "https://github.com/amaanq/tree-sitter-tablegen",
files = { "src/parser.c", "src/scanner.c" },
},
maintainers = { "@amaanq" },
}
2024-05-03 18:42:51 +02:00
list.tact = {
install_info = {
url = "https://github.com/tact-lang/tree-sitter-tact",
files = { "src/parser.c" },
},
maintainers = { "@novusnota" },
}
list.teal = {
install_info = {
url = "https://github.com/euclidianAce/tree-sitter-teal",
files = { "src/parser.c", "src/scanner.c" },
requires_generate_from_grammar = true,
},
maintainers = { "@euclidianAce" },
}
2024-02-09 16:51:43 +01:00
list.tcl = {
install_info = {
url = "https://github.com/tree-sitter-grammars/tree-sitter-tcl",
files = { "src/parser.c", "src/scanner.c" },
},
maintainers = { "@lewis6991" },
}
2025-03-09 13:44:59 -04:00
list.tera = {
install_info = {
url = "https://github.com/uncenter/tree-sitter-tera",
files = { "src/parser.c", "src/scanner.c" },
},
maintainers = { "@uncenter" },
}
list.terraform = {
install_info = {
url = "https://github.com/MichaHoffmann/tree-sitter-hcl",
files = { "src/parser.c", "src/scanner.c" },
location = "dialects/terraform",
},
maintainers = { "@MichaHoffmann" },
}
list.textproto = {
install_info = {
url = "https://github.com/PorterAtGoogle/tree-sitter-textproto",
files = { "src/parser.c" },
},
filetype = "pbtxt",
maintainers = { "@Porter" },
}
2023-01-21 07:39:15 -05:00
list.thrift = {
install_info = {
url = "https://github.com/duskmoon314/tree-sitter-thrift",
files = { "src/parser.c" },
},
maintainers = { "@amaanq", "@duskmoon314" },
}
2022-06-14 17:24:28 +02:00
list.tiger = {
install_info = {
url = "https://github.com/ambroisie/tree-sitter-tiger",
files = { "src/parser.c", "src/scanner.c" },
},
maintainers = { "@ambroisie" },
}
list.tlaplus = {
2022-11-06 17:44:50 +01:00
install_info = {
url = "https://github.com/tlaplus-community/tree-sitter-tlaplus",
2024-03-22 18:05:45 +01:00
files = { "src/parser.c", "src/scanner.c" },
2022-11-06 17:44:50 +01:00
},
filetype = "tla",
2023-03-11 15:25:11 -05:00
maintainers = { "@ahelwer", "@susliko" },
2022-11-06 17:44:50 +01:00
}
2024-02-20 03:26:32 +08:00
list.tmux = {
install_info = {
url = "https://github.com/Freed-Wu/tree-sitter-tmux",
files = { "src/parser.c" },
},
maintainers = { "@Freed-Wu" },
}
list.todotxt = {
2022-08-31 03:44:53 +03:00
install_info = {
url = "https://github.com/arnarg/tree-sitter-todotxt",
2022-09-01 00:13:19 +03:00
files = { "src/parser.c" },
},
maintainers = { "@arnarg" },
experimental = true,
2022-08-31 03:44:53 +03:00
}
list.toml = {
2022-08-15 23:36:56 +02:00
install_info = {
2024-05-03 11:28:46 +02:00
url = "https://github.com/tree-sitter-grammars/tree-sitter-toml",
files = { "src/parser.c", "src/scanner.c" },
generate_requires_npm = true,
2022-08-15 23:36:56 +02:00
},
maintainers = { "@tk-shirasaka" },
2022-08-15 23:36:56 +02:00
}
2023-08-17 04:07:43 -04:00
list.tsv = {
install_info = {
url = "https://github.com/amaanq/tree-sitter-csv",
files = { "src/parser.c" },
location = "tsv",
},
maintainers = { "@amaanq" },
}
list.tsx = {
install_info = {
url = "https://github.com/tree-sitter/tree-sitter-typescript",
files = { "src/parser.c", "src/scanner.c" },
location = "tsx",
generate_requires_npm = true,
},
filetype = "typescriptreact",
maintainers = { "@steelsojka" },
}
list.turtle = {
2022-09-08 14:48:02 +03:00
install_info = {
url = "https://github.com/GordianDziwis/tree-sitter-turtle",
2022-09-08 14:48:02 +03:00
files = { "src/parser.c" },
},
maintainers = { "@GordianDziwis" },
2022-09-08 14:48:02 +03:00
}
list.twig = {
install_info = {
url = "https://github.com/gbprod/tree-sitter-twig",
files = { "src/parser.c" },
},
maintainers = { "@gbprod" },
}
list.typescript = {
2022-11-24 08:54:54 +01:00
install_info = {
url = "https://github.com/tree-sitter/tree-sitter-typescript",
2022-11-24 08:54:54 +01:00
files = { "src/parser.c", "src/scanner.c" },
location = "typescript",
generate_requires_npm = true,
2022-11-24 08:54:54 +01:00
},
maintainers = { "@steelsojka" },
2022-11-24 08:54:54 +01:00
}
list.typespec = {
install_info = {
url = "https://github.com/happenslol/tree-sitter-typespec",
files = { "src/parser.c" },
},
maintainers = { "@happenslol" },
}
list.typoscript = {
install_info = {
url = "https://github.com/Teddytrombone/tree-sitter-typoscript",
files = { "src/parser.c" },
},
maintainers = { "@Teddytrombone" },
}
2024-02-16 20:54:08 +03:00
list.typst = {
install_info = {
url = "https://github.com/uben0/tree-sitter-typst",
files = { "src/parser.c", "src/scanner.c" },
},
maintainers = { "@uben0", "@RaafatTurki" },
}
2023-11-03 14:20:46 +02:00
list.udev = {
install_info = {
url = "https://github.com/ObserverOfTime/tree-sitter-udev",
files = { "src/parser.c" },
},
filetype = "udevrules",
maintainers = { "@ObserverOfTime" },
}
2023-02-20 18:05:10 +01:00
list.ungrammar = {
install_info = {
url = "https://github.com/Philipp-M/tree-sitter-ungrammar",
files = { "src/parser.c" },
},
maintainers = { "@Philipp-M", "@amaanq" },
}
list.unison = {
install_info = {
url = "https://github.com/kylegoetz/tree-sitter-unison",
files = { "src/parser.c", "src/scanner.c" },
requires_generate_from_grammar = true,
},
maintainers = { "@tapegram" },
}
list.usd = {
install_info = {
url = "https://github.com/ColinKennedy/tree-sitter-usd",
files = { "src/parser.c" },
},
maintainers = { "@ColinKennedy" },
}
2023-03-07 04:32:20 -05:00
list.uxntal = {
install_info = {
url = "https://github.com/amaanq/tree-sitter-uxntal",
files = { "src/parser.c", "src/scanner.c" },
},
filetype = "tal",
maintainers = { "@amaanq" },
readme_name = "uxn tal",
}
list.v = {
2022-09-11 09:48:25 +02:00
install_info = {
2024-02-11 15:28:04 +07:00
url = "https://github.com/vlang/v-analyzer",
2023-12-15 10:00:18 +01:00
files = { "src/parser.c" },
location = "tree_sitter_v",
2022-09-11 09:48:25 +02:00
},
2023-03-17 13:57:22 +01:00
filetype = "vlang",
maintainers = { "@kkharji", "@amaanq" },
2022-09-11 09:48:25 +02:00
}
list.vala = {
install_info = {
url = "https://github.com/vala-lang/tree-sitter-vala",
files = { "src/parser.c" },
},
maintainers = { "@Prince781" },
}
2024-03-18 05:00:22 -04:00
list.vento = {
install_info = {
url = "https://github.com/ventojs/tree-sitter-vento",
files = { "src/parser.c", "src/scanner.c" },
},
filetype = "vto",
maintainers = { "@wrapperup", "@oscarotero" },
}
list.verilog = {
install_info = {
url = "https://github.com/gmlarumbe/tree-sitter-systemverilog",
files = { "src/parser.c" },
},
maintainers = { "@zhangwwpeng" },
}
2024-07-18 08:46:12 +02:00
list.vhdl = {
install_info = {
url = "https://github.com/jpt13653903/tree-sitter-vhdl",
files = { "src/parser.c", "src/scanner.c" },
},
maintainers = { "@jpt13653903" },
}
2022-11-13 08:33:54 -03:00
list.vhs = {
install_info = {
url = "https://github.com/charmbracelet/tree-sitter-vhs",
files = { "src/parser.c" },
},
filetype = "tape",
2023-03-11 15:25:11 -05:00
maintainers = { "@caarlos0" },
2022-11-13 08:33:54 -03:00
}
list.vim = {
2022-09-26 19:25:26 +03:00
install_info = {
url = "https://github.com/neovim/tree-sitter-vim",
2022-09-26 19:25:26 +03:00
files = { "src/parser.c", "src/scanner.c" },
},
maintainers = { "@clason" },
2022-09-26 19:25:26 +03:00
}
2023-04-01 15:58:48 +02:00
list.vimdoc = {
install_info = {
url = "https://github.com/neovim/tree-sitter-vimdoc",
files = { "src/parser.c" },
},
filetype = "help",
maintainers = { "@clason" },
}
2024-07-28 13:15:43 +08:00
list.vrl = {
install_info = {
url = "https://github.com/belltoy/tree-sitter-vrl",
files = { "src/parser.c" },
},
maintainers = { "@belltoy" },
}
list.vue = {
2022-10-26 12:58:34 +03:00
install_info = {
url = "https://github.com/tree-sitter-grammars/tree-sitter-vue",
files = { "src/parser.c", "src/scanner.c" },
branch = "main",
2022-10-26 12:58:34 +03:00
},
maintainers = { "@WhyNotHugo", "@lucario387" },
2022-09-20 02:03:08 +03:00
}
list.wgsl = {
2022-10-21 19:48:15 +03:00
install_info = {
url = "https://github.com/szebniok/tree-sitter-wgsl",
files = { "src/parser.c", "src/scanner.c" },
2022-10-21 19:48:15 +03:00
},
maintainers = { "@szebniok" },
2022-10-21 19:48:15 +03:00
}
list.wgsl_bevy = {
2022-10-02 18:12:30 +02:00
install_info = {
url = "https://github.com/theHamsta/tree-sitter-wgsl-bevy",
files = { "src/parser.c", "src/scanner.c" },
generate_requires_npm = true,
2022-10-02 18:12:30 +02:00
},
maintainers = { "@theHamsta" },
2022-10-02 18:12:30 +02:00
}
list.wing = {
install_info = {
2024-04-14 11:53:37 -04:00
url = "https://github.com/winglang/tree-sitter-wing",
files = { "src/parser.c", "src/scanner.c" },
},
maintainers = { "@gshpychka", "@MarkMcCulloh" },
}
list.wit = {
install_info = {
url = "https://github.com/liamwh/tree-sitter-wit",
files = { "src/parser.c" },
},
maintainers = { "@liamwh" },
}
2023-11-10 00:23:42 +02:00
list.xcompose = {
install_info = {
url = "https://github.com/ObserverOfTime/tree-sitter-xcompose",
files = { "src/parser.c" },
},
maintainers = { "@ObserverOfTime" },
}
2023-08-04 14:50:28 +03:00
list.xml = {
install_info = {
2024-02-13 10:26:05 +01:00
url = "https://github.com/tree-sitter-grammars/tree-sitter-xml",
2023-08-04 14:50:28 +03:00
files = { "src/parser.c", "src/scanner.c" },
2024-02-13 10:26:05 +01:00
location = "xml",
2023-08-04 14:50:28 +03:00
},
maintainers = { "@ObserverOfTime" },
}
list.xresources = {
install_info = {
url = "https://github.com/ValdezFOmar/tree-sitter-xresources",
files = { "src/parser.c" },
},
filetype = "xdefaults",
maintainers = { "@ValdezFOmar" },
}
list.yaml = {
2022-10-03 19:41:45 +03:00
install_info = {
2024-03-15 03:13:26 -04:00
url = "https://github.com/tree-sitter-grammars/tree-sitter-yaml",
files = { "src/parser.c", "src/scanner.c" },
2022-10-03 19:41:45 +03:00
},
2024-03-15 03:13:26 -04:00
maintainers = { "@amaanq" },
2022-10-03 19:41:45 +03:00
}
list.yang = {
install_info = {
url = "https://github.com/Hubro/tree-sitter-yang",
files = { "src/parser.c" },
},
maintainers = { "@Hubro" },
}
2023-02-20 17:55:06 +01:00
list.yuck = {
install_info = {
url = "https://github.com/Philipp-M/tree-sitter-yuck",
files = { "src/parser.c", "src/scanner.c" },
},
maintainers = { "@Philipp-M", "@amaanq" },
}
2024-01-22 01:42:30 +08:00
list.zathurarc = {
install_info = {
url = "https://github.com/Freed-Wu/tree-sitter-zathurarc",
files = { "src/parser.c" },
},
maintainers = { "@Freed-Wu" },
}
list.zig = {
2022-10-08 21:25:05 +03:00
install_info = {
url = "https://github.com/tree-sitter-grammars/tree-sitter-zig",
2022-10-08 21:25:05 +03:00
files = { "src/parser.c" },
},
maintainers = { "@amaanq" },
2022-10-08 21:25:05 +03:00
}
list.ziggy = {
install_info = {
url = "https://github.com/kristoff-it/ziggy",
files = { "src/parser.c" },
location = "tree-sitter-ziggy",
},
maintainers = { "@rockorager" },
}
list.ziggy_schema = {
install_info = {
url = "https://github.com/kristoff-it/ziggy",
files = { "src/parser.c" },
location = "tree-sitter-ziggy-schema",
},
maintainers = { "@rockorager" },
}
list.templ = {
install_info = {
url = "https://github.com/vrischmann/tree-sitter-templ",
files = { "src/parser.c", "src/scanner.c" },
},
maintainers = { "@vrischmann" },
}
local M = {
2021-07-04 16:12:17 -05:00
list = list,
}
function M.ft_to_lang(ft)
local result = ts.language.get_lang(ft)
if result then
return result
else
ft = vim.split(ft, ".", { plain = true })[1]
return ts.language.get_lang(ft) or ft
end
end
-- Get a list of all available parsers
---@return string[]
function M.available_parsers()
local parsers = vim.tbl_keys(M.list)
table.sort(parsers)
if vim.fn.executable "tree-sitter" == 1 and vim.fn.executable "node" == 1 then
return parsers
else
return vim.tbl_filter(function(p) ---@param p string
2021-07-04 16:12:17 -05:00
return not M.list[p].install_info.requires_generate_from_grammar
end, parsers)
end
end
function M.get_parser_configs()
return M.list
end
local parser_files
function M.reset_cache()
parser_files = setmetatable({}, {
__index = function(tbl, key)
2021-07-04 16:12:17 -05:00
rawset(tbl, key, api.nvim_get_runtime_file("parser/" .. key .. ".*", false))
return rawget(tbl, key)
2021-07-04 16:12:17 -05:00
end,
})
end
M.reset_cache()
function M.has_parser(lang)
lang = lang or M.get_buf_lang(api.nvim_get_current_buf())
2021-07-04 16:12:17 -05:00
if not lang or #lang == 0 then
return false
end
-- HACK: nvim internal API
2021-07-04 16:12:17 -05:00
if vim._ts_has_language(lang) then
return true
end
return #parser_files[lang] > 0
end
2020-04-19 17:54:27 +02:00
function M.get_parser(bufnr, lang)
bufnr = bufnr or api.nvim_get_current_buf()
lang = lang or M.get_buf_lang(bufnr)
if M.has_parser(lang) then
return ts.get_parser(bufnr, lang)
end
end
-- @deprecated This is only kept for legacy purposes.
-- All root nodes should be accounted for.
function M.get_tree_root(bufnr)
bufnr = bufnr or api.nvim_get_current_buf()
return M.get_parser(bufnr):parse()[1]:root()
end
-- Gets the language of a given buffer
---@param bufnr number? or current buffer
---@return string
2020-07-10 21:47:50 +02:00
function M.get_buf_lang(bufnr)
bufnr = bufnr or api.nvim_get_current_buf()
return M.ft_to_lang(api.nvim_buf_get_option(bufnr, "ft"))
end
return M