Я пытаюсь выполнить следующий отступ в emacs:
class A
{
// I ALWAYS use access labels in classes
public: // access-label
int member; // inclass
};
struct B
{
// I NEVER use access labels in structs
int member; // inclass
};
Однако со следующим конфигурационным файлом...
(defun my-cpp-mode ()
"My C++ mode"
(c++-mode)
(c-set-style "K&R")
(setq c-basic-offset 4)
(c-set-offset 'access-label '-)
(c-set-offset 'inclass '++)
;; ...
(setq mode-name "My C++")
)
(add-to-list 'auto-mode-alist '("\\.[ch]p?p?\\'" . my-cpp-mode))
... Я достигаю только:
class A
{
public: // access-label
int member; // inclass
};
struct B
{
// this indentation is too long
int member; // inclass
};
Конечно, потому что:
- для отступа, очевидно, нет разницы между "классом" и "структурой" (все это "класс" ),
- отступы данных "inclass" не зависят от наличия меток доступа или нет.
Любая идея о том, как я могу сделать отступы в классе inclass, зависящем либо от класса/структуры, либо от наличия меток доступа?