Files
emacs/test/lisp
Yuan Fu 87d39a30b1 Fix c-ts-mode indentation
Sign, ok, there's another edge case: else if statements.  Because
"else if" is usually implemented as just another if statement nested
in the else branch, this creates additional levels that indentation
needs to ignore.

I converted c-ts-common-indent-block-type-regexp +
c-ts-common-indent-bracketless-type-regexp into a new, more flexible
variable, c-ts-common-indent-type-regexp-alist, to avoid adding yet
more variables in order to recognize else and if statements.

* lisp/progmodes/c-ts-common.el:
(c-ts-common-indent-type-regexp-alist): New variable.
(c-ts-common-indent-block-type-regexp)
(c-ts-common-indent-bracketless-type-regexp): Remove variables.
(c-ts-common--node-is): New function.
(c-ts-common-statement-offset): Use the new variable, and add the
"else if" special case.  Also merge the code of
c-ts-mode--fix-bracketless-indent, because now the code is much more
succinct.
(c-ts-mode--fix-bracketless-indent): Merge into
c-ts-common-statement-offset.

* lisp/progmodes/c-ts-mode.el:
(c-ts-base-mode): Setup c-ts-common-indent-type-regexp-alist.

* test/lisp/progmodes/c-ts-mode-resources/indent.erts: New test.
2023-02-06 18:29:38 -08:00
..
2023-01-01 05:31:12 -05:00
2023-01-01 05:31:12 -05:00
2023-01-01 05:31:12 -05:00
2023-01-01 05:31:12 -05:00
2023-01-01 05:31:12 -05:00
2023-01-01 05:31:12 -05:00
2023-01-01 05:31:12 -05:00
2023-01-01 05:31:12 -05:00
2023-01-21 12:04:50 +01:00
2023-01-01 05:31:12 -05:00
2023-01-01 05:31:12 -05:00
2023-01-01 05:31:12 -05:00
2023-01-01 05:31:12 -05:00
2023-02-06 18:29:38 -08:00
2023-01-01 05:31:12 -05:00
2023-01-01 05:31:12 -05:00
2023-01-01 05:31:12 -05:00
2023-01-01 05:31:12 -05:00
2023-01-01 05:31:12 -05:00
2023-01-01 05:31:12 -05:00
2023-01-01 05:31:12 -05:00
2023-01-01 05:31:12 -05:00
2023-01-01 05:31:12 -05:00
2023-01-01 05:31:12 -05:00
2023-01-01 05:31:12 -05:00
2023-01-01 05:31:12 -05:00
2023-01-01 05:31:12 -05:00
2023-01-01 05:31:12 -05:00
2023-01-01 05:31:12 -05:00
2023-01-01 05:31:12 -05:00
2023-01-01 05:31:12 -05:00
2023-01-01 05:31:12 -05:00
2023-01-01 05:31:12 -05:00
2023-01-01 05:31:12 -05:00
2023-01-01 05:31:12 -05:00
2023-01-01 05:31:12 -05:00
2023-01-01 05:31:12 -05:00
2023-01-01 05:31:12 -05:00
2023-01-01 05:31:12 -05:00
2023-01-01 05:31:12 -05:00
2023-01-01 05:31:12 -05:00
2023-01-01 05:31:12 -05:00
2023-01-01 05:31:12 -05:00
2023-01-01 05:31:12 -05:00
2023-01-01 05:31:12 -05:00
2023-01-01 05:31:12 -05:00
2023-01-01 05:31:12 -05:00
2023-01-01 05:31:12 -05:00
2023-01-01 05:31:12 -05:00
2023-01-01 05:31:12 -05:00
2023-01-01 05:31:12 -05:00
2023-01-01 05:31:12 -05:00
2023-01-01 05:31:12 -05:00
2023-01-01 05:31:12 -05:00
2023-01-01 05:31:12 -05:00
2023-01-01 05:31:12 -05:00
2023-01-01 05:31:12 -05:00
2023-01-01 05:31:12 -05:00
2023-01-01 05:31:12 -05:00
2023-01-01 05:31:12 -05:00
2023-01-01 05:31:12 -05:00
2023-01-06 10:06:25 +01:00
2023-01-01 05:31:12 -05:00
2023-01-01 05:31:12 -05:00
2023-01-01 05:31:12 -05:00