diff --git a/lisp/progmodes/dockerfile-ts-mode.el b/lisp/progmodes/dockerfile-ts-mode.el index 40d90cc2df..99fea26c94 100644 --- a/lisp/progmodes/dockerfile-ts-mode.el +++ b/lisp/progmodes/dockerfile-ts-mode.el @@ -141,36 +141,24 @@ dockerfile-ts-mode--imenu-1 ;;;###autoload (define-derived-mode dockerfile-ts-mode prog-mode "Dockerfile" "Major mode for editing Dockerfiles, powered by tree-sitter." + :tree-sitter-settings treesit-font-lock-settings + :tree-sitter-features '((comment) + (keyword string) + (image-spec number) + (bracket delimiter error operator)) + :tree-sitter-indent dockerfile-ts-mode--indent-rules :group 'dockerfile :syntax-table dockerfile-ts-mode--syntax-table - (when (treesit-ready-p 'dockerfile) - (treesit-parser-create 'dockerfile) - - ;; Comments. - (setq-local comment-start "# ") - (setq-local comment-end "") - (setq-local comment-start-skip (rx "#" (* (syntax whitespace)))) - - ;; Imenu. - (setq-local imenu-create-index-function - #'dockerfile-ts-mode--imenu) - (setq-local which-func-functions nil) - - ;; Indent. - (setq-local treesit-simple-indent-rules - dockerfile-ts-mode--indent-rules) - - ;; Font-lock. - (setq-local treesit-font-lock-settings - dockerfile-ts-mode--font-lock-settings) - (setq-local treesit-font-lock-feature-list - '((comment) - (keyword string) - (image-spec number) - (bracket delimiter error operator))) - - (treesit-major-mode-setup))) + ;; Comments. + (setq-local comment-start "# ") + (setq-local comment-end "") + (setq-local comment-start-skip (rx "#" (* (syntax whitespace)))) + + ;; Imenu + (setq-local imenu-create-index-function + #'dockerfile-ts-mode--imenu) + (setq-local which-func-functions nil)) (provide 'dockerfile-ts-mode)