[Date Prev] [Date Index] [Date Next]
[Thread Prev] [Thread Index] [Thread Next]

[xyzzy:05271] Re: テキストの一部を色付きにするには



どうも林です。

 基本的にはキーワードファイルを用います。例えばJAVAモードであれば
 /etc/JAVA にかかれているキーワードに関しては色が変更されます。

ただ今回は、テキスト文章で自分の好きなキーワードに色を付けたいと言
うことなので、自分専用のキーワードファイルを作られてはいかがでしょ
うか?

 ちょっと現実逃避に自分で書いてみましたが

set-myselfkeyを呼び出していただくと、
/etc/myself
にかかれている物については、キーワードとして色を変えます。
例えばJAVAモードであれば、/etc/JAVAを忘れて、/etc/myselfをキーワー
ドとします。戻すときには、undo-keywordでset-myselfkeyを呼び出した
時のキーワードに戻します。JAVAモードなら/etc/JAVAに戻す。

 ただ、これだと、set-myselfkeyを何度も呼び出すと戻らなくなります
が、いまいち分かりません。たぶんプロの方々が良い手を教えてくれると
思います。
 もし全然見当違いのことでしたら、申し訳ないです。

もし良ければ、使ってみてください。

;; MyKeywordFile (mykey.l)

(in-package "editor")

(export '( set-myselfkey undo-keyword *myself-keyword-file* ))

(defvar *myself-keyword-hash-table* nil)
(defvar *old-keyword-hash-table* nil)
(defvar *myself-keyword-file* "myself")

(defun set-myselfkey ()
  (interactive)
  (and *myself-keyword-file*
       (null *myself-keyword-hash-table*)
       (setq *myself-keyword-hash-table*
       (load-keyword-file *myself-keyword-file*)))
  (when *myself-keyword-hash-table*
    (make-local-variable 'keyword-hash-table)
	(progn (setq *old-keyword-hash-table* keyword-hash-table)
	  (setq keyword-hash-table *myself-keyword-hash-table*))))

(defun undo-keyword ()
  (interactive)
  (reload-keyword-file)
  (when *old-keyword-hash-table*
    (make-local-variable 'keyword-hash-table)
	  (setq keyword-hash-table *old-keyword-hash-table*)))
  



-- 
--------------------------------------------
(株)インテック  システム事業本部
        データウェアシステム部
  開発グループ     林 雅大  (Masahiro.H)
         e-mail: hayashi@xxxxxxxxxxxxxx
 〒136-8637 東京都江東区新砂 1-3-3
 TEL (03)5665-5137  FAX (03)5665-5186
--------------------------------------------
                             (_ _) ZZZzzz....

Index Home