3.24 VeriPadのカスタマイズ方法

VeriPadを起動し、「表示」 [設定] でダイアログが出現します。「Verilog」をクリックすると下の画面になります。





「編集」をクリックすると設定編集画面となります。

設定の意味は、GreePad添付(typeフォルダのformat.txt)に書いてありますが、再掲します。

Gpにファイルや文字列で指示を与えたいときのフォーマットについて。
 Sep.16.2004 Add Veritak Extension Notes by Tak.Sugawara


★サポートされている正規表現

 c       普通の字は、その文字自身を意味する
 \t      タブ文字
 \w      [0-9a-zA-Z_] と同義。英数字
 \W      [^0-9a-zA-Z_] と同義。英数字以外
 \d      [0-9] と同義。数字
 \D      [^0-9] と同義。数字以外
 \s      [\t ] と同義。空白文字
 \S      [^\t ] と同義。空白文字以外
 \その他 \\ なら \、\[ なら [ という一文字
 ^       行の先頭
 $       行の末尾
 .       任意の一文字
 [...]   [] 内に含まれる任意の1文字。A-Z や あ-ん のような範囲指定も可。
 [^...]  [] 内に含まれない任意の1文字。範囲指定も可。

 r*     正規表現 r を0回以上繰返したもの
 r+     正規表現 r を1回以上繰返したもの
 r?     正規表現 r の0回または1回
 r1r2   正規表現 r1 に続いて r2 が現れることを表す
 r1|r2  正規表現 r1 または r2 を表す
 (r)    正規表現 r を表す.

 例
  第[1-9]号    "第1号"とか"第2号"とかにマッチ
  <[^>]+>      XMLのタグとかにマッチ
  (。|!|?)$    行末の。か!か?にマッチ

 前方参照とか最短一致とか置換に\1とかそういったことは、
 残念ながら一切できません。ゴメンナサイ。



★キーワードファイル(*.kwd) 仕様書

 UCS-2をLittleEndianでベタ書きしたファイルでなければならない。
 改行コードはなんでもいいけど LF にすると若干高速に読めるかも。
 BOMはあってもなくても可。つけておくことを推奨。

 1行目: flag ==========================

  0 or 1 が4つ並ぶ。順に、1ならば
   ・ キーワードは大文字小文字を区別
   ・ '' の中ではコメント記号は無効
   ・ "" の中ではコメント記号は無効
   ・ \ 記号によるエスケープを行う
  を意味する。

 2行目: ブロックコメント開始記号 ======

  /* とかそんな風に書く。
  ブロックコメントを使わないなら空行にしておく。

 3行目: ブロックコメント終了記号 ======

  */ とかそんな風に書く。
  ブロックコメントを使わないなら空行にしておく。

 4行目: 行コメント開始記号 ============

  // とかそんな風に書く。
  行コメントを使わないなら空行にしておく。

 5行目以降: キーワード ================

  強調表示したい単語をひたすら書き連ねる

 ※ キーワードとして使えるのは、
 ※  数字、アルファベット(大小)、下線
 ※ からなる単語のみ。border-width とか #include とかはダメ。
 ※ __int64 などは可。

 ※ コメント記号としては、
 ※  キーワードに使える文字・空白文字
 ※ を除いたASCII文字のみが使える。 begin とかはダメ。



★レイアウトファイル(*.lay) 仕様書

 UCS-2をLittleEndianでベタ書きしたファイルでなければならない。
 任意の文字コードを使えるように変更することもすぐに可能なので、
 気が向いたら変えるかもしれない。ので、BOMはつけておくことを推奨。

  ct=文字色
  ck=キーワード色
  cb=背景色
  cc=コメント色
  cn=EOFや改行マークの色
  cl=行番号の色
  ft=フォント名
  sz=フォントサイズ
  tb=タブ幅
  sc=特殊文字を表示するなら1(左から順に、EOF,改行,タブ,半角空白,全角空白)
  wp=折り返し方式(-1:無し 0:右端 1:指定文字数)
  ww=折り返し文字数(wp=1の時に利用)
  ln=行番号表示(1:ON 0:OFF)

Veritak Extension by Tak.Sugawara Sep.16.2004
  gr=実行行矢印の色
  re=ブレークポイントの色


 項目を省略すると、その項目に関しては default.lay の
 内容が読み込まれる。default.lay も無いときは exe 内に
 内蔵してあるデフォルトの設定が読み込まれる。




★初期設定ファイル(*.ini) 仕様書

 Windowsのごく普通のINIファイル。ANSI-CP (日本ならShift_JIS)+CRLF で
 書かねばならない。例として、次のような感じになる。

 ------------------------------------------------------------------
 [山田太郎]
 UndoLimit=-1
 TxtFilter=*.txt;*.htm;*.html;*.c;*.cpp;*.cc;*.cxx;*.h;*.hpp;*.ini;*.b2e
 OpenSame=0
 CountUni=1
 GrepExe=
 MLU=4
 MLU1=c:\windows\デスクトップ\test.txt
 MLU2=c:\autoexec.bat
 MLU3=
 MLU4=
 MLU5=
 MLU6=
 MLU7=
 MLU8=
 SearchIgnoreCase=1
 SearchRegExp=0

 [DocType]
 1=C/C++
 2=HTML
 3=INI

 [C/C++]
 Pattern=.*(\.(c|cpp|cxx|cc|h|hpp)|include\\[^\.]+)
 Keyword=c.kwd
 Layout=c.lay

 [HTML]
 Pattern=.*(\.html|\.htm|\.asp|\.php|\.php3|temporary internet files\\.+)
 Keyword=html.kwd
 Layout=html.lay

 [INI]
 Pattern=.*\.ini
 Keyword=ini.kwd
 ------------------------------------------------------------------

 それぞれ、意味は次の通り。

 ------------------------------------------------------------------
 [ユーザー名]
 UndoLimit=    // アンドゥ回数制限。-1 なら制限無し
 TxtFilter=    // [開く]ダイアログ用のフィルタ。*.xxx の形で、; で区切ること
 OpenSame=     // 同じウインドウで開くなら1、でなければ0。
 CountUni=     // 俗に言う半角全角を区別せず、横の桁数を数える
 GrepExe=      // Grep用に使う外部アプリ起動のコマンドを入れる。
                // %1があればそこをカレントフォルダ名に置き換える。
 MLU=          // [最近開いたファイル] に表示する個数。最大8個
 MLU#=         // [最近開いたファイル] を保存
 SearchIgnoreCase=  // 検索の時大文字小文字の違いを無視するかどうか
 SearchRegExp=      // 正規表現検索するかどうか

 [DocType]
 1=
 2=            // 文書タイプの名前を列挙。連番なら幾つまで並べてもOK

 [文書タイプ名]
 Pattern=      // この文書タイプを自動適用するファイル名を正規表現で
               //   (ファイル名全体にマッチするように)
 Keyword=      // キーワードファイルの名前
 Layout=       // レイアウトファイルの名前
 ------------------------------------------------------------------

Note:
  1.// コメントを検出しないときがあります。
  2.正規表現については、GreenPadの制約等がありますので、外部でGREP等を使うことをお勧めします。

編集が終わり、設定ファイルを保存したら、前記ダイアログのOKボタンを押すと更新されます。

Note:
  1.フォントの名前は、VertakのWaveformView設定でのフォントダイアログで、名前と体裁を確認できるので、そこからCOPY&PASTEするとよいでしょう。
  2.設定ファイルは、更新前に、バックアップをとることをお勧めします。
  3.Version1.28よりVeriPadのレイアウトを変えています。前の設定にしたい場合は、verilog_orig.lay に設定し直してください。