parsers-config.ts 9.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239
  1. export default {
  2. // NOTE: FOR markdown, javascript and typescript, we use the opentui built-in parsers
  3. // Warn: when taking queries from the nvim-treesitter repo, make sure to include the query dependencies as well
  4. // marked with for example `; inherits: ecma` at the top of the file. Just put the dependencies before the actual query.
  5. // ALSO: Some queries use breaking changes in the nvim-treesitter repo, that are not compatible with the (web-)tree-sitter parser.
  6. parsers: [
  7. {
  8. filetype: "python",
  9. wasm: "https://github.com/tree-sitter/tree-sitter-python/releases/download/v0.23.6/tree-sitter-python.wasm",
  10. queries: {
  11. highlights: [
  12. // NOTE: This nvim-treesitter query is currently broken, because the parser is not compatible with the query apparently.
  13. // it is using "except" nodes that the parser is complaining about, but it has been in the query for 3+ years.
  14. // Unclear.
  15. // "https://raw.githubusercontent.com/nvim-treesitter/nvim-treesitter/refs/heads/master/queries/python/highlights.scm",
  16. "https://github.com/tree-sitter/tree-sitter-python/raw/refs/heads/master/queries/highlights.scm",
  17. ],
  18. locals: [
  19. "https://raw.githubusercontent.com/nvim-treesitter/nvim-treesitter/refs/heads/master/queries/python/locals.scm",
  20. ],
  21. },
  22. },
  23. {
  24. filetype: "rust",
  25. wasm: "https://github.com/tree-sitter/tree-sitter-rust/releases/download/v0.24.0/tree-sitter-rust.wasm",
  26. queries: {
  27. highlights: [
  28. "https://raw.githubusercontent.com/nvim-treesitter/nvim-treesitter/refs/heads/master/queries/rust/highlights.scm",
  29. ],
  30. locals: [
  31. "https://raw.githubusercontent.com/nvim-treesitter/nvim-treesitter/refs/heads/master/queries/rust/locals.scm",
  32. ],
  33. },
  34. },
  35. {
  36. filetype: "go",
  37. wasm: "https://github.com/tree-sitter/tree-sitter-go/releases/download/v0.25.0/tree-sitter-go.wasm",
  38. queries: {
  39. highlights: [
  40. "https://raw.githubusercontent.com/nvim-treesitter/nvim-treesitter/refs/heads/master/queries/go/highlights.scm",
  41. ],
  42. locals: [
  43. "https://raw.githubusercontent.com/nvim-treesitter/nvim-treesitter/refs/heads/master/queries/go/locals.scm",
  44. ],
  45. },
  46. },
  47. {
  48. filetype: "cpp",
  49. wasm: "https://github.com/tree-sitter/tree-sitter-cpp/releases/download/v0.23.4/tree-sitter-cpp.wasm",
  50. queries: {
  51. highlights: [
  52. "https://raw.githubusercontent.com/nvim-treesitter/nvim-treesitter/refs/heads/master/queries/cpp/highlights.scm",
  53. ],
  54. locals: [
  55. "https://raw.githubusercontent.com/nvim-treesitter/nvim-treesitter/refs/heads/master/queries/cpp/locals.scm",
  56. ],
  57. },
  58. },
  59. {
  60. filetype: "csharp",
  61. wasm: "https://github.com/tree-sitter/tree-sitter-c-sharp/releases/download/v0.23.1/tree-sitter-c_sharp.wasm",
  62. queries: {
  63. highlights: [
  64. "https://raw.githubusercontent.com/nvim-treesitter/nvim-treesitter/refs/heads/master/queries/c_sharp/highlights.scm",
  65. ],
  66. locals: [
  67. "https://raw.githubusercontent.com/nvim-treesitter/nvim-treesitter/refs/heads/master/queries/c_sharp/locals.scm",
  68. ],
  69. },
  70. },
  71. {
  72. filetype: "bash",
  73. wasm: "https://github.com/tree-sitter/tree-sitter-bash/releases/download/v0.25.0/tree-sitter-bash.wasm",
  74. queries: {
  75. highlights: [
  76. "https://raw.githubusercontent.com/nvim-treesitter/nvim-treesitter/refs/heads/master/queries/bash/highlights.scm",
  77. ],
  78. },
  79. },
  80. {
  81. filetype: "c",
  82. wasm: "https://github.com/tree-sitter/tree-sitter-c/releases/download/v0.24.1/tree-sitter-c.wasm",
  83. queries: {
  84. highlights: [
  85. "https://raw.githubusercontent.com/nvim-treesitter/nvim-treesitter/refs/heads/master/queries/c/highlights.scm",
  86. ],
  87. locals: [
  88. "https://raw.githubusercontent.com/nvim-treesitter/nvim-treesitter/refs/heads/master/queries/c/locals.scm",
  89. ],
  90. },
  91. },
  92. {
  93. filetype: "java",
  94. wasm: "https://github.com/tree-sitter/tree-sitter-java/releases/download/v0.23.5/tree-sitter-java.wasm",
  95. queries: {
  96. highlights: [
  97. "https://raw.githubusercontent.com/nvim-treesitter/nvim-treesitter/refs/heads/master/queries/java/highlights.scm",
  98. ],
  99. locals: [
  100. "https://raw.githubusercontent.com/nvim-treesitter/nvim-treesitter/refs/heads/master/queries/java/locals.scm",
  101. ],
  102. },
  103. },
  104. {
  105. filetype: "ruby",
  106. wasm: "https://github.com/tree-sitter/tree-sitter-ruby/releases/download/v0.23.1/tree-sitter-ruby.wasm",
  107. queries: {
  108. highlights: [
  109. "https://raw.githubusercontent.com/nvim-treesitter/nvim-treesitter/refs/heads/master/queries/ruby/highlights.scm",
  110. ],
  111. locals: [
  112. "https://raw.githubusercontent.com/nvim-treesitter/nvim-treesitter/refs/heads/master/queries/ruby/locals.scm",
  113. ],
  114. },
  115. },
  116. {
  117. filetype: "php",
  118. wasm: "https://github.com/tree-sitter/tree-sitter-php/releases/download/v0.24.2/tree-sitter-php.wasm",
  119. queries: {
  120. highlights: [
  121. // NOTE: This nvim-treesitter query is currently broken, because the parser is not compatible with the query apparently.
  122. // "https://raw.githubusercontent.com/nvim-treesitter/nvim-treesitter/refs/heads/master/queries/php/highlights.scm",
  123. "https://github.com/tree-sitter/tree-sitter-php/raw/refs/heads/master/queries/highlights.scm",
  124. ],
  125. },
  126. },
  127. {
  128. filetype: "scala",
  129. wasm: "https://github.com/tree-sitter/tree-sitter-scala/releases/download/v0.24.0/tree-sitter-scala.wasm",
  130. queries: {
  131. highlights: [
  132. "https://raw.githubusercontent.com/nvim-treesitter/nvim-treesitter/refs/heads/master/queries/scala/highlights.scm",
  133. ],
  134. },
  135. },
  136. {
  137. filetype: "html",
  138. wasm: "https://github.com/tree-sitter/tree-sitter-html/releases/download/v0.23.2/tree-sitter-html.wasm",
  139. queries: {
  140. highlights: [
  141. // NOTE: This nvim-treesitter query is currently broken, because the parser is not compatible with the query apparently.
  142. // "https://raw.githubusercontent.com/nvim-treesitter/nvim-treesitter/refs/heads/master/queries/html/highlights.scm",
  143. "https://github.com/tree-sitter/tree-sitter-html/raw/refs/heads/master/queries/highlights.scm",
  144. ],
  145. // TODO: Injections not working for some reason
  146. // injections: [
  147. // "https://github.com/tree-sitter/tree-sitter-html/raw/refs/heads/master/queries/injections.scm",
  148. // ],
  149. },
  150. // injectionMapping: {
  151. // nodeTypes: {
  152. // script_element: "javascript",
  153. // style_element: "css",
  154. // },
  155. // infoStringMap: {
  156. // javascript: "javascript",
  157. // css: "css",
  158. // },
  159. // },
  160. },
  161. {
  162. filetype: "json",
  163. wasm: "https://github.com/tree-sitter/tree-sitter-json/releases/download/v0.24.8/tree-sitter-json.wasm",
  164. queries: {
  165. highlights: [
  166. "https://raw.githubusercontent.com/nvim-treesitter/nvim-treesitter/refs/heads/master/queries/json/highlights.scm",
  167. ],
  168. },
  169. },
  170. {
  171. filetype: "yaml",
  172. wasm: "https://github.com/tree-sitter-grammars/tree-sitter-yaml/releases/download/v0.7.2/tree-sitter-yaml.wasm",
  173. queries: {
  174. highlights: [
  175. "https://raw.githubusercontent.com/nvim-treesitter/nvim-treesitter/refs/heads/master/queries/yaml/highlights.scm",
  176. ],
  177. },
  178. },
  179. {
  180. filetype: "haskell",
  181. wasm: "https://github.com/tree-sitter/tree-sitter-haskell/releases/download/v0.23.1/tree-sitter-haskell.wasm",
  182. queries: {
  183. highlights: [
  184. "https://raw.githubusercontent.com/nvim-treesitter/nvim-treesitter/refs/heads/master/queries/haskell/highlights.scm",
  185. ],
  186. },
  187. },
  188. {
  189. filetype: "css",
  190. wasm: "https://github.com/tree-sitter/tree-sitter-css/releases/download/v0.25.0/tree-sitter-css.wasm",
  191. queries: {
  192. highlights: [
  193. "https://raw.githubusercontent.com/nvim-treesitter/nvim-treesitter/refs/heads/master/queries/css/highlights.scm",
  194. ],
  195. },
  196. },
  197. {
  198. filetype: "julia",
  199. wasm: "https://github.com/tree-sitter/tree-sitter-julia/releases/download/v0.23.1/tree-sitter-julia.wasm",
  200. queries: {
  201. highlights: [
  202. "https://raw.githubusercontent.com/nvim-treesitter/nvim-treesitter/refs/heads/master/queries/julia/highlights.scm",
  203. ],
  204. },
  205. },
  206. {
  207. filetype: "ocaml",
  208. wasm: "https://github.com/tree-sitter/tree-sitter-ocaml/releases/download/v0.24.2/tree-sitter-ocaml.wasm",
  209. queries: {
  210. highlights: [
  211. "https://raw.githubusercontent.com/nvim-treesitter/nvim-treesitter/refs/heads/master/queries/ocaml/highlights.scm",
  212. ],
  213. },
  214. },
  215. {
  216. filetype: "clojure",
  217. wasm: "https://github.com/sogaiu/tree-sitter-clojure/releases/download/v0.0.13/tree-sitter-clojure.wasm",
  218. queries: {
  219. highlights: [
  220. "https://raw.githubusercontent.com/nvim-treesitter/nvim-treesitter/refs/heads/master/queries/clojure/highlights.scm",
  221. ],
  222. },
  223. },
  224. {
  225. filetype: "swift",
  226. wasm: "https://github.com/alex-pinkus/tree-sitter-swift/releases/download/0.7.1/tree-sitter-swift.wasm",
  227. queries: {
  228. highlights: [
  229. // NOTE: Using parser repo queries instead of nvim-treesitter due to incompatible #lua-match? predicates
  230. // "https://raw.githubusercontent.com/nvim-treesitter/nvim-treesitter/refs/heads/master/queries/highlights.scm
  231. "https://raw.githubusercontent.com/alex-pinkus/tree-sitter-swift/main/queries/highlights.scm",
  232. ],
  233. locals: [
  234. "https://raw.githubusercontent.com/nvim-treesitter/nvim-treesitter/refs/heads/master/queries/swift/locals.scm",
  235. ],
  236. },
  237. },
  238. ],
  239. }