多くのプログラミング・システムは、 エディターがシステムのハブとなり、 プログラムを構築して実行できる統合開発環境(IDE)として編成されています。 それが必要な場合は、Gforth にもそれがあります(see Emacs and Gforth)。
しかしながら、いくつかの Forth システムには異なる種類の IDE を持っています: Forth コマンド・ラインが開発環境のハブです。 そこからさまざまな方法でソースを表示し、 必要に応じてエディターを呼び出すことができます。
gforth もそのような IDE を実装しています。 gforth は SwiftForth の慣習をほぼ踏襲していますが、 それ以上の機能を実装しています。
このアプローチの利点は、 お気に入りのエディターを使用できることです。 環境変数 EDITOR
をお気に入りのエディターに設定すると、
編集コマンドがそのエディターを呼び出します。 Gforth はバックグラウンドでいくつかの GUI エディターを呼び出し(そのため、 Forth
セッションは続行するので、 編集を終了する必要はありません)、 ターミナル上のエディターはフォアグラウンドで呼び出します(Gforth
に認識されないエディターのデフォルトはフォアグラウンドです)。 EDITOR
を設定していない場合、 デフォルトのエディターは
vi です。
locate
( "name" – ) gforth-1.0 “locate”
ワード name のソース・コードを表示し、 現在位置(current location)をそこに設定します。
doc-xt-locate(原文 未記述)
「現在位置」(current location)は、 locate
に加えて、 他の多くのワードによって設定されます。 また、
ファイルのロード中にエラーが発生した場合、 エラーの場所が現在位置になります。
多くのワードが現在位置(current location)で機能します:
l
( – ) gforth-1.0 “l”
現在位置(current location)のソースコードの行達を表示します。
n
( – ) gforth-1.0 “n”
現在位置より後ろの行、 または最後の n
または b
出力より後ろの行を表示します。
b
( – ) gforth-1.0 “b”
現在位置より前の行、 または最後の n
または b
出力より前の行を表示します。
g
( – ) gforth-0.7 “g”
現在位置、 または最後の n
または b
出力の先頭からエディターに入ります。
以下の値を変更することで、 l
や n
や b
で表示する行数を制御できます:
before-locate
( – u ) gforth-1.0 “before-locate”
現在位置の前に表示される行数(デフォルトは 3)。
after-locate
( – u ) gforth-1.0 “after-locate”
現在位置の後に表示される行数 (デフォルトは 12)。
最後に、以下を使用すると、 エディターを開いて当該ワードのソース・コードに直接移動できます。
edit
( "name" – ) gforth-1.0 “edit”
"name" の場所でエディターを起動します。
以下を使用すると、 似た名前のワードの定義を確認できます
browse
( "subname" – ) gforth-1.0 “browse”
(mwords
のように、) subname
を名前の一部に含むワードが定義されているすべての場所を表示します(see Word Lists)。 その後、 ww
または
nw
または bw
(see Locating uses of a word) を使用して、
特定の場所をより詳細に調査できます(訳注: 表示結果各行末尾の数(インデックス)を指定して、 ww
で当該の場所の内容を閲覧する、 等)