Подавить отступ в пространстве имен c ++ в emacs

Возможный дубликат:
Emacs — переопределить отступ

Я хочу, чтобы emacs не делал отступ в коде внутри пространства имен

namespace a_namespace{

// no indentation
int namespace_global_variable;// no indentation
class Class {
// comment
Class();
//...
};

// and so on}

Когда я попытался изменить innamespace переменная или использование C-c C-o чтобы изменить отступ в интересующем пункте, я не получаю желаемого эффекта (фактически последний убил все отступы внутри функций).

Моя конфигурация отступов выглядит следующим образом (скопировано из конфигурации Google emacs):

(c-offsets-alist . ((arglist-intro vista-c-lineup-expression-plus-4)
(func-decl-cont . ++)
(member-init-intro . +)
(inher-intro . ++)
(comment-intro . 0)
(arglist-close . c-lineup-arglist)
(topmost-intro . 0)
(block-open . 0)
(inline-open . 0)
(substatement-open . 0)
(statement-cont
.
(,(when (fboundp 'c-no-indent-after-java-annotations)
'c-no-indent-after-java-annotations)
,(when (fboundp 'c-lineup-assignments)
'c-lineup-assignments)
++))
(label . /)
(case-label . +)
(statement-case-open . +)
(statement-case-intro . +) ; case w/o {
(access-label . /)
(innamespace . -))))

13

Решение

(defconst my-cc-style
'("cc-mode"(c-offsets-alist . ((innamespace . [0])))))

(c-add-style "my-cc-mode" my-cc-style)

От Джейсон Чжан«s ответ. Работает здесь.

12

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]