HS-Minor-ModeをEMACSのPHPモードで自動的にロードするにはどうすればよいですか?
質問
私のお気に入りのモードでは、次のスニペットを使用して、スタートアップにHS-Minor-Modeをロードします。
(add-hook '____-mode-hook 'hs-minor-mode)
これまでのところ、CSS-Mode、Perl-Mode、SH-Mode(Bash)、およびLisp-Modeで作業しています。しかし、何らかの理由で、手動でロードできる場合でも、PHPモードにロードされません。
これが私のPHPモード設定です:
(defun php-overload-keys ()
(let ((map php-mode-map))
(define-key map "\t" 'dumb-indent-relative)
(define-key map "\177" 'backward-delete-char)
(define-key map "," nil)
(define-key map ";" nil)
(define-key map ":" nil)
(define-key map "*" nil)
(define-key map "{" nil)
(define-key map "}" nil)
(define-key map "(" nil)
(define-key map ")" nil)
(define-key map "/" nil)
(use-local-map map)))
(add-hook 'php-mode-hook 'php-overload-keys)
(add-hook 'php-mode-hook 'hs-minor-mode)
私は何か間違ったことをしていますか? HS-Minor-Modeを関数でラッピングしようとしましたが、それでもロードされません。ただし、私の過負荷のキーはそうします。どうしたんだ?
解決
モード関数は通常、数値引数を受け入れてそれらを有効/無効にし、引数が提供されない場合はトグルとして機能するため、一般的なルールとして使用する必要があります。
(add-hook 'php-mode-hook (lambda () (hs-minor-mode 1)))
他のヒント
一般的にお勧めします
(add-hook 'prog-mode-hook #'(lambda () (hs-minor-mode t)))
なぜなら hideshow
PHP固有のモードではありません。
所属していません StackOverflow