Tweak BSD style indentation (bug#60984)
* lisp/progmodes/c-ts-mode.el (c-ts-mode--indent-styles): Simplify rules. * test/lisp/progmodes/c-ts-mode-resources/indent-bsd.erts: New testfile with bsd style indentation examples. * test/lisp/progmodes/c-ts-mode-tests.el (c-ts-mode-test-indentation-bsd): Add a test for the new style.
This commit is contained in:
parent
204519a2e7
commit
808e101fab
3 changed files with 101 additions and 0 deletions
|
@ -237,6 +237,10 @@ MODE is either `c' or `cpp'."
|
|||
((node-is "labeled_statement") point-min 0)
|
||||
,@common)
|
||||
(bsd
|
||||
((node-is "}") parent-bol 0)
|
||||
((node-is "labeled_statement") parent-bol c-ts-mode-indent-offset)
|
||||
((parent-is "labeled_statement") parent-bol c-ts-mode-indent-offset)
|
||||
((parent-is "compound_statement") parent-bol c-ts-mode-indent-offset)
|
||||
((parent-is "if_statement") parent-bol 0)
|
||||
((parent-is "for_statement") parent-bol 0)
|
||||
((parent-is "while_statement") parent-bol 0)
|
||||
|
|
93
test/lisp/progmodes/c-ts-mode-resources/indent-bsd.erts
Normal file
93
test/lisp/progmodes/c-ts-mode-resources/indent-bsd.erts
Normal file
|
@ -0,0 +1,93 @@
|
|||
Code:
|
||||
(lambda ()
|
||||
(setq indent-tabs-mode nil)
|
||||
(setq c-ts-mode-indent-offset 2)
|
||||
(setq c-ts-mode-indent-style 'bsd)
|
||||
(c-ts-mode)
|
||||
(indent-region (point-min) (point-max)))
|
||||
|
||||
Point-Char: |
|
||||
|
||||
Name: Basic
|
||||
|
||||
=-=
|
||||
int
|
||||
main (void)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
=-=-=
|
||||
|
||||
Name: Hanging Braces
|
||||
|
||||
=-=
|
||||
int
|
||||
main (void)
|
||||
{
|
||||
if (true)
|
||||
{
|
||||
|
|
||||
}
|
||||
}
|
||||
=-=-=
|
||||
|
||||
Name: Labels
|
||||
|
||||
=-=
|
||||
int
|
||||
main (void)
|
||||
{
|
||||
label:
|
||||
return 0;
|
||||
if (true)
|
||||
{
|
||||
label:
|
||||
return 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (true)
|
||||
{
|
||||
label:
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
=-=-=
|
||||
|
||||
Name: If-Else
|
||||
|
||||
=-=
|
||||
int main()
|
||||
{
|
||||
if (true)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
=-=-=
|
||||
|
||||
Name: Empty Line
|
||||
=-=
|
||||
int main()
|
||||
{
|
||||
|
|
||||
}
|
||||
=-=-=
|
||||
|
||||
Name: Consecutive blocks (bug#60873)
|
||||
|
||||
=-=
|
||||
int
|
||||
main (int argc,
|
||||
char *argv[])
|
||||
{
|
||||
{
|
||||
int i = 0;
|
||||
}
|
||||
}
|
||||
=-=-=
|
|
@ -27,6 +27,10 @@
|
|||
(skip-unless (treesit-ready-p 'c))
|
||||
(ert-test-erts-file (ert-resource-file "indent.erts")))
|
||||
|
||||
(ert-deftest c-ts-mode-test-indentation-bsd ()
|
||||
(skip-unless (treesit-ready-p 'c))
|
||||
(ert-test-erts-file (ert-resource-file "indent-bsd.erts")))
|
||||
|
||||
(ert-deftest c-ts-mode-test-filling ()
|
||||
(skip-unless (treesit-ready-p 'c))
|
||||
(ert-test-erts-file (ert-resource-file "filling.erts")))
|
||||
|
|
Loading…
Add table
Reference in a new issue