1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-01 09:51:22 -08:00
emacs/lisp/progmodes
Yuan Fu 5159789e55
Revise the toggle scheme of tree-sitter (again)
Now instead of a toggle function (major-mode-backend-function), we let
major mode set local variables like treesit-font-lock-settings,
treesit-imenu-function, then treesit-mode takes care of activating
those things (clearing font-lock-keywords, setting
imenu-create-index-function to treesit-imenu-function, etc).

js.el and python.el: I've returned js-mode and python-mode to exactly
what they were before tree-sitter change, plus lines at the end
setting up tree-sitter variables.  Sorry about all these fuss :-D

* lisp/treesit.el (treesit-mode-inhibit-message): Remove option.
(major-mode-backend-function)
(treesit-remapped-major-mode-alist): Remove variables.
(treesit-mode): Move down to the end of buffer.  Do more things.
(global-treesit-mode): Move down to the end of buffer.  Don't handle
major-mode-remap-alist anymore.
(global-treesit-mode--turn-on): Move down to the end of buffer.
(treesit-ready-p): Move down to the end of buffer.  Changed signature.
(treesit-font-lock-enable): Remove function.
(treesit-defun-type-regexp): New variable.
(treesit-beginning-of-defun)
(treesit-end-of-defun): New function.
(treesit-imenu-function): New variable.
(treesit-mode-supported)
(treesit-required-languages)
(treesit--local-variable-backup): New variables.
(treesit--backup-local-variable): New function

* lisp/progmodes/js.el (js-use-tree-sitter): Remove option.
(js--treesit-defun-type-regexp): Remove variable.  (Now set inline in
js-mode.)
(js--treesit-beginning-of-defun)
(js--treesit-end-of-defun): Remove functions.  (Now use
treesit-beginning/end-of-defun.)
(js--backend-toggle)
(js--json-backend-toggle): Remove function.
(js-mode)
(js-json-mode): Restore back to before tree-sitter changes.  Add
tree-sitter setup at the end.

* lisp/progmodes/python.el (python--backend-toggle): Remove function.
(python-mode): Restore back to before tree-sitter changes.  Add
tree-sitter setup at the end.

