2011-01-22 1 views
2

Pour mes modes préférés, j'utilise l'extrait ci-dessous pour charger hs-mode mineur au démarrage:Comment puis-je charger automatiquement hs-mineur-mode en mode php dans emacs?

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

Jusqu'à présent, il est obtenu à travailler sur css-mode, perl-mode, en mode sh (bash), et le mode Lisp. Mais pour une raison quelconque, il ne se chargera pas en mode php, même si je peux le charger manuellement.

Voilà mes paramètres php-mode:

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

que je fais quelque chose de mal? J'ai essayé d'encapsuler hs-mineur-mode dans une fonction et il ne chargera toujours pas. Mes clés surchargées, cependant, font. Quel est le problème?

Répondre

6

fonctions de mode acceptent généralement un argument numérique pour les activer/désactiver, et agir comme permet de basculer si aucun argument est fourni, donc en règle générale, vous devez utiliser:

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

+0

Génial. * heureusement codefolds * – user572491

0

En général, je recommande

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

parce que le hideshow n'est pas un mode spécifique au PHP.

Questions connexes