"Major mode for editing Html, powered by tree-sitter."
:group 'html
- (unless (treesit-ready-p 'html)
+ (unless (treesit-ready-p 'html t)
(error "Tree-sitter for HTML isn't available"))
(setq treesit-primary-parser (treesit-parser-create 'html))
(derived-mode-add-parents 'html-ts-mode '(html-mode))
-(if (treesit-ready-p 'html)
+(if (treesit-ready-p 'html t)
(add-to-list 'auto-mode-alist '("\\.html\\'" . html-ts-mode)))
(provide 'html-ts-mode)
(require 'treesit)
(require 'css-mode) ;; for embed css into html
(require 'js) ;; for embed javascript into html
+(require 'html-ts-mode)
(eval-when-compile
(require 'rx))
-;; Prevent compile warnings.
-(defvar html-ts-mode-indent-offset)
-(defvar html-ts-mode--treesit-font-lock-feature-list)
-(defvar html-ts-mode--font-lock-settings)
-(defvar html-ts-mode--treesit-things-settings)
-(defvar html-ts-mode--treesit-defun-type-regexp)
-(defvar html-ts-mode--indent-rules)
-(defvar html-ts-mode--treesit-simple-imenu-settings)
-(declare-function html-ts-mode--outline-predicate "html-ts-mode.el")
-(declare-function html-ts-mode--defun-name "html-ts-mode.el")
-
;; This tells the byte-compiler where the functions are defined.
;; Is only needed when a file needs to be able to byte-compile
;; in a Emacs not built with tree-sitter library.
(error "Tree-sitter parsers for HTML isn't available. You can
install the parsers with M-x `mhtml-ts-mode-install-parsers'")
- (require 'html-ts-mode)
-
;; When an language is embedded, you should initialize some variable
;; just like it's done in the original mode.
;; Add some extra parents.
(derived-mode-add-parents 'mhtml-ts-mode '(css-mode js-mode))
-(when (and (treesit-ready-p 'html) (treesit-ready-p 'javascript) (treesit-ready-p 'css))
+(when (and (treesit-ready-p 'html t) (treesit-ready-p 'javascript t) (treesit-ready-p 'css t))
(add-to-list
'auto-mode-alist '("\\.[sx]?html?\\(\\.[a-zA-Z_]+\\)?\\'" . mhtml-ts-mode)))