;; load from ~/site-lisp/php-mode.el
;(load "~/site-lisp/php-mode.el")
(autoload 'php-mode "php-mode" "PHP mode" t)
;; phpでのアウトラインモード (outline-mode)
(defun php-outline-level ()
(save-excursion
(looking-at outline-regexp)
(let ((title (buffer-substring (match-beginning 1) (match-end 1))))
(cond ((equal (substring title 0 2) "") 0)
((equal (substring title 0 6) "public") 1)
((equal (substring title 0 7) "private") 1)
((equal (substring title 0 8) "function") 1)
((equal (substring title 0 5) "class") 1)
((equal (substring title 0 2) "**") 15)
(t (length title))))))
;; PEARコーディング規約
(custom-set-variables '(php-mode-force-pear t))
(add-hook
'php-mode-hook
'(lambda ()
(setq outline-level 'php-outline-level)
(setq outline-regexp "^[ \t]*\\(<\\?\\|\\?>\\|public\\|private\\|class\\|function\\|/\\*\\*\\)")
(outline-minor-mode t)
))
2008-06-30
Carbon Emacsのphp-mode.elとmumamo
かなり以前に「Carbon Emacsでmumamoとphp-modeをうまく連携できない」と叫んでいたが、なんとか解決できた。解決できたと言っても、「やっぱり、僕ってお間抜けね。てへ。」みたいな感じ。結論から言うと、本家のphp-modeを使ってはいたのが原因ぽい。あと、この記事で言及しているCarbon Emacsは2008年春版ね。
Carbon EmacsにはnXhtml modeが最初からインストールされていて、設定までがすんでいる。で、nXhtml modeにはmumamoに適応した、というよりもnXhtml modeに最適化されたphp-modeが入っている。ちなみに、nXml modeに付属しているphp-modeのバージョンは1.4.1-nxhtmlで本家で配布しているバージョンは1.4.0だった。
というわけで、自前の環境にあるphp-mode.elを読み込まずに、nXhtml modeに付属しているphp-mode.elを読み込むようにしたら問題は解決。mumamoも問題なく有効になって、幸せなphp開発環境が手に入りましたとさ。ちなみに、php-mode.elは1.4.0からmumamoなどの複数メジャーモードを1つのバッファで扱える環境を作っておかないと文句を言います。
自分のメモとして現状のphp-mode用の設定を書いときます。
登録:
投稿 (Atom)