* lisp/progmodes/ts-mode.el (ts-mode--font-lock-settings): Use
js--fontify-template-string.
(ts-mode--fontify-template-string): Remove function (because we can
just use js--fontify-template-string).
(ts-mode--defun-type-regexp): Remove variable (now set inline in
ts-mode).
(ts-mode--beginning-of-defun)
(ts-mode--end-of-defun): Remove functions (now using
treesit-beginning/end-of-defun).
(ts-mode): Setup tree-sitter variables and then turn on treesit-mode
or move to js-mode.
2022-10-19 16:44:04 -07:00
..
antlr-mode.el * lisp/progmodes/antlr-mode.el: Remove remnants of XEmacs support. 2022-08-08 18:18:51 +02:00
asm-mode.el
autoconf.el Prefer defvar-keymap in some trivial cases 2022-07-20 09:27:30 +02:00
bat-mode.el
bug-reference.el Merge from origin/emacs-28 2022-07-14 11:37:42 +02:00
cc-align.el CC Mode: Handle C++20 concepts 2022-09-26 19:20:54 +00:00
cc-awk.el CC Mode. Make AWK Mode work with electric-pair-mode 2022-09-24 12:23:32 +00:00
cc-bytecomp.el
cc-cmds.el Delete additional items obsolete since 20, 21 and 22 2022-07-31 11:33:42 +02:00
cc-defs.el CC Mode: Optimize c-fontify-new-found-type and amend a debug spec 2022-10-04 16:19:33 +00:00
cc-engine.el CC Mode: Make c-forward-declarator move over a suffix after parens, e.g. const 2022-10-04 13:22:32 +00:00
cc-fonts.el CC Mode: Optimize c-fontify-new-found-type and amend a debug spec 2022-10-04 16:19:33 +00:00
cc-guess.el
cc-langs.el CC Mode: A new operator and some new keywords for C++20 2022-10-04 17:19:33 +00:00
cc-menus.el
cc-mode.el CC Mode: Make c-forward-declarator move over a suffix after parens, e.g. const 2022-10-04 13:22:32 +00:00
cc-styles.el
cc-vars.el
cfengine.el Make point-at-eol and point-at-bol obsolete 2022-08-23 04:54:57 +02:00
cl-font-lock.el
cmacexp.el
compile.el Fix some misleading quoting in cl-case 2022-09-13 18:19:26 +02:00
cperl-mode.el files.el (major-mode-remap-alist): New custom var (bug#58075) 2022-10-03 11:17:51 -04:00
cpp.el
cwarn.el Remove many items obsolete since 24.1 2022-07-08 14:10:38 +02:00
dcl-mode.el
ebnf-abn.el
ebnf-bnf.el
ebnf-dtd.el
ebnf-ebx.el
ebnf-iso.el
ebnf-otz.el
ebnf-yac.el
ebnf2ps.el Merge from origin/emacs-28 2022-08-13 06:30:27 +02:00
ebrowse.el * lisp/progmodes/ebrowse.el (ebrowse-tree-mode): Fix typo. 2022-07-04 14:53:16 +02:00
elisp-mode.el Rename to inhibit-automatic-native-compilation 2022-10-03 19:50:03 +02:00
erts-mode.el
etags.el Fix the arguments in tags--compat-initialize 2022-10-04 14:32:11 +02:00
executable.el
f90.el Merge from origin/emacs-28 2022-08-13 06:30:27 +02:00
flymake-cc.el
flymake-proc.el string-equal-ignore-case: new function 2022-07-26 13:49:28 -04:00
flymake.el Merge from origin/emacs-28 2022-09-21 10:25:06 +02:00
fortran.el Make compat aliases obsolete in fortran.el 2022-08-09 13:20:07 +02:00
gdb-mi.el Show gdb-mi disassembly over tramp 2022-08-29 17:23:46 +02:00
glasses.el Merge from origin/emacs-28 2022-10-04 19:23:24 +02:00
grep.el ; * lisp/progmodes/grep.el (grep-command-position): Doc fix. 2022-08-25 21:51:23 +03:00
gud.el Make easy-mmode-defmap obsolete and adjust only caller 2022-09-01 13:39:14 +02:00
hideif.el Merge from origin/emacs-28 2022-09-21 10:25:06 +02:00
hideshow.el hideshow.el: Improve hs-toggle-hiding behavior 2022-09-24 11:08:29 -04:00
icon.el ; Delete not-useful comments referring to Emacs 19. 2022-08-19 18:05:51 +02:00
idlw-complete-structtag.el
idlw-help.el
idlw-shell.el Make point-at-eol and point-at-bol obsolete 2022-08-23 04:54:57 +02:00
idlw-toolbar.el
idlwave.el Make point-at-eol and point-at-bol obsolete 2022-08-23 04:54:57 +02:00
inf-lisp.el
js.el Revise the toggle scheme of tree-sitter (again) 2022-10-19 16:44:04 -07:00
ld-script.el
m4-mode.el
make-mode.el Prefer :risky defcustom keyword 2022-07-11 11:30:00 +02:00
meta-mode.el Make point-at-eol and point-at-bol obsolete 2022-08-23 04:54:57 +02:00
mixal-mode.el
modula2.el Prefer defcustom :safe to putting 'safe-local-variable' 2022-07-06 20:50:42 +02:00
octave.el New function substitute-quotes 2022-09-10 07:37:36 +02:00
opascal.el Remove superfluous installation instructions 2022-07-21 08:45:17 +02:00
pascal.el Make point-at-eol and point-at-bol obsolete 2022-08-23 04:54:57 +02:00
perl-mode.el Recognize the backslash operator in perl-mode 2022-09-20 21:11:40 +02:00
prog-mode.el Prefer defvar-keymap in several cases 2022-09-13 15:05:38 +02:00
project.el Fix project-remember-projects-under when recursing 2022-09-10 14:57:48 +02:00
prolog.el Make point-at-eol and point-at-bol obsolete 2022-08-23 04:54:57 +02:00
ps-mode.el Make ps-mode-version variable obsolete 2022-08-13 13:10:41 +02:00
python.el Revise the toggle scheme of tree-sitter (again) 2022-10-19 16:44:04 -07:00
ruby-mode.el Make point-at-eol and point-at-bol obsolete 2022-08-23 04:54:57 +02:00
scheme.el
sh-script.el New Flymake backend using the shellcheck program 2022-09-24 09:59:51 +02:00
simula.el
sql.el Make some defcustom types more restrictive 2022-07-05 18:33:29 +02:00
subword.el Prefer defvar-keymap in several cases 2022-09-13 15:05:38 +02:00
tcl.el Prefer defcustom :safe to putting 'safe-local-variable' 2022-07-06 20:50:42 +02:00
ts-mode.el Revise the toggle scheme of tree-sitter (again) 2022-10-19 16:44:04 -07:00
vera-mode.el
verilog-mode.el Make point-at-eol and point-at-bol obsolete 2022-08-23 04:54:57 +02:00
vhdl-mode.el Make point-at-eol and point-at-bol obsolete 2022-08-23 04:54:57 +02:00
which-func.el Make which-func-mode output less junk 2022-08-08 14:32:33 +02:00
xref.el * lisp/progmodes/xref.el: Bump the version. 2022-09-12 00:45:37 +03:00
xscheme.el Fix namespace problems in xscheme.el 2022-08-05 13:04:42 +02:00