подсветка синтаксиса emacs для зазубрин / ошибок

Существуют ли пакеты для выделения цветом зазубрин и файлов моделей ошибок? У меня установлен ESS, но он, похоже, не распознает файлы .bug или синтаксис заусенцев / ошибок из коробки.


person daj    schedule 02.07.2012    source источник
comment
Вы пробовали M-x ess-jags-mode в файле своей модели? (или см. справку ESS о том, как обрабатывать файл JAGS)   -  person chl    schedule 03.07.2012
comment
Странно, эта команда для меня не определена, она была добавлена ​​в самую последнюю версию ess?   -  person daj    schedule 03.07.2012


Ответы (1)


Подсветка синтаксиса

Я использую ESS 5.14 (от ELPA), и подсветка синтаксиса или умное подчеркивание у меня отлично работает с GNU Emacs 24.1.1. Если вы хотите выделить данный файл, вы можете попробовать M-x ess-jags-mode или добавить ловушку, чтобы каждый раз выделять файл JAGS, например

(add-to-list 'auto-mode-alist '("\\.jag\\'" . jags-mode))

Однако в этом нет необходимости, так как вы можете просто

(require 'ess-jags-d)

в вашем .emacs. Для файла BUGS есть соответствующий режим. Этот файл уже был включен в более раннюю версию (по крайней мере, 5.13), и он поставляется с соответствующим auto-mode-alist (для расширения "\\.[jJ][aA][gG]\\'").
(Обратите внимание, что существует тонкая проблема с использованием как JAGS, так и BUGS, но я не могу сказать больше, потому что я использую только JAGS.)

Запуск командного файла

Если вы хотите использовать Emacs для запуска JAGS (т.е. вместо rjags или другие интерфейсы R для JAGS / BUGS), нужно знать только одну команду: как описано в ESS manual, при работе с командным файлом C-c C-c должен создать .jmd файл, а затем C-c C-c'ing снова должен отправить этот командный файл в Emacs *shell* (в новом буфере), и вызов jags в пакетном режиме. Внутри эта команда связана с инструкцией «Следующее действие» (ess-*-next-action). Например, используя данные мышей, которые поставляются с файлами примеров JAGS, вы должны получить mice.jmd, который выглядит так:

model in "mice.jag"
data in "mice.jdt"
compile, nchains(1)
parameters in "mice.in1", chain(1)
initialize
update 10000
update 10000
#
parameters to "mice.to1", chain(1)
coda \*, stem("mice")
system rm -f mice.ind
system ln -s miceindex.txt mice.ind
system rm -f mice1.out
system ln -s micechain1.txt mice1.out
exit
Local Variables:
ess-jags-chains:1
ess-jags-command:"jags"
End:

Будьте осторожны с именами файлов по умолчанию! Здесь предполагается, что данные находятся в файле mice.jdt, а начальные значения параметров - в mice.in1. Вы можете изменить это в буфере Emacs, если хотите, а также изменить количество используемых цепочек.

person chl    schedule 03.07.2012