Wie kann ich HS-Minor-Mode dazu bringen, automatisch auf PHP-Modus in EMACs zu laden?

StackOverflow https://stackoverflow.com/questions/4767557

  •  16-10-2019
  •  | 
  •  

Frage

Für meine Lieblingsmodi verwende ich das folgende Snippet, um HS-Minor-Modus beim Start zu laden:

(add-hook '____-mode-hook 'hs-minor-mode)

Bisher arbeitet es an CSS-Mode, Perl-Mode, SH-Mode (Bash) und Lisp-Mode. Aber aus irgendeinem Grund wird es nicht für PHP-Mode geladen, auch wenn ich es manuell laden kann.

Hier sind meine PHP-Mode-Einstellungen:

(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)

Mache ich etwas falsch? Ich habe versucht, den HS-Minor-Modus in eine Funktion einzuwickeln, und es wird immer noch nicht geladen. Meine überlasteten Schlüssel tun dies jedoch. Was ist das Problem?

War es hilfreich?

Lösung

Modusfunktionen akzeptieren normalerweise ein numerisches Argument, um sie zu aktivieren/zu deaktivieren, und wirken als Umschaltungen, wenn kein Argument geliefert wird. In der Regel sollten Sie daher verwenden:

(add-hook 'php-mode-hook (lambda () (hs-minor-mode 1)))

Andere Tipps

Im Allgemeinen würde ich empfehlen

(add-hook 'prog-mode-hook #'(lambda () (hs-minor-mode t)))

weil die hideshow ist kein PHP-spezifischer Modus.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top