]> git.eshelyaron.com Git - emacs.git/commitdiff
Align C++ access specifiers to their enclosing class/struct/union
authorDaniel Martín <mardani29@yahoo.es>
Sun, 11 Dec 2022 14:57:43 +0000 (15:57 +0100)
committerYuan Fu <casouri@gmail.com>
Mon, 12 Dec 2022 23:08:54 +0000 (15:08 -0800)
(bug#59966)

The default style in c++-mode aligns access specifiers like "private",
"public" or "protected" to their enclosing class, struct, or union.
The "ellemtel" style indents access specifiers, but this C++ style is
not supported by c++-ts-mode yet.

* lisp/progmodes/c-ts-mode.el (c-ts-mode--indent-styles): Align access
specifiers to their enclosing class/struct/union.

lisp/progmodes/c-ts-mode.el

index deba83641b2a4a6e456cae931d6180f517dd3c03..4cf06e10ebf5a02dd83dd165bf5f43205e6b16a8 100644 (file)
@@ -120,6 +120,8 @@ MODE is either `c' or `cpp'."
            ((query "(call_expression arguments: (_) @indent)") parent c-ts-mode-indent-offset)
            ((parent-is "call_expression") parent 0)
            ((parent-is "enumerator_list") parent-bol c-ts-mode-indent-offset)
+           ,@(when (eq mode 'cpp)
+               '(((node-is "access_specifier") parent-bol 0)))
            ((parent-is "field_declaration_list") parent-bol c-ts-mode-indent-offset)
            ((parent-is "initializer_list") parent-bol c-ts-mode-indent-offset)
            ((parent-is "if_statement") parent-bol c-ts-mode-indent-offset)