etc/プログラムなど/th10hint-mode for xyzzy

Last-modified: 2012-01-11 (水) 01:18:08

th10hint-mode は xyzzy で東方風神録の攻略ヒントファイルを閲覧・編集するためのメジャーモードです。
色分け、オートインデント、補完、StageとTips一覧の表示(とジャンプ)、などができます。
最終的には整形や文法チェック機能を持たせたいですが、はてさて…。

スクリーンショット

クリックで原寸表示

色分けStage&Tips一覧
hint_auto.txt を開いたところ恥の多い生涯を送って来ました

使い方等

インストール

インストール方法は他の配布されているメジャーモードとそう違いはないので、説明不足なところは適当にやっといてください。

解凍されてできたetcフォルダとsite-lispフォルダを$XYZZY/にコピーしてください。

.xyzzy または siteinit.l に記述

;; th10hint-mode
(require "th10hint-mode")
;; 攻略ヒントファイルを開いたら自動的にth10hint-modeを適用
(push '("\\<hint_\\(auto\\|user\\)\\.txt$" . th10hint-mode) *auto-mode-alist*)
;; これも追加すれば確実かも知れない。しかし無関係のファイルにも適用されてしまう可能性あり
(add-hook '*find-file-hooks*
          #'(lambda ()
              (save-excursion
                (goto-char (point-min))
                (when (scan-buffer "^[ \t]*Stage[ \t]*:[ \t]*[1-7][ \t]*\\(#\\|$\\)"
                                   :regexp t :case-fold t :limit (+ (point) 1000))
                  (th10hint-mode)))))
;; th10-hint-modeでのタブ幅を4に
(add-hook '*th10hint-mode-hook*
          #'(lambda ()
              (set-tab-columns 4 (selected-buffer))))

実行

M-x th10hint-mode

キーバインド

TAB
インデント
RET
インデント&改行->インデント
:
=
自動で前後の空白を補完
C-M-q
カーソル位置のブロック全体のインデント
C-Delete
カーソル位置のブロックの削除
C-PageUp
前のブロックの先頭に移動
C-PageDown
次のブロックの先頭に移動
S-C-PageUp
前のStageの先頭に移動
S-C-PageUp
次のStageの先頭に移動
C-7
StageとTipsの一覧を表示
ESC TAB
C-.
カーソル位置に応じた補完

更新履歴

2007/09/29 v0.01
  • グローバル変数と関数に簡単な説明を加えた
  • 構文解析(と呼ぶのは大げさ)を少し厳密にした
  • Scale値にも補完候補を出すようにした
  • ほかいろいろ
2007/08/06 v0.00
  • 初版