Emacs php-mode и paredit - PullRequest
       93

Emacs php-mode и paredit

4 голосов
/ 14 марта 2011

Я хотел бы использовать paredit в сочетании с php-mode, но он не добавляет закрывающую фигурную скобку "}". Может быть, это как-то связано с тем фактом, что электрическая скобка связана с "{"? И как я мог перезаписать это?

Спасибо.

Ответы [ 3 ]

2 голосов
/ 16 марта 2011

Использование paredit - php-mode - плохая идея - в основном оно подходит для редактирования кода на Лиспе. Для разработки общего назначения есть очень хорошая альтернатива - autopair-mode . Он очень прост в использовании и вставляет фигурные скобки, скобки и кавычки аналогично тому, что присутствует в большинстве IDE.

2 голосов
/ 14 марта 2011

Некоторое время назад я написал такую ​​вещь для C, но вы можете легко использовать ее и для PHP:

(define-minor-mode c-helpers-minor-mode
  "This mode contains little helpers for C developement"
  nil
  ""
  '(((kbd "{") . insert-c-block-parentheses))
)

(defun insert-c-block-parentheses ()
  (interactive)
  (insert "{")
  (newline)
  (newline)
  (insert "}")
  (indent-for-tab-command)
  (previous-line)
  (indent-for-tab-command)
  )

(add-hook 'php-mode-hook 'c-helpers-minor-mode)
1 голос
/ 12 апреля 2012

По моему опыту, autopair-mode чувствовал себя крайне вялым, когда было открыто большое количество буферов (плюс, paredit-mode гарантирует, что разделители никогда не несбалансированы, в отличие от autopair-mode). Поэтому, если, как и я, вы абсолютно хотите использовать paredit-mode и больше ничего не подойдет, взгляните на этот ответ . В приведенном там фрагменте elisp просто замените slime-repl-mode-map и slime-repl-mode-hook соответствующими переменными для php (наиболее вероятно, php-mode-map и php-mode-hook)

.
...