Подсветка синтаксиса для Perl в Emacs не работает, есть ли исправление?

Я программист на Perl и новый пользователь emacs. Я под Windows, использую cperl-mode для редактирования perl. Версия Emacs - 24.2.1. Вот скриншот с некоторым примером кода:

http://breqwas.net/dropbox/perlsyn_emacs.png

Очевидная ошибка: она выделяет массивы, хэши и буквенные значения без кавычек в (a => "b") списках стилейвнутри комментарииЕще одна ошибка: он выделяет первое слово в регулярном выражении в виде массива из-за нестандартного символа кавычкиНе ошибка, но выглядит странно: он подсвечивает массивы и хэши в любое время, когда они используются (даже в комментариях, да), но скаляры подсвечиваются только при объявленииНе ошибка, но выглядит странно: та же история с функциями: подсвечивается при объявлении, а не при вызовеНе ошибка, но выглядит странно: почему «print», «say» и «system» имеют разные цвета?

Я мог бы продолжать, но я надеюсь, что это довольно хорошо объясняет слово «сломанный».

Затем я изучил волшебную комбинацию клавиш C-u C-x =, которая показывает, помимо прочего, свойства текста для текста под курсором, надеясь создать лучшую собственную схему раскраски. На этом этапе это стало иметь еще меньше смысла.

«печать» имеетcperl-nonoverridable-лицо, "умереть" имеетшрифта блокировки ключевых слов лицо, Между тем, оба являются функциями и могут быть (и часто) переопределены. "система" имеетшрифт блокировка типа лицо, Почему? Объявления функций имеютшрифт-замок-имя-функции-лица - все в порядке, но так же как и аргументы «использования». Почему? Вызовы функций и скаляры вообще не имеют свойства лица и не могут быть выделены. Почему? И т. Д. И т. Д. Снова, я мог продолжать идти.

Есть ли способ исправить все это? Есть ли какой-нибудь конфиг, где я могу переназначить лексические единицы на некоторые другие шрифтовые грани или каким-то другим способом сделать синтаксическую подсветку менее сумасшедшей?

Чтобы избежать разговора «perl is unparsible», вот скриншот редактора, с которого я перехожу, с тем же кодом:http://breqwas.net/dropbox/perlsyn_pn.png, Выглядит гораздо разумнее.

Upd: К настоящему времени (через 3 недели после того, как задал этот вопрос здесь), я не нашел лекарство. Все программисты на Perl, которые используют emacs, я знаю, просто игнорируют эти проблемы. Похоже, что для emacs не существует более качественных подсветок perl. Чтение документов в режиме cperl дает некоторые объяснения (выбор лиц для различных элементов теперь кажется менее сумасшедшим), но не дает никаких ответов. Я написал электронное письмо сопровождающему cperl-mode с этими вопросами и дальнейшими поисками, но не получил ответа.

Да, вы правильно поняли: кажется, что сообщество emacs не смогло сделать хорошую подсветку синтаксиса perl за 25 лет, что perl есть. Это грустная история.

Ответы на вопрос(2)

Ваш ответ на вопрос