Подтвердить что ты не робот

Запретить отступ в пространстве имен С++ в 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 . -))))
4b9b3361

Ответ 1

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

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

Из Джейсон Чжан ответ. Здесь работает.