mirror of
git://git.sv.gnu.org/emacs.git
synced 2025-12-15 10:30:25 -08:00
(js-json-mode): Don't derive from js-mode (bug#67463)
* lisp/progmodes/js.el (js--mode-setup): New function, extracted from `js-mode`. (js-mode): Use it. (js-json-mode): Use it instead of inheriting from `js-mode`.
This commit is contained in:
parent
0d336507df
commit
314c939d1e
2 changed files with 11 additions and 1 deletions
|
|
@ -3702,6 +3702,9 @@ Currently there are `js-mode' and `js-ts-mode'."
|
|||
(define-derived-mode js-mode js-base-mode "JavaScript"
|
||||
"Major mode for editing JavaScript."
|
||||
:group 'js
|
||||
(js--mode-setup))
|
||||
|
||||
(defun js--mode-setup ()
|
||||
;; Ensure all CC Mode "lang variables" are set to valid values.
|
||||
(c-init-language-vars js-mode)
|
||||
(setq-local indent-line-function #'js-indent-line)
|
||||
|
|
@ -3924,7 +3927,9 @@ See `treesit-thing-settings' for more information.")
|
|||
(put-text-property (1- ne) ne 'syntax-table syntax)))))
|
||||
|
||||
;;;###autoload
|
||||
(define-derived-mode js-json-mode js-mode "JSON"
|
||||
(define-derived-mode js-json-mode prog-mode "JSON"
|
||||
:syntax-table js-mode-syntax-table
|
||||
(js--mode-setup) ;Reuse most of `js-mode', but not as parent (bug#67463).
|
||||
(setq-local js-enabled-frameworks nil)
|
||||
;; Speed up `syntax-ppss': JSON files can be big but can't hold
|
||||
;; regexp matchers nor #! thingies (and `js-enabled-frameworks' is nil).
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue