hinekure.net が http://hspdev-wiki.net/ から自動クローリングした結果を表示しています。画像やリソースなどのリンクが切れています。予めご了承ください。
JmEdit for HSP3.0 - HSP開発wiki
トップ    編集凍結 差分バックアップ添付複製名前変更リロード   新規一覧単語検索最終更新   最終更新のRSS

小ワザ/便利TOOL?|ソフト開発

JmEditor? for HSP3.0

JmEditor?用のHSP設定ファイルを作ってます。
既に誰か作っているものがあったら・・・その時はページ削除します;

なるべくhsp3.0のスクリプトエディタと同じような動作(強調)にしていきたいです。
完了(とりあえず完了も含む)は取り消し線で潰していきます。(くにさんの真似)

作業事項・完了事項

  • 囲み文字に「/*」と「*/」でコメント色(設定事項に有り)
  • 囲み文字に「{"」と「"}」で文字列色(設定事項に有り)
    • hspedはマルチライン文字列(正式名?)内にコメントを書くとコメント強調されますが文字列として表示されます。
      JmEditor?の場合でこのように指定した場合はしっかりと文字列強調されるのでこちらの動作の方が正しいということでこっちに。
  • 文字列の引用符は「"」(設定事項に有り)
  • コメントの文字列は「;」(設定事項に有り)
    • HSPデフォルトにした
  • 予約語(予約キーワード一覧中のプリプロセッサ命令(pre|func)以外)
  • プリプロセッサはそれぞれを正規表現で・・・
    • #(addition|c(func|md|omfunc|onst)|def(cfunc|func|ine)|e(lse|ndif|num|pack)|func|global|i(f|fdef|fndef|nclude)|mod(func|init|term|ule)|pac(k|kopt)|r(egcmd|untime)|u(ndef|secom|selib))
  • 「//」コメントは正規表現で。
    • //.*
  • ラベル強調も正規表現(2005-12-13変更)
    • ^\s*\*[@|a-zA-Z_]\w{0,59}$
    • hspedとちょっと動作が違いますが誤入力防止を兼ねています。
    • マニュアルではラベルの名前は半角59文字が限度とありますが60文字までOKのようです。
      正規表現ですが「*」のみではラベルと認められない、「*1」などは認められない、「*a 5」などは認められない、「*LB@」などは認められない。
      逆に「 *_label」は認められ、「*@」も認められるというルールからラベルとして認識可能なものだけを強調するようにしてみました。
      ただし制限オーバーした際には有効な名前部分だけを強調したいところですが認識不可となってます。
  • ソースブラウザにラベルを列挙(2005-12-13変更)
    • ^\s*\*([@|a-zA-Z_]\w{0,59})$
    • 見出し抽出$1

設定ファイル

  • 一応設定ファイルをUPしますが、ユーザー設定は1ファイルにまとめられてしまってPHPとか入っていたりするので、設定ファイルを上書きするよりは手動で設定したほうが良さそうです。
    上書きすると以前の設定が消えます。また、常に最新とは限りません。(おい)
  • fileUser2.ini
    ↑多分HSPのみのファイル、リネームして使って下さい。(User.iniに)

コメント

  • 正規表現をまだ良く分かっていないのでおかしいところは指摘していただければと思います。 -- kz3 2005-12-11 (日) 15:23:30
  • hspの強調動作と完全に一致していません。比較検討するのが結構大変で・・・。
    hspedではラベル列挙ダイアログはモーダルなので編集しながら使えませんし。
    ソースブラウザにラベルを列挙するのはかなり強力だと思います。 -- kz3 2005-12-11 (日) 15:26:22
  • この他にJmEditor?からコンパイルを行えたりするとなお良し。 -- kz3 2005-12-11 (日) 15:35:32
  • コマンドラインで思い出したのが以前頂いたcHspComp?というコマンドラインからスクリプトのコンパイルを行うツール! -- kz3 2005-12-11 (日) 15:50:00
  • \s*\*(@|\w{1,59}$)のほうが簡単かも。 あと、JmEditor?ですが、強調の優先順位があるようで
    • 1.予約語
    • 2.コメント文字
    • 3.正規表現の0番からn番の順番

の順位があるようです。これを利用して\s+\*(@|\w{1,59}$)を後の方に書けば
gosubなどの後のラベルも強調できるようになりました。でも普通のラベルの前にスペースを入れると副作用がでるのでやんないほうがいいかな? -- Charlotte 2005-12-14 (水) 21:53:20

  • 字数制限オーバーした際に有効部分だけを強調したいときはワザと認識しないのでしょうか
    \s*\*(@|\w{1,59})で認識した方が何かと便利な気がする。今までのだとスペースを最後に入れると解除されるので
    ラベルの後にコメントが入れれません。 -- Charlotte 2005-12-14 (水) 22:36:30
  • で、できた#(addition|c(func|md|omfunc|onst)|def(cfunc|func|ine)|e(lse|ndif|num|pack)|func|global|i(f|fdef|fndef|nclude)|mod(func|init|term|ule)|pac(k|kopt)|r(egcmd|untime)|u(ndef|secom|selib)) -- Charlotte 2005-12-14 (水) 22:55:11

URL B I U SIZE Black Maroon Green Olive Navy Purple Teal Gray Silver Red Lime Yellow Blue Fuchsia Aqua White

添付ファイル:
fileUser2.ini
408件 [詳細]
fileプリプロセッサ.txt
200件 [詳細]
fileUser.ini
593件 [詳細]
トップ    編集凍結 差分バックアップ添付複製名前変更リロード   新規一覧単語検索最終更新   最終更新のRSS
Last-modified: 2010-01-15 (金) 23:34:20 (1407d)