Как progmode должен вставить соответствующие строки в compilation-error-regexp-alist? - PullRequest
0 голосов
/ 11 февраля 2010

Я хочу изменить csharp-mode.el , чтобы он включал соответствующее регулярное выражение ошибки (regexi?) Для компилятора .NET csc.exe.

Как должен вести себя хорошо управляемый прогмод?

Ответы [ 2 ]

2 голосов
/ 11 февраля 2010

Хорошо действующий пользователь Emacs, вероятно, должен добавить регулярное выражение к compilation-error-regexp-alist-alist и предоставить патч для Emacs, чтобы он использовался всеми в последующих выпусках.

Переменная, определенная в compile.el и может быть найдена через

M-x find-variable compilation-error-regexp-alist-alist RET

Не думаю, что для основного режима csharp-mode имеет смысл изменить регулярное выражение. Во всяком случае, он должен установить локальное значение compilation-error-regexp-alist, чтобы оно содержало новый символ, который вы добавили в переменную ...-alist-alist.

Тем не менее, он может изменить переменную ...-alist-alist, просто проверив, является ли символ c# (или что вы добавляете) уже частью списка, и добавьте его, если нет. Примечание: compilation-error-regexp-alist определен априори, поэтому вам нужно будет дважды проверить содержимое этой переменной, чтобы убедиться, что она также содержит символ c#.

0 голосов
/ 25 апреля 2010

Вот что я сделал внутри csharp-mode :

(if (boundp 'compilation-error-regexp-alist-alist)
    (progn
      (add-to-list
       'compilation-error-regexp-alist-alist
       '(ms-csharp 
         "^[ \t]*\\([A-Za-z0-9_][^(]*\\.cs\\)(\\([0-9]+\\)[,]\\([0-9]+\\)) ?: \\(error\\|warning\\) CS[0-9]+:" 1 2 3))
      (add-to-list
       'compilation-error-regexp-alist
       'ms-csharp)))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...