hack のためのネタ帳, etc,,,

Multiple Major Mode for Emacs

公式ページ

Tips

終了タグなしのPHP対応
:back のルールを以下のようにすれば良い。
(mmm-add-classes
 '((html-php
    :submode php-mode
    :front "<\\?\\(php\\)?"
    :back "\\?>\\|\\'")))
php-mode 内の TAB キー
インデントが出来ない場合、
以下のスクリプトを追加すると症状が改善するとか。
(defun save-mmm-c-locals ()
(with-temp-buffer
(php-mode)
(dolist (v (buffer-local-variables))
(when (string-match "\\`c-" (symbol-name (car v)))
(add-to-list 'mmm-save-local-variables `(,(car v) nil
,mmm-c-derived-modes))))))

(save-mmm-c-locals)

参考:
クォートの問題
html-mode や xml-mode に php-mode を混ぜていると
「'」(シングルクオーテーション)や「"」(ダブルオーテーション)やが奇数個入っていると、
おかしなところが文字列扱いされてカラーリングされてしまう。
うちだけの問題じゃないと思うのだが、あまり他の人は指摘してないような気がするのは気のせいだろうか?

例えば以下のような状態だと構文のカラーリングが上手く機能してくれない。
...
<h1>I'm a man.</h1>
<?php
  echo "ここうまく色が付かない";
?>
場当たり的だが以下のような方法で回避可能なようだ。
...
<h1>I'm a man.</h1>
<?php // ' コメント内でシングルクォートの個数を調整
  echo "ここれだとうまく色が付いてくれる";
?>
しかしこれはいくら何でも汚過ぎるし、根本的な解決になってない。
mmm-mode の問題なのか php-mode の問題なのか、ひょっとして html-mode, xml-mode の問題なのか?
タグ

コメントをかく


「http://」を含む投稿は禁止されています。

利用規約をご確認のうえご記入下さい

Wiki内検索

フリーエリア

管理人/副管理人のみ編集できます