(autoload 'po-mode "po-mode" "Major mode for translators to edit PO files" t) (setq auto-mode-alist (cons '("\\.po\\'\\|\\.po\\." . po-mode) auto-mode-alist)) (require 'php-mode) (add-to-list 'auto-mode-alist '("\\.dist\\'" . php-mode)) (add-to-list 'auto-mode-alist '("\\.phpt\\'" . php-mode)) (autoload 'javascript-mode "javascript" nil t) (add-to-list 'auto-mode-alist (cons "\\.js\\'" 'javascript-mode)) (global-set-key "\C-l" 'goto-line) (c-add-style "horde" '((c-basic-offset . 4) (c-tab-always-indent . t) (indent-tabs-mode . nil) (fill-column . 79) (c-offsets-alist . ((inline-open . 0) (defun-block-intro . +) (block-open . -) (statement-cont . +) (statement-block-intro . +) (arglist-close . 0))) (c-comment-only-line-offset (0 . 0)) (c-hanging-braces-alist . ((defun-open after) (substatement-open after))) (c-cleanup-list . (brace-else-brace brace-elseif-brace)))) (add-hook 'php-mode-common-hook '(lambda () (c-set-style "horde")))
Gunnar keeps his Emacs configuration in a puppet configuration repository on github.com. It contains lisp functionality to run code checks, style checking, the GEBEN debugger and PHPUnit tests from within Emacs.