mirror of
git://git.sv.gnu.org/emacs.git
synced 2025-12-15 10:30:25 -08:00
Lock tree-sitter language grammars to verified versions.
* admin/notes/tree-sitter/build-module/build.sh: Update org for toml/yaml. * admin/tree-sitter/treesit-admin.el (treesit-admin--builtin-language-sources): Add verified versions. * lisp/progmodes/c-ts-mode.el: Append language source to treesit-language-source-alist. (c-ts-mode, c++-ts-mode): Use treesit-ensure-installed. * lisp/progmodes/cmake-ts-mode.el: Append language source to treesit-language-source-alist. (cmake-ts-mode): Use treesit-ensure-installed. * lisp/progmodes/csharp-mode.el: Append language source to treesit-language-source-alist. (csharp-ts-mode): Use treesit-ensure-installed. * lisp/progmodes/dockerfile-ts-mode.el: Append language source to treesit-language-source-alist. (dockerfile-ts-mode): Use treesit-ensure-installed. * lisp/progmodes/elixir-ts-mode.el: Append language source to treesit-language-source-alist. (elixir-ts-mode): Use treesit-ensure-installed. * lisp/progmodes/go-ts-mode.el: Append language source to treesit-language-source-alist. (go-ts-mode, go-mod-ts-mode, go-work-ts-mode): Use treesit-ensure-installed. * lisp/progmodes/heex-ts-mode.el: Append language source to treesit-language-source-alist. (heex-ts-mode): Use treesit-ensure-installed. * lisp/progmodes/java-ts-mode.el: Append language source to treesit-language-source-alist. (java-ts-mode): Use treesit-ensure-installed. * lisp/progmodes/js.el: Append language source to treesit-language-source-alist. (js-ts-mode): Use treesit-ensure-installed. * lisp/progmodes/json-ts-mode.el: Append language source to treesit-language-source-alist. (json-ts-mode): Use treesit-ensure-installed. * lisp/progmodes/lua-ts-mode.el: Append language source to treesit-language-source-alist. (lua-ts-mode): Use treesit-ensure-installed. * lisp/progmodes/php-ts-mode.el (php-ts-mode--language-source-alist): Update versions from comments in ts-modes. Append to treesit-language-source-alist. (php-ts-mode-install-parsers): Use treesit-language-source-alist directly. (php-ts-mode): Use treesit-ensure-installed. * lisp/progmodes/ruby-ts-mode.el: Append language source to treesit-language-source-alist. (ruby-ts-mode): Use treesit-ensure-installed. * lisp/progmodes/rust-ts-mode.el: Append language source to treesit-language-source-alist. (rust-ts-mode): Use treesit-ensure-installed. * lisp/progmodes/sh-script.el: Append language source to treesit-language-source-alist. (bash-ts-mode): Use treesit-ensure-installed. * lisp/progmodes/typescript-ts-mode.el: Append language source to treesit-language-source-alist. (typescript-ts-mode, tsx-ts-mode): Use treesit-ensure-installed. * lisp/textmodes/css-mode.el: Append language source to treesit-language-source-alist. (css-ts-mode): Use treesit-ensure-installed. * lisp/textmodes/html-ts-mode.el: Append language source to treesit-language-source-alist. (html-ts-mode): Use treesit-ensure-installed. * lisp/textmodes/markdown-ts-mode.el: Append language source to treesit-language-source-alist. (markdown-ts-mode): Use treesit-ensure-installed. * lisp/textmodes/mhtml-ts-mode.el (mhtml-ts-mode--language-source-alist): Append to treesit-language-source-alist. (mhtml-ts-mode-install-parsers): Use treesit-language-source-alist directly. (mhtml-ts-mode): Use treesit-ensure-installed. * lisp/textmodes/toml-ts-mode.el: Append language source to treesit-language-source-alist. (toml-ts-mode): Use treesit-ensure-installed. * lisp/textmodes/yaml-ts-mode.el: Append language source to treesit-language-source-alist. (yaml-ts-mode): Use treesit-ensure-installed. * test/infra/Dockerfile.emba: Add verified versions to treesit-language-source-alist.
This commit is contained in:
parent
c9b6be7d27
commit
3d3be6dd0e
25 changed files with 267 additions and 108 deletions
|
|
@ -81,23 +81,26 @@
|
|||
|
||||
;;; Install treesitter language parsers
|
||||
(defvar php-ts-mode--language-source-alist
|
||||
'((php . ("https://github.com/tree-sitter/tree-sitter-php" "v0.23.11" "php/src"))
|
||||
(phpdoc . ("https://github.com/claytonrcarter/tree-sitter-phpdoc"))
|
||||
(html . ("https://github.com/tree-sitter/tree-sitter-html" "v0.23.0"))
|
||||
(javascript . ("https://github.com/tree-sitter/tree-sitter-javascript" "v0.23.0"))
|
||||
(jsdoc . ("https://github.com/tree-sitter/tree-sitter-jsdoc" "v0.23.0"))
|
||||
(css . ("https://github.com/tree-sitter/tree-sitter-css" "v0.23.0")))
|
||||
'((php "https://github.com/tree-sitter/tree-sitter-php" "v0.23.11" "php/src")
|
||||
(phpdoc "https://github.com/claytonrcarter/tree-sitter-phpdoc")
|
||||
(html "https://github.com/tree-sitter/tree-sitter-html" "v0.23.2")
|
||||
(javascript "https://github.com/tree-sitter/tree-sitter-javascript" "v0.23.1")
|
||||
(jsdoc "https://github.com/tree-sitter/tree-sitter-jsdoc" "v0.23.2")
|
||||
(css "https://github.com/tree-sitter/tree-sitter-css" "v0.23.1"))
|
||||
"Treesitter language parsers required by `php-ts-mode'.
|
||||
You can customize this variable if you want to stick to a specific
|
||||
commit and/or use different parsers.")
|
||||
You can customize `treesit-language-source-alist' if you want
|
||||
to stick to a specific commit and/or use different parsers.")
|
||||
|
||||
(setq treesit-language-source-alist
|
||||
(append treesit-language-source-alist
|
||||
php-ts-mode--language-source-alist))
|
||||
|
||||
(defun php-ts-mode-install-parsers ()
|
||||
"Install all the required treesitter parsers.
|
||||
`php-ts-mode--language-source-alist' defines which parsers to install."
|
||||
(interactive)
|
||||
(let ((treesit-language-source-alist php-ts-mode--language-source-alist))
|
||||
(dolist (item php-ts-mode--language-source-alist)
|
||||
(treesit-install-language-grammar (car item)))))
|
||||
(dolist (item php-ts-mode--language-source-alist)
|
||||
(treesit-install-language-grammar (car item))))
|
||||
|
||||
;;; Custom variables
|
||||
|
||||
|
|
@ -1384,12 +1387,12 @@ Depends on `c-ts-common-comment-setup'."
|
|||
:syntax-table php-ts-mode--syntax-table
|
||||
|
||||
(if (not (and
|
||||
(treesit-ready-p 'php)
|
||||
(treesit-ready-p 'phpdoc)
|
||||
(treesit-ready-p 'html)
|
||||
(treesit-ready-p 'javascript)
|
||||
(treesit-ready-p 'jsdoc)
|
||||
(treesit-ready-p 'css)))
|
||||
(treesit-ensure-installed 'php)
|
||||
(treesit-ensure-installed 'phpdoc)
|
||||
(treesit-ensure-installed 'html)
|
||||
(treesit-ensure-installed 'javascript)
|
||||
(treesit-ensure-installed 'jsdoc)
|
||||
(treesit-ensure-installed 'css)))
|
||||
(error "Tree-sitter for PHP isn't
|
||||
available. You can install the parsers with M-x
|
||||
`php-ts-mode-install-parsers'")
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue