| Top >> Matlab >> MuleのMatlab mode用Lispソース | ||||||
UNIX 上で Matlab ファイルを編集する時、自分はいつも Mule を使うのですが、 Mule 上では Matlab に標準で添付されているエディタである M-Edit の様な カラフルな表示 が出来なくて、いつも使う気が半減していたので、一念発起して Matlab mode というのを作って、 Mule 上でもカラフルなソースの表示が出来る様にしました。 |
| [ A ] | ソースを画面に表示 | ソースをダウンロード |
|---|
[ B ] matlab.el.1.10.1 の、 hilit19 の部分のみをカスタマイズしたソース
| [ B ] | ソースを画面に表示 | ソースをダウンロード |
|---|
[ A ] の設定方法
(autoload 'matlab-mode "matlab" "Enter Matlab mode." t)
(setq auto-mode-alist (cons '("\\.m\\'" . matlab-mode) auto-mode-alist))
(setq load-path (cons "/home/hoge/lib" load-path))
(cond (window-system
(setq hilit-mode-enable-list 'nil
hilit-background-mode 'light
hilit-inhibit-hooks nil
hilit-inhibit-rebinding nil)
(require 'hilit19)
(hilit-lookup-face-create 'green4)
(hilit-translate comment 'green4)
(hilit-lookup-face-create 'tomato1)
(hilit-translate formula 'tomato1)
))
[ B ] の設定方法
(autoload 'matlab-mode "matlab" "Enter Matlab mode." t)
(autoload 'matlab-shell "matlab" "Interactive Matlab mode." t)
(setq auto-mode-alist (cons '("\\.m\\'" . matlab-mode) auto-mode-alist))
(setq load-path (cons "/home/hoge/lib" load-path))
(add-hook 'matlab-mode-hook '(lambda ()
(turn-on-auto-fill)
(setq matlab-indent-level 3)
(setq matlab-indent-function t)
(setq fill-column 93)
(setq tab-width 3)
(auto-fill-mode nil)
(setq indent-tabs-mode t)))
(add-hook 'matlab-shell-mode-hook '(lambda () ))
(cond ((and window-system (= emacs-major-version 20)) ; Emacs20, Meadow
(defface font-lock-comment-face ; コメント文
'((((class grayscale) (background light)) (:foreground "DimGray" :bold t :italic t))
(((class grayscale) (background dark)) (:foreground "LightGray" :bold t :italic t))
(((class color) (background light)) (:foreground "green4")) ; FireBrick
(((class color) (background dark)) (:foreground "OrangeRed"))
(t (:bold t :italic t))) "Font Lock mode face used to highlight comments."
:group 'font-lock-highlighting-faces)
(defface font-lock-string-face ; 引用文
'((((class grayscale) (background light)) (:foreground "DimGray" :italic t))
(((class grayscale) (background dark)) (:foreground "LightGray" :italic t))
(((class color) (background light)) (:foreground "tomato3")) ; RosyBrown
(((class color) (background dark)) (:foreground "LightSalmon"))
(t (:italic t))) "Font Lock mode face used to highlight strings."
:group 'font-lock-highlighting-faces)
(defface font-lock-keyword-face ; if や end 等
'((((class grayscale) (background light)) (:foreground "LightGray" :bold t))
(((class grayscale) (background dark)) (:foreground "DimGray" :bold t))
(((class color) (background light)) (:foreground "blue")) ; Purple
(((class color) (background dark)) (:foreground "Cyan"))
(t (:bold t))) "Font Lock mode face used to highlight keywords."
:group 'font-lock-highlighting-faces)
(defface font-lock-type-face ; Figure や Line , Surface 等
'((((class grayscale) (background light)) (:foreground "Gray90" :bold t))
(((class grayscale) (background dark)) (:foreground "DimGray" :bold t))
(((class color) (background light)) (:foreground "ForestGreen"))
(((class color) (background dark)) (:foreground "PaleGreen"))
(t (:bold t :underline t))) "Font Lock mode face used to highlight type and classes."
:group 'font-lock-highlighting-faces)
(defface font-lock-function-name-face ; function name 等
'((((class color) (background light)) (:foreground "Blue"))
(((class color) (background dark)) (:foreground "LightSkyBlue"))
(t (:inverse-video t :bold t)))
"Font Lock mode face used to highlight function names."
:group 'font-lock-highlighting-faces)
(defface font-lock-variable-name-face ; function の括弧内の変数等
'((((class grayscale) (background light))
(:foreground "Gray90" :bold t :italic t))
(((class grayscale) (background dark))
(:foreground "DimGray" :bold t :italic t))
(((class color) (background light)) (:foreground "DarkGoldenrod"))
(((class color) (background dark)) (:foreground "LightGoldenrod"))
(t (:bold t :italic t))) "Font Lock mode face used to highlight variable names."
:group 'font-lock-highlighting-faces)
(global-font-lock-mode t)) ; Font-Lock-Mode の導入
((and window-system (= emacs-major-version 19)) ; Emacs19, Mule for Win
(font-lock-mode 1)
(add-hook 'matlab-mode-hook '(lambda () (matlab-mode-hilit)))))
(cond (window-system
(setq hilit-mode-enable-list 'nil
hilit-background-mode 'light
hilit-inhibit-hooks nil
hilit-inhibit-rebinding nil)
(require 'hilit19)
(hilit-lookup-face-create 'green4)
(hilit-translate comment 'green4)
(hilit-lookup-face-create 'tomato1)
(hilit-translate formula 'tomato1)
))