1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-06 06:20:55 -08:00
emacs/lisp/progmodes
Yuan Fu e37cd4fa59
Add baseline tree-sitter indent rule for C-like languages
I found a really good baseline indent rule that handles a wide
range of situations very well.  Now major modes can just start
with this rule and add exceptions on top.

This is worth mentioning in the manual, but that'll be a large
change, and doesn't have to be included in this commit.

* lisp/progmodes/c-ts-common.el:

(c-ts-common-list-indent-style): New variable.
(c-ts-common--standalone-parent):
(c-ts-common--prev-standalone-sibling):
(c-ts-common-parent-ignore-preproc):
(c-ts-common-baseline-indent-rule): New function.

* lisp/treesit.el (treesit--indent-prev-line-node): New function.
(treesit-simple-indent-presets): Add new preset.
2024-12-01 17:53:22 -08:00
..
antlr-mode.el
asm-mode.el (asm-mode): Support file-local asm-comment-char (bug#74447) 2024-12-01 18:58:04 -05:00
autoconf.el
bat-mode.el Update Arni Magnusson's email address 2024-10-05 02:30:41 +02:00
bug-reference.el Mark if-let and when-let obsolete 2024-10-24 16:50:07 +08:00
c-ts-common.el Add baseline tree-sitter indent rule for C-like languages 2024-12-01 17:53:22 -08:00
c-ts-mode.el Improve c-ts-mode compound indents (bug#74507) 2024-12-01 17:53:21 -08:00
cc-align.el CC Mode: Parse C++ lambda functions more correctly 2024-09-27 13:42:40 +00:00
cc-awk.el CC Mode: Rationalize and optimize cache invalidation (2). 2024-10-15 21:14:34 +00:00
cc-bytecomp.el
cc-cmds.el
cc-defs.el ; Fix typos 2024-11-21 10:06:19 +01:00
cc-engine.el CC Mode: Optimize scanning of heavily nested brace blocks 2024-12-01 17:30:40 +00:00
cc-fonts.el * lisp/progmodes/cc-langs.el (c-cpp-matchers): Remove an unneeded let*. 2024-10-26 11:01:15 +00:00
cc-guess.el
cc-langs.el CC Mode: correct handling of properties on #include <...> 2024-10-25 20:35:32 +00:00
cc-menus.el
cc-mode.el CC Mode: Optimize scanning of heavily nested brace blocks 2024-12-01 17:30:40 +00:00
cc-styles.el CC Mode: Separate indentation of enums from that of brace lists 2024-09-24 20:45:29 +00:00
cc-vars.el ; * Clean-up compilation warning in cc-vars.el 2024-09-25 10:23:03 +02:00
cfengine.el
cl-font-lock.el
cmacexp.el
cmake-ts-mode.el Set treesit-primary-parser for tree-sitter modes 2024-10-14 20:26:23 -07:00
compile.el Mark if-let and when-let obsolete 2024-10-24 16:50:07 +08:00
cperl-mode.el ; Fix typos 2024-11-21 10:06:19 +01:00
cpp.el
csharp-mode.el Set treesit-primary-parser for tree-sitter modes 2024-10-14 20:26:23 -07:00
cwarn.el
dcl-mode.el Delete redundant mention of `with-eval-after-load' 2024-06-29 21:16:58 +02:00
dockerfile-ts-mode.el Set treesit-primary-parser for tree-sitter modes 2024-10-14 20:26:23 -07:00
ebnf-abn.el
ebnf-bnf.el
ebnf-dtd.el
ebnf-ebx.el
ebnf-iso.el
ebnf-otz.el
ebnf-yac.el
ebnf2ps.el
ebrowse.el ; Fix typos in symbols 2024-06-29 17:29:38 +02:00
eglot.el Mark if-let and when-let obsolete 2024-10-24 16:50:07 +08:00
elisp-mode.el elisp: Fix completion at funpos after empty let bindings form 2024-10-29 01:38:00 +02:00
elixir-ts-mode.el Remove duplicate indent rules in elixir-ts-mode 2024-10-07 17:27:13 -07:00
erts-mode.el Mark if-let and when-let obsolete 2024-10-24 16:50:07 +08:00
etags-regen.el etags-regen-file-extensions: Enable for more extensions 2024-09-23 21:35:19 +03:00
etags.el ; Fix typos 2024-10-27 07:49:32 +01:00
executable.el
f90.el
flymake-cc.el
flymake-proc.el
flymake.el Mark if-let and when-let obsolete 2024-10-24 16:50:07 +08:00
fortran.el Prefer defcustom :local specifier 2024-10-04 01:38:11 +02:00
gdb-mi.el Mark if-let and when-let obsolete 2024-10-24 16:50:07 +08:00
glasses.el
go-ts-mode.el Mark if-let and when-let obsolete 2024-10-24 16:50:07 +08:00
grep.el Mark if-let and when-let obsolete 2024-10-24 16:50:07 +08:00
gud.el Stop highlighting current line when debuggee is running 2024-10-12 15:14:54 +03:00
heex-ts-mode.el Set treesit-primary-parser for tree-sitter modes 2024-10-14 20:26:23 -07:00
hideif.el Don't start docstrings with "This function" 2024-11-01 23:56:12 +01:00
hideshow.el
icon.el
inf-lisp.el ; Fix typos 2024-06-23 16:40:06 +02:00
java-ts-mode.el Revert "Set treesit-primary-parser for tree-sitter modes" 2024-10-08 17:33:11 -07:00
js.el Merge from origin/emacs-30 2024-11-30 06:44:06 -05:00
json-ts-mode.el Set treesit-primary-parser for tree-sitter modes 2024-10-14 20:26:23 -07:00
ld-script.el
lua-ts-mode.el Avoid loading 'rx' at runtime in 'lua-ts-mode' 2024-11-24 10:37:22 +02:00
m4-mode.el
make-mode.el Add functions supported by GNU Make 4.3. 2024-11-09 13:07:26 +02:00
meta-mode.el
mixal-mode.el
modula2.el
octave.el Delete redundant declarations of 'electric' variables 2024-09-21 14:48:02 +02:00
opascal.el
pascal.el Checkdoc fixes in progmodes 2024-07-07 17:46:30 +02:00
peg.el (with-peg-rules): Build proper peg-functions 2024-11-12 23:12:07 -05:00
perl-mode.el Mark if-let and when-let obsolete 2024-10-24 16:50:07 +08:00
php-ts-mode.el Merge from origin/emacs-30 2024-11-30 06:44:06 -05:00
prog-mode.el
project.el project-try-vc: Fix the "sometimes wrong cache" issue 2024-11-01 02:34:36 +02:00
prolog.el
ps-mode.el
python.el ; Fix bootstrap (Bug#74490) 2024-11-23 16:46:30 +01:00
ruby-mode.el Allow to go back to using 'ruby-mode' after loading 'ruby-ts-mode' 2024-11-28 16:55:26 +02:00
ruby-ts-mode.el Merge from origin/emacs-30 2024-11-30 06:44:06 -05:00
rust-ts-mode.el Rust ts: fontify as type the possible suffix of number literals 2024-11-23 14:56:38 +02:00
scheme.el ; Fix typos 2024-07-18 11:46:50 +02:00
sh-script.el ; Improve commentary of last change. 2024-11-30 12:34:40 +02:00
simula.el
sql.el Fix case problem with 'sql-magic-go' (bug#73499) 2024-10-13 11:19:02 +02:00
subword.el
tcl.el
typescript-ts-mode.el Merge from origin/emacs-30 2024-11-30 06:44:06 -05:00
vera-mode.el
verilog-mode.el verilog-mode.el: Fix AUTOWIRE etc. range simplification with subtraction of negative number. 2024-10-09 22:34:38 -04:00
vhdl-mode.el (vhdl-run-when-idle): Don't use timer--triggered 2024-07-31 04:52:08 -04:00
which-func.el ; Fix thinko in my last change 2024-05-27 22:39:03 +02:00
xref.el Make Xref commands follow 'display-buffer' customizations 2024-11-27 03:43:22 +02:00
xscheme.el