LINUX.ORG.RU

Ответ на: комментарий от Virtuos86

Перл трансцендировал и теперь он пишет на похапе-обезьянах.

mos ★★☆☆☆
()
Ответ на: комментарий от anonymous

flycheck староват.

Доклад я видел

pinachet ★★★★★
() автор топика

Уровня IDE ты в Emacs для перла не добьешься. Но можешь максимально к этому приблизиться (в некоторых местах фичи будут круче чем в IDE) с помощью плагинов: https://www.emacswiki.org/emacs/PerlLanguage

Я сам использую штатный режим для перла: cperl-mode (https://www.emacswiki.org/emacs/CPerlMode). Мне его хватает с головой: подсветка синтаксиса, автоиндент региона и файла целиком, проверка на синтаксические ошибки (я думаю, под капотом там perl -c) + автоматическая проверка на правила PBP (подхватывает конфиг .perlcritic в домашней директории), автозакрытие скобочек, автосниппеты для условных операторов и циклов.

Но это далеко не все возможности мода cperl. С другуми настройками мне лень было возиться.

Кусок моего emacs-конфига, отвечающего за Perl5:

;;
;; Perl
;;
(add-to-list 'auto-mode-alist '("\\.\\([pP][Llm]\\|al\\)\\'" . cperl-mode)) ;; Auto associate with cperl-mode
(add-to-list 'interpreter-mode-alist '("perl" . cperl-mode))
(add-to-list 'interpreter-mode-alist '("perl5" . cperl-mode))
(add-to-list 'interpreter-mode-alist '("miniperl" . cperl-mode))

(setq cperl-invalid-face nil)    ;; disable errors
(setq cperl-electric-keywords t) ;; expands for keywords such as foreach, while, etc...

;; Autocomplete pairs
(mapc
 (lambda (pair)
   (if (eq (cdr pair) 'perl-mode)
	   (setcdr pair 'cperl-mode)))
 (append auto-mode-alist interpreter-mode-alist))

;; Indentation
(setq cperl-indent-level 4
	  cperl-close-paren-offset -4
	  cperl-continued-statement-offset 4
	  cperl-indent-parens-as-block t
	  cperl-tab-always-indent t)

(add-hook 'cperl-mode-hook
          (lambda()
            (setq tab-width 4)
            (setq indent-tabs-mode nil)
            ))

;; Finding perl modules paths
(defun find-perl-module (module-name)
  (interactive "sPerl module name: ")
  (let ((path (perl-module-path module-name)))
	(if path
		(find-file path)
(error "Module '%s' not found" module-name))))
KernelPanic
()
Последнее исправление: KernelPanic (всего исправлений: 2)
Ответ на: комментарий от beastie

Я пользовался им примерно 5 минут.

Искал как выйти? ;)

Разве у имакса с этим есть какие-то вимопроблемы? Я пробовал гуевый имакс, полагаю, Alt-F4 работает там как и везде.

Virtuos86 ★★★★★
()
Ответ на: комментарий от anonymous

За давностью времени не помню, использовал ли для выхода Alt-F4 или другой способ, поэтому не утверждаю категорично. Не устанавливать же его для проверки.

Virtuos86 ★★★★★
()
Ответ на: комментарий от pinachet

еще бы автодополнения бы

Это сторонний плагин делает - 'auto-complete' :)

(require 'auto-complete-config)
(ac-config-default)

А как там с perl 6 ) ?

Даже не знаю, не интересовался. Думаю, что никак или очень плохо, как и сам Perl6

KernelPanic
()
Последнее исправление: KernelPanic (всего исправлений: 1)
Ответ на: комментарий от pinachet

Ну, очевидно, потому, что Emacs это не IDE и пытаться из него сделать оное - плохая идея.

KernelPanic
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.