Unix like Shell for OpenQM and UniVerse
-
VOCに登録されている単語の入力補完機能によりミスが少なく迅速な入力が可能となります。(TAB)
もう一度 TAB を押すと一覧からのインクリメンタル検索とカーソルによる選択が出来るようになります。 -
一度入力したコマンドはコマンド履歴からインクリメンタルサーチする事が出来ます。 (Ctrl+R)
その状態で TAB を押すと一覧からのインクリメンタル検索とカーソルによる選択が出来るようになります。 -
大文字小文字反転入力のON/OFF切り替え。 (F9)
-
複数行コマンド実行。(Ctrl+Enter)
複数行で1つのコマンド履歴になるのでパラグラフ化しないでもすぐに複数行コマンドが実行できます。
コマンド履歴選択中に Shift+↑ Shift+↓ で複数行のコマンドの選択になりまとめて実行される。 -
実行時間計測モード (
.T
)
-
BASICソースもテーブルのレコード(ITEM)も同じ操作性で編集できます。
-
BASICソースの構文ハイライト表示により入力ミスが軽減されます。
-
カーソル移動の効率を高めるジャンプ機能
-
アウトライン一覧を表示して指定ラベルにジャンプ (Ctrl+O)
-
変数宣言元にジャンプ (Ctrl+G)
-
ジャンプ前のカーソル位置に戻る (Alt+← , Alt+→)
-
-
開いているファイルと以前に開いていたファイルをインクリメンタル検索で探して開く(Ctrl+P)
-
ダイブ(F4)によりマルチバリューを改行区切りで編集出来ます。
コンパイル済みオブジェクトをダウンロードしてグローバルカタログすることで利用できるようになります。
QM.BP.OUT/SISH を 'gcat' フォルダに配置します。
cd /usr/qmsys/gcat wget -N https://github.com/simount/SISH/raw/master/QM.BP.OUT/SISH
ターミナルから以下のコマンドで起動します
:SISH
UV.BP.O/SISH を オブジェクトフォルダに配置します。
cd /usr/u2/uv/BP.O wget -N https://github.com/simount/SISH/raw/master/UV.BP.O/SISH
ターミナルから以下のコマンドでグローバルカタログします
LOGTO UV CATALOG BP *SISH SISH
以下のコマンドで起動します
>*SISH
必須バージョン: QM3.4-12以降、Windows10(1803)以降
QM Console (qm.exe) のターミナルタイプmsvt(msvtの仕様)で動作します。以下のカスタマイズを行うとより使いやすくなります。
[クリップボード貼り付け]
以下の win32yank.exe
を system32 に配置すれば、貼り付けで画面が点滅する問題を回避できます。
https://github.com/equalsraf/win32yank
単語入力途中に TAB で複数候補が無い部分まで補完、もう一度 TAB で候補リストを表示します。
補完対象は以下にです。
-
VOC内の
Verb
,File
,PAragraph
,Keyword
など -
辞書ファイルのフィールドID
-
コマンドラインをカーソル位置から遡って初めに見つかるFILEがフィールド検索対象辞書となる(USING DICTの動作に近い)
-
SMVSYSのM_CREATE.FILEでUSING DATA指定した親テーブルのフィールドも候補に入る
-
-
レコード数1000件未満のファイルのレコードID
-
フラットファイルの単語の次の単語の場合に限り、対象フラットファイルのレコードID
-
,
後のマルチパートファイル -
LOGTO
コマンドの後は登録アカウントテーブルの内容から補完 -
%
後のL-Typeフィールドの辞書フィールド補完に対応(OpenQM) -
.
後の辞書のF8の結合先テーブルの辞書フィールド補完に対応(SMV) -
server:account:file
等の拡張ファイル表記(OpenQM) -
単語に
/
or\
を含むかPATH:
で始まる場合にOSパスの補完(OpenQM)
補完対象の単語は大文字小文字の区別なく検索されます。
候補リスト表示中は候補を上下キーで選択。文字入力するとインクリメンタル検索でフィルタリングされます。
Ctrl+Enterで連続選択できます。
ESC で候補リスト表示を抜けます。
アカウント内に ./stacks
フォルダを作成しておくことでコマンド実行履歴が
ログインユーザ名$プログラム名
の形式で保存されます。
SISHシェル起動時や LOGTO
によるアカウント移動時にそのコマンド実行履歴が存在すると
そこからコマンド履歴を構築しますので以前に入力した内容が復元されます。
Ctrl+Rでコマンド履歴のインクリメンタル検索ができます。また、そこから TAB で絞り込み候補一覧のカーソル選択モードに切り替わります。
Ctrl+ENTER で改行することによってもコマンド行を増やすことができます。
Shift+↑ Shift+↓ で編集対象のコマンド行をコマンド履歴から増やすことができます。
ENTER で複数行編集領域全体を実行します。行選択されている場合は選択行のみ実行します。
コマンドに LOOP
$ECHO
GO
とラベルを含む場合はパラグラフとして実行する方法に切り替わります。
複数行で実行したものはコマンド履歴で1かたまりとなる。
これによりパラグラフとして名前を付けて保存することなく複数行をまとめたコマンドをインクリメンタル検索などからすぐに呼び出せます。
Windowsコンソールの場合に TERM
コマンドのPrinterサイズ指定は画面バッファサイズに反映される
以下は画面サイズは40行だが画面バッファは9999行になり出力結果をスクロールできるようになる
TERM 140,40,140,9999
terminfo の clear=\r
でクリアシーケンス@(-1)をCHAR(13)にすることでPaginationでも出力結果を残せるようになる(terminfo_msvt.srcの修正ソース)
上記設定をすると CLR
コマンドで画面がクリアされなくなるのでSISHでは正しくクリア出来るように修正している。
クリアシーケンス@(-1)がCHAR(13)では無い場合に NO.PAGE
キーワードが含まれると自動的に NO.TTY モードで EXECUTE するので同じような出力結果となる。
以下で画面バッファがなくなりスクロールバーは表示されなくなる
TERM 140,40,140,40
リモート接続の場合、コピー時にローカル端末のクリップボードに内容を送信します。(OSC52に対応している端末)
Bracketed Paste Mode に対応しています。
ローカル接続の場合は、 clip.exe
を利用します。
以下のコマンドはVerbとして登録されていませんがSISH内でのみ利用できます。
キー | 機能 |
---|---|
.An text |
n 行目のコマンド履歴の末尾に text を追加。 n は省略すると |
.Cn /old/New/G |
n 行目のコマンド履歴の old 文字列を New 文字列に置換。 |
.Ds-e |
コマンド履歴の s ~ e 行目を削除する。 s は省略すると初めの履歴を対象とする。 e 省略で単一行。 |
.D name |
VOCの name が |
.E |
スクリーンエディタ起動 (選択リスト0番がアクティブだと選択リストをエディタで開く) |
.Gn |
n 行目のコマンド履歴に移動。 n は省略すると |
.K |
キーシーケンス確認モードに切り替え |
.Ln filter |
コマンド履歴を現在位置から n 件表示。 n をともに省略すると前回の表示行数を採用する。 filterは部分一致またはパターン一致させたい文字。 |
.L name |
VOCエントリの name をCTコマンドで画面出力 |
.O |
COMO ON/OFF (ログファイル名は自動でタイムスタンプを付ける) |
.Rs-e |
コマンド履歴の s ~ e 行目を履歴の先頭に持ってくる。 s は省略すると初めの履歴を複製する。 e 省略で単一行。 |
.R name |
VOCの name が |
.Ss-e name |
コマンド履歴の s ~ e を VOC に name の PAragraph として保存する。 name 省略でテンポラリバッファに出力。 |
.T |
コマンド実行時間の計測機能をON/OFF |
.Xs-e |
s ~ e 行目のコマンド履歴を実行。 s は省略すると |
Q |
SISHシェルを抜ける |
#n |
n=0~10 選択リストの内容をエディタで開く |
QMの場合は .LP .DP .SP .EP 等の Private VOC の命令も利用可能
SISH.RUN.COMMAND.DELEGATOR
がカタログされているとSISHでコマンド実行時に該当プログラムが呼び出されます。
実行するコマンドラインが @SENTENCE
に渡ってくるのでコマンド実行の前後に処理を挟む事が出来ます。
PROGRAM SISH.RUN.COMMAND.DELEGATOR
PRINT @SENTENCE
EXECUTE @SENTENCE STATUS ST
PRINT "Status -> ":ST
Ctrl+E or .E
コマンド
バッファに取り込むSISH内部コマンド
READ.BUFFER [File [Item FieldId…]] READ.BUFFER Path
File |
開く対象のFileId。省略した場合は新規バッファを開きます。 |
Item |
開く対象のItemId。選択リスト時がある場合は省略可能。 |
FieldId |
指定フィールドを辞書に基づいて編集するモードで起動します。行数表示横にフィールド名が表示されます。 |
Path |
開く対象のファイルパス名 |
バッファの内容を保存するSISH内部コマンド
WRITE.BUFFER No [File [Item]
No |
保存対象のバッファ番号 |
File |
保存先のFileId。省略した場合はバッファが保持するFileId |
Item |
保存先のItemId。省略した場合はバッファが保持するItemId |
デフォルトのキー操作はWindowsの一般的なテキストエディタ(厳密にはChrome Developer Tools)にできるだけ合わせています。
マルチバッファ機能にて同時に複数のItemの編集状態を保持できます。
Ctrl+P でバッファ一覧ポップアップが開きますので切り替えたいアイテムを選択してください。
バッファは明示的に閉じるまでセッションメモリ(COMMON)に格納され続けます。
バッファ毎にUndo/Redoできます。コマンドラインも特殊なバッファとして実装されているのでUndo/Redo可能。
Ctrl を押しながらのキー移動や各種ジャンプ機能により キーボードによる効率的なカーソル移動が可能となっています。
ラベルは実行コードには入らないのでGoToなどで使用しなくてもソースコード上に書いておけばアウトラインから
簡単に目的の場所にジャンプすることができます。
検索対象文字もアウトラインに含まれるので検索対象行へのジャンプもできます。
単語を選択している場合はその単語を含む行が含まれます。
行で選択している場合は選択している行が含まれますので全行選択するとソース全体をGrep検索できます。
-
変数や定数(実際は厳密な宣言元ではなくその単語が初めに出てきた場所にジャンプします)
-
GOSUB
やGOTO
でのラベルやローカルサブルーチン -
外部アイテム
-
CALL
では同一ファイル内にあるアイテム。オブジェクトにソースパス情報が含まれていたらそのパス。 -
$INCLUDE
行ではインクルード先のアイテム
マウスホイールによるエディタ画面のスクロールとクリックによるカーソルジャンプ
Ctrl+SP で編集中のテキストから抽出した単語一覧からインクリメンタルサーチで検索した単語を入力できます。
長い単語の省入力とミスを減らすことが出来ます。
$INCLUDE
が存在する場合はそのインクルード先ファイルの単語も一覧に追加されます。
F4 によりバリュー区切りを改行として編集できるバッファが開くので簡単にマルチバリューを編集する事が出来ます。
保存すると結果は親バッファに反映されます。
また、コマンドラインからフィールドを指定することによりマルチバリューをまとめて編集できます。
フィールドの代わりにフレーズも可能ですのでアソシエーションをまとめて編集するのに便利です。
以下の環境変数で現在開いているバッファの情報を取得できます
-
@SISH.CBP
- フルパス -
@SISH.CBF
- ファイル -
@SISH.CBI
- アイテム
コマンドライン等から利用できる
DISPLAY <<@SISH.CBP>> <<@SISH.CBF>> <<@SISH.CBI>>
F10 キーで画面の下部にメニューが表示されます。 メニューの内のテキストで大文字で表示されているキーを押すとそのメニューを選択できます。
├ Buffer |
(バッファ操作関連サブメニュー) |
│├ Showlist |
バッファ一覧表示 |
│├ dIve |
現在カーソル位置のフィールドをマルチバリューの次元に落としたバッファを開く |
│├ New |
バッファ新規作成 |
│├ Read |
新規バッファにリード |
│├ Write |
バッファの内容を保存 |
│├ writeAs |
バッファの内容を別なアイテムに保存 |
│├ rEload |
このバッファの内容をリロード |
│├ Close |
このバッファを閉じる |
│├ Lock |
このバッファの対象アイテムを更新ロック |
│├ Delete |
このバッファの対象アイテムを削除する |
│└ clOse_all |
全バッファを閉じる |
├ Edit |
(編集操作関連サブメニュー) |
│├ Undo |
アンドゥ |
│├ Redo |
リドゥ |
│├ (X)cut |
カット |
│├ Copy |
コピー |
│├ Paste |
シェル内のクリップボードからペースト |
│└ [paste from Local] |
クライアント端末のクリップボードからペースト(OSC52) |
├ Ins |
(挿入系サブメニュー) |
│├ Comment |
コメント行を挿入 |
│├ Join |
選択範囲の行を指定文字で置換して1行にする |
│├ OConv |
選択範囲をOConv出力結果に変換 |
│├ IConv |
選択範囲をIConv出力結果に変換 |
│├ Date |
現在日付の内部値を挿入 |
│├ Time |
現在時刻の内部値を挿入 |
│└ Record |
指定のItemの内容を挿入 |
├ Code |
(コード系サブメニュー) |
│├ Build |
現在編集中のソースをコンパイルする |
│├ Run |
現在編集中のソースを実行 |
│├ Catalog |
現在編集中のソースをカタログ化する |
│├ Format |
現在編集中のソースをFORMATコマンドでフォーマットする |
│├ Words |
単語補完 |
│├ Mode |
(モード切替サブメニュー) |
││├ Basic |
BASIC編集モードにする |
││├ Paragraph |
PHaragraph編集モードにする |
││└ Data |
DATA編集モードにする |
│├ Indent |
(インデント設定変更サブメニュー) |
││├ Tab |
インデントにTABを利用する |
││└ Spaces |
インデントにスペースを利用する |
│└ Help |
カーソル上の単語のヘルプを表示(UniVerseのみ) |
├ Navi |
(ナビゲーション系サブメニュー) |
│├ Find |
検索 |
│├ Again |
前回の単語で次を検索 |
│├ reVerse |
前回の単語で前を検索 |
│├ Replace |
置換 |
│├ goLineno |
指定行へ移動 |
│├ goDeclaration |
宣言元へ移動 |
│└ Outline |
アウトライン一覧表示 |
├ Tools |
(ツール系サブメニュー) |
│├ Theme |
テーマ切り替え |
│└ Keys |
キーシーケンス確認モードに切り替え |
├ Mark |
(ブックマーク系サブメニュー) |
│├ Set |
ブックマークを設定 |
│└ Go |
設定したブックマークへ移動 |
├ eXit |
エディタを終了してコマンドラインに戻る |
└ ESC |
メニューを終了してエディタ操作へ戻る |
キー | 機能 | ||
---|---|---|---|
→ |
右移動 |
||
← |
左移動 |
||
↑ |
上移動 |
||
↓ |
下移動 |
||
Ctrl+→ |
次の単語に移動
|
||
Ctrl+← |
前の単語に移動
|
||
HOME |
論理行頭/物理行頭へ移動 |
||
END |
行末へ移動 |
||
Ctrl+HOME |
データの先頭へ移動 |
||
Ctrl+END |
データの末尾へ移動 |
||
PgUp |
半ページ戻る |
||
PgDn |
半ページ進む |
||
Ctrl+PgUp |
前のページ戻る |
||
Ctrl+PgDn |
次のページ進む |
||
Ctrl+. |
続けて入力した1文字が次に出現する位置に移動 |
||
Ctrl+, |
続けて入力した1文字が遡って次に出現する位置に移動 |
※上記にさらに Shift 同時押しで範囲選択します
カーソル移動早見表
Ctrl+Home Ctrl+PgUp PgUp Ctrl+↑ ↑ Home Ctrl+<- <- | -> Ctrl+-> End ↓ Ctrl+↓ PgDown Ctrl+PgDown Ctrl+End
Ctrl 押しながら矢印キーの動きはExcelのセル移動に少し似ています。
※選択中に Ctrl+↑ , Ctrl+↓ で行の入れ替え。 Ctrl+→ , Ctrl+← でインデント増減(エディタのみ)。
キー | 機能 |
---|---|
Ctrl+Z |
アンドゥ |
Ctrl+Y |
リドゥ |
Ctrl+X |
カット (選択範囲がない場合は行全体をカット) |
Ctrl+C |
コピー (選択範囲がない場合は行全体をコピー) |
Ctrl+V |
端末間ペースト |
Alt+V |
SISH内のクリップボードからペースト |
Ctrl+Backspace |
カーソル位置から現在の単語の先頭まで削除 |
Ctrl+Delete |
カーソル位置から現在の単語の最後まで削除 |
Ctrl+K |
行削除 |
Ctrl+A |
全行選択 |
Ctrl+D |
単語選択 (選択範囲がある場合は以下の選択領域の拡張処理になります) |
キー | 機能 |
---|---|
ENTER |
コマンド実行 |
Ctrl+ENTER |
カーソル位置で改行してコマンド行を下に一行増やす |
↑ |
コマンド履歴戻る |
↓ |
コマンド履歴進む |
Shift+↑ |
1つ上の行選択を増やす |
Shift+↓ |
1つ下の行選択を増やす |
Ctrl+↑ |
現在のコマンド行の先頭行へカーソルを移動。行選択中は行入れ替え。 |
Ctrl+↓ |
現在のコマンド行の末尾行へカーソルを移動。行選択中は行入れ替え。 |
Ctrl+HOME |
コマンド履歴の末尾へ移動 |
Ctrl+END |
コマンド履歴の先頭へ移動 |
Ctrl+C |
選択領域が無い場合にコマンド編集領域の内容をクリップボードにコピー |
Ctrl+R |
コマンド履歴を古い方にインクリメンタルサーチ |
Ctrl+F |
コマンド履歴を新しい方にインクリメンタルサーチ |
Ctrl+S |
選択行の内容をエディタのバッファにParagraphとして複製する |
Ctrl+L |
現在行で |
TAB |
入力途中の単語をオートコンプリート。1回押下で共通部分の文字補完、2回押下で補完候補をリスト表示モード |
Ctrl+T |
直前のコマンドのファイル名を挿入 |
Ctrl+E |
スクリーンエディタ画面に切り替え |
Ctrl+N |
エディタで直前に開いていたファイル名とアイテム名を挿入 |
Ctrl+P |
エディタで直前に開いていたアイテムのパス名を挿入 |
F1 |
Verbに関するヘルプが存在すれば画面に表示する |
ESC*2 |
連続でESCを押すとコマンドラインをクリアする |
CHAR(27)
= F10 or ( ESC or Ctrl+[ or Ctrl+3 ) でメニューを表示
キー | 機能 |
---|---|
Ctrl+↑ |
カーソルが表示文字上にいる場合は非表示文字が来るまで上にカーソル移動 |
Ctrl+↓ |
カーソルが表示文字上にいる場合は非表示文字が来るまで下にカーソル移動 |
Ctrl+→ |
共通処理以外に行選択中の場合は選択範囲のインデントを増やす |
Ctrl+← |
共通処理以外に行選択中の場合は選択範囲のインデントを減らす |
Ctrl+B |
カーソル行が画面の中央になるようにスクロールとあわせて現在のカーソル位置をジャンプ履歴に記録します |
TAB |
|
Shift+TAB |
カーソル行または選択範囲のインデントを減らす |
Ctrl+Space |
単語補完 |
Alt+3 |
@VMの挿入 |
Alt+4 |
@SVMの挿入 |
Ctrl+/ |
選択領域のコメントアウト化/コメントアウト解除 |
Ctrl+F |
文字列検索 (1文字目にスペースを入れると単語の開始からと大文字小文字を区別する厳格一致モードとなる) |
F3 |
直前の文字列検索をもう一度実行 |
Shift+F3 |
直前の文字列検索を逆戻りで実行 |
Ctrl+R |
文字列置換 |
Ctrl+L |
行番号指定ジャンプ |
Ctrl+G |
定義元へジャンプ |
Ctrl+O |
アウトライン(ラベル一覧)ポップアップ表示 |
Ctrl+P |
バッファ一覧ポップアップ表示 |
Alt+→ |
ジャンプ履歴進む |
Alt+← |
ジャンプ履歴戻る |
Ctrl+S |
上書き保存 |
Ctrl+N |
新規バッファを開く |
Ctrl+W |
バッファを閉じる |
F5 |
リロード |
F6 |
コンパイル |
F7 |
BASICソースならコンパイル&実行 / PAragraphなら実行(選択範囲があれば部分実行) |
F4 |
下位レベルにDive(カーソル行の内容を下位の区切りレベルの編集モードとして新しいバッファに開きます) |
Ctrl+E |
コマンドライン画面に切り替え |
同梱のソース SISH
SISH.SETTING.H
を BP
ディレクトリに置きます。
BP
ディレクトリのファイルエンコーディングは UTF8
CRLF
に設定して下さい。
以下のコマンドでどのアカウントからも *SISH
というコマンドで起動できます。
>BASIC BP SISH >CATALOG BP *SISH SISH
SISH.SETTING.H
を独自にカスタマイズした場合は別名でカタログ化するなどして、他の人とバッティング
しないように適宜調節して下さい。
SISH
はxterm系の制御シーケンスが理解できるターミナルエミュレータの利用を推奨しています。
Note
|
Windows版DBへ接続するときはクライアントから telnet -E localhost 4242 で接続(-Eを付ける必要あり)
|
また、他にも以下の端末で動作はしますが、細かい箇所は未確認です。
-
GNOME Terminal(Linux)
-
iTurm2(Mac)
-
プロファイル設定のKeysのプリセットを
xterm Defaults
に変更 -
プロファイル設定のColorsのプリセットを
Solarized light
に変更
-
これらの端末で正しく動作させる為には、同梱されているSISH.SETTING.Hの キーシーケンスの設定とカラーパレット設定を端末側とうまく合わせてからコンパイルする必要があるかもしれません。
おすすめのフォント設定は Consolas + MeiryoKe_Console です。
以下のサイトに詳しい導入方法が載っています。
http://d.hatena.ne.jp/amachang/20111226/1324874731
導入方法は少しややこしいですが、MSゴシックより見やすくなるのでとても捗ります。
面倒がないダウンロードしてすぐに使える以下のフリーのフォントもおすすめです。
TODO 横スクロール
-
[BUG]
行数が1万を超えてくる場合に検索とジャンプ系のカーソル移動が遅い問題を修正 -
[BUG]
コマンドがAbortした場合はトランザクションをロールバックするようにした -
[BUG]
VOCのX-Typeが補完対象に含まれていなかった問題を修正
-
[BUG]
LinuxにてCtrl+Cが動作しない問題を修正 -
[IMP]
ESCがキャンセルの動作をするモードの時にコマンドラインがクリアされてしまうので連続でESCを押した時に変更。
-
[NEW]
コメントの挿入で '!' は視認性が悪いので '!!' に変更 -
[IMP]
レコードID補完はテーブルによっては重いので廃止した(補完候補選択は残す) -
[BUG]
ConversionでOSBSが指定されている場合は文字コードに区切文字が入っている可能性がある問題に対応
-
[IMP]
WindowsコンソールにてTERMからコンソールの画面バッファのサイズを設定できるようにした -
[NEW]
LISTコマンドでNO.PAGEキーワードが入っている場合は自動的にNO.TTYモードでEXECUTEするようにした -
[IMP]
SMVSYSのM_CREATE.FILEでUSING DATA指定した親テーブルのフィールドも候補に入るようにした -
[BUG]
単語の戻り削除Ctrl+Backspaceで単語先頭の区切り文字は残すようにした -
[BUG]
フィールド補完の量が多い場合に3秒以上でタイムアウトするようにした。レコードID補完もタイムアウトに変更
-
[NEW]
選択リストを開く用の#n短縮コマンドを追加 -
[IMP]
選択リストのバッファは選択リストが空の場合にはリロードしないで前回のバッファ状態を残すようにした -
[IMP]
Windowsタイトルのフォーマット変更 -
[BUG]
選択範囲状態でBackspaceで削除する時にカーソル位置がY=1,X=1の時に削除できない問題を修正
-
[NEW]
@VM挿入と@SVM挿入を実装 -
[BUG]
@VMが入った行を改行するとバッファ内容が壊れる問題を修正 -
[NEW]
Alt+5
で@TMを挿入を実装
-
[NEW]
SMVにて辞書のF8で結合先テーブルとなる仕様になり、補完処理をそれに合わせた -
[IMP]
READ.BUFFERコマンドでダブルクォーテーションで囲むことによるスペースを含む引数に対応 -
[IMP]
辞書項目編集時にSMVのJOINフィールドに対応 -
[BUG]
選択リストのバッファから新規バッファ作成で正しく動作しない問題を修正 -
[BUG]
FLATRECのオートコンプリートで永久ループに陥る問題を修正
-
[IMP]
F-TypeのVOCをエディタで開いた時にF2とF3にUOSBSを設定するようにした -
[IMP]
コンソールの文字色を1つ明るいものに変更 -
[BUG]
フラットファイルのレコード数が多い場合に固まる問題を修正(1000レコード以上は無視) -
[BUG]
BASICタイプ以外のOutlineが正しく表示されない問題を修正
-
[NEW]
選択リストをエディタで直接編集できるようにした -
[IMP]
レコード保存エラーの場合にエラー内容を表示 -
[IMP]
定義をジャンプ機能でプログラムをソースパスから探すようにした
-
[IMP]
検索ボックスの両端にスペースを入れることで単語検索が可能になった -
[IMP]
paste.exeを.netに依存しないwin32yank.exeに変更
-
[NEW]
カレントバッファの環境変数を取得できるようにした。@SISH.CBP
: パス /@SISH.CBF
: ファイル /@SISH.CBI
: アイテム
-
[NEW]
複数行として実行したものはコマンド履歴で1かたまりとなるようにした -
[IMP]
対応する括弧の自動挿入機能は使い勝手が悪いのでやめました -
[IMP]
コメント行内でも自動インデント挿入が正しく動作するようにした
-
[NEW]
コマンドラインエディタで複数コマンドをまとめて編集と実行できるようにした -
[NEW]
バッファのリードのログをコマンド画面に出力するようにした -
[NEW]
.O でCOMOのON/OFF機能を追加 -
[NEW]
バッファ一覧選択画面に最近開いたファイルを含めるようにした -
[NEW]
範囲選択中にCtrl
と上下で行の入れ替えを出来るようにした -
[BUG]
FOR文補完のNEXTの変数名が正しく入らなかった問題を修正 -
[BUG]
コマンドラインの自動補完時にスペースが2個連続にはならないようにした
-
[NEW]
エディタ画面のマウスホイールによるスクロールとクリックによるカーソルジャンプに対応 -
[BUG]
0.33.0からファイルを開くと不要なロックが残るようになっていた問題を修正
-
[NEW]
アウトラインのカーソル行をプレビュー表示するようにした -
[NEW]
Ctrl+Pでエディタで現在開いているパスを挿入 -
[NEW]
Ctrl+Nでエディタで現在開いているファイル名とアイテム名を挿入 -
[NEW]
インクリメンタル検索中にTAB
で履歴の候補リスト表示
-
[NEW]
TAB補完候補をカーソルで選択できるようにした -
[NEW]
フルパス指定でファイルを開く(OPENPATH対応) -
[NEW]
PDUMPのPARSETYPEを追加。STRINGがデコードされて表示される。 -
[IMP]
コマンドのインクリメンタルサーチを単純なスペース区切りのAND検索にした -
[IMP]
ステータスラインのバッファ情報にファイルパスを表示するようにした -
[IMP]
PVOCの補完に対応(QM) -
[IMP]
C-Typeフィールドも補完対象に含めた(QM) -
[BUG]
マルチファイルの補完がうまくいってなかった問題を修正 -
[BUG]
1万行以上で表示がバグらないようにした
-
[IMP]
アウトラインに行番号を入れるようにした -
[IMP]
アウトライン表示時に検索単語の先頭にカーソルがある場合にそれを初期値とするように修正 -
[BUG]
コマンドログが1000以上の場合に初期コマンドが入ってしまう問題を修正 -
[BUG]
厳密モードでの検索のバグを修正
-
[BUG]
カラーテーマ白背景時にカーソルが見にくい問題を修正 -
[IMP]
PAタイプでコメントアウトは ` * ` を挿入するようにした -
[IMP]
検索でスペースから始まる場合は単語開始からの大文字小文字完全一致の厳密モードで検索する機能を追加 -
[IMP]
インクリメンタル検索BOXでスペース区切りによるAND検索と単語開始からの完全一致をサポート -
F3 による検索ではジャンプ履歴に残さないようにした(アウトラインのジャンプで代用)
-
[IMP]
選択範囲をアウトラインに含めるようにした
-
[BUG]
置換を続けると表示が乱れていく問題を修正 -
[IMP]
Outline内もカラーフォーマットで表示するようにした -
[IMP]
カラーテーマを固定化した。今後設定ファイルにて変更できるようにする予定。
-
[IMP]
検索ハイライト中はアウトラインにも検索行を含めるようにした -
[IMP]
キーワードと同名の関数の場合はハイライトしないようにする -
[IMP]
Choide Buffer 内 Ctrl+W でその場でバッファを閉じれるようにした -
[BUG]
タブのカーソル位置選択すると範囲描画がおかしい -
[BUG]
自動閉じ文入力でUNDOした場合のカーソル位置がずれている問題を修正 -
[BUG]
ラベルの後にスペースを空けずにコメントにした場合の判定間違いを修正 -
[BUG]
検索をIGNORE CASEにする処理でスペースや記号は小文字判定で除外
-
[IMP]
.S
のname無しで新規バッファに出力できるようにした -
[NEW]
F7
でBASICとPAragraphを実行できるようにした。BASICのコンパイルはF6
に変更 -
[BUG]
タブの描画位置がおかしい問題を修正
-
[BUG]
DIRECTORY FILE の後の補完の初期モードVOCになっている問題を修正 -
[IMP]
~~
もPUNC扱いにした -
[IMP]
色の設定をBASE16パレットシステムをベースにするようにした
-
[IMP]
AutoComplete決定後に補完モードはONのままにするように仕様変更 -
[IMP]
補完候補表示のグループ化時も説明を表示するようにした -
[BUG]
辞書ファイルの時のAutoCompleteがDICT.DICTになっていなかった問題を修正
-
[IMP]
初回起動時のCASE INVERTしないようにした -
[Bug]
consoleでペースト時に改行が1つ多く挿入されるバグを修正 -
[Bug]
同内容を連続してペーストできなくなっていた問題を修正
-
[IMP]
コマンドのインクリメンタルサーチはキー入力毎にコマンド履歴の開始からサーチするようにした -
[IMP]
PHANTOM終了等の非同期メッセージをコマンド実行後に出力されるようにした -
[Bug]
paste.exeのチェック処理が動作しないようになっていた問題を修正 -
[Bug]
2回目以降にmsvtに正しく切り替わらない問題を修正 -
[Bug]
TERM qmterm
状態でも正しく動作するように修正
-
[NEW]
Ctrl+N
で新規バッファを開く(選択範囲がある場合はそれが残るようにした) -
[NEW]
Ctrl+Backspace
でカーソル位置から現在の単語の先頭まで削除 -
[NEW]
Ctrl+Delete
でカーソル位置から現在の単語の最後まで削除 -
[IMP]
名前なしCOMMONが初期化されていないエラー時にクリアして再実行を促すようにした -
[IMP]
コピー時に選択範囲が残るようにした -
[Bug]
コマンド入力時にIMEにより日本語が挿入されると表示が再描画されるまでずれる問題を修正 -
[Bug]
ペースト時に選択範囲を残すロジックがうまく機能していなかった問題を修正
-
[NEW]
OPENQM3.4-12からのTERM MSVT
に対応したのでキー入力にてAutoHotKeyを利用しないでもよくなった -
[NEW]
COMO中の場合にコマンド入力中は出力されないようにした -
[NEW]
LOGTO
コマンドがスタックされるようになりQ
で抜けるとLOGTO前のアカウントに戻るようにした -
[Bug]
CPU時間ミリ秒表記に修正 -
[Bug]
パス補完でドライブ指定ができない
-
[NEW]
SW_HANYOのヘルプを表示できるようにした。(SMV) -
[IMP]
paste.exe
と連動できるようにした。 -
[Bug]
.L
のパラメータなしの動作の不具合を修正 -
[Bug]
IMEから入力できない文字がある不具合を修正
-
[Imp]
Windowsコンソールでペーストがローカルのクリップボードから反映されるようにした -
[Imp]
WindowsコンソールでShift+F3
で戻り検索できるようにした(要AutoHotKey) -
[Imp]
WindowsコンソールでShift+TAB
でインデントダウンできるようにした(要AutoHotKey) -
[Bug]
エディタメニューのIns系が呼び出されない問題を修正
-
[Imp]
Windowsコンソールでカットとコピーがローカルのクリップボードに反映されるようにした -
[Imp]
Windowsコンソールでコマンドラインの文字入力の描画最適化
-
[Bug]
WindowsコンソールでF9
で大文字小文字切り替えできない問題を修正 -
[Bug]
WindowsコンソールでCtrl+v
で貼り付けできない問題を修正 -
[Bug]
WindowsコンソールでCtrl+Space
による単語補完ができなかった問題を修正(要AutoHotKey)
-
[Imp]
OSパス補完でマルチバイト文字(日本語)にも対応しました。 -
[Imp]
オートコンプリート後にキー入力をクリアする事で誤入力しにくくした。 -
[Imp]
QM での TERM TYPE をXTERM-EEEPC
に変更。SISH想定端末でもSEDなどのカーソル操作が動作するようした。 -
[Bug]
キー取得の方法をSEDと同じにしました。カーソル移動でゴミ文字が挿入されてしまう問題が解消された。
-
[Imp]
ファイルパスが\
(バックスラッシュ)で始まる場合にディレクトリ補完も合わせるように変更 -
[Imp]
SISH内でのBreak key を @28(Ctrl+\ or Break)にした -
[Imp]
PA実行後にCLEARPROMPT
を呼ぶようにした -
[Bug]
改行コードが指定と違う場合に保存できなかった問題を修正 -
[Bug]
先頭行の単語で左単語移動をするとフリーズする問題を修正
-
[Imp]
フラットファイルが多すぎた場合に固まるのでファイルの中身は表示しないように仕様変更 -
[Imp]
単語区切りの認識に{
}
を追加 -
[Imp]
右側ポップアップウィンドウの選択色が見づらい問題を修正 -
[Imp]
PATH:
拡張構文でファイル指定したときになるべく文字化けしないで開けるようにENCODING "UTF8.A"
を指定するようにした -
[Imp]
UVのコンパイル済みバイナリも配布するようにした。 -
[Imp]
ペーストのキーバインド変更
-
[BUG]
LOGTOのアカウント補完の初回に候補が0件だった場合に無限ループに陥る問題を修正 -
[BUG]
.Xの範囲指定がうまく動作しない問題を修正 -
[Imp]
候補表示のVerbヘルプ表示時にTABをSpece2に変換するようにした。 -
[Imp]
.minttyrcを標準的な状態にした。 -
[Imp]
コンパイル済みバイナリも配布するようにした。
-
[NEW]
.D
でコマンド履歴を削除できるようにした追加 -
[Imp]
コマンドラインモードのペーストが Bracketed Paste Mode なら大小文字反転しないようにした。-
合わせて起動時に大文字小文字反転モードをデフォルトにした。
-
-
[Imp]
バッファ情報の表示方法でアカウント登録されているアカウント名はショートネームで表示するように変更 -
[Imp]
行削除のキーバインドを Ctrl+D から Ctrl+K に変更 -
[Imp]
Ctrl+A の選択範囲拡張は Ctrl+D に変更。Ctrl+A は全選択のみに戻しました。 -
[Imp]
単語移動でカーソルが単語の途中の場合は単語の終端に移動するように変更 -
[Imp]
カーソル移動による選択範囲解除時の挙動を変更 -
[Imp]
インデント増減でコメント行を固定にする処理をややこしいのでやめました -
[Imp]
アウトライン表示に$INCLUDE
を含めるようにしました。 -
[Bug]
単語入力補完機能でインクルード先が正しく取り込まれていなかった問題を修正 -
[Bug]
バッファクローズ後の画面の描画が崩れる問題を修正 -
[Bug]
ファイルが見つからないバッファをクローズできない問題を修正
-
[New]
エディタ内単語の入力補完機能 -
[Imp]
宣言元へジャンプの機能でインクルード先も対象とした -
[Imp]
宣言元へジャンプの機能でGoSubのローカルサブルーチンへも飛べるようにした(OpenQM)
-
[New]
minttyのキーバインドとカラーパレットで正しく動作するように調整しました。 -
[New]
ターミナルサイズの自動設定をコマンド実行毎をやめてキーアクションにて任意にしました。 -
[New]
Ctrl+L で前回の.L
内容を再実行 -
[Bug]
PTERM ERASE の初期値が^H
になるように修正(OpenQM) -
[Bug]
一番最後の候補が表示されない場合がある問題を修正
-
[New]
Saved List系コマンドでファイル省略での補完に対応 -
[New]
補完キーワード検索時に大文字小文字を区別しないようにした -
[New]
補完候補の表示方法を変更 -
[New]
拡張ファイル指定の補完に対応 -
[New]
OSファイルの補完に対応 -
[New]
履歴のインクリメンタルサーチ起動時にカーソルまでのコマンドラインを初期値とした -
[New]
コマンドスタックの最大件数を999に拡張 -
[New]
コマンド履歴のストレージ保存に対応 -
[New]
.R
.G
内部コマンド追加.X
を範囲指定して実行できるようにした -
[Bug]
空文字への置換が出来ない問題を修正
-
[New]
メニューからモードを切り替えれるようにした -
[New]
エディタメニューからイン定を変更できるようにした -
[Bug]
ALL置換時に同一行で初めの1つしか置き換わらない問題を修正 -
[Bug]
検索結果のカーソル位置が対応する括弧の場合に表示がわからない問題を修正
-
[New]
挿入モード/上書きモードの切り替え機能の追加。それに伴い大文字小文字反転の切り替えは Ctrl+F9 に変更 -
[Bug]
IMEなどの連続文字列が入力されない問題を修正
-
[Bug]
0.9.0に修正により辞書のレコードをコマンド指定してエディタで開けなくなっていた問題を修正
-
[Bug]
制御シーケンスのゴミが入りにくくする機能により日本語入力に影響が出ていたので修正しました。
-
[New]
初回起動時にバージョンを表示するようにした -
[Bug]
空コマンドを実行した時に`SI`が残る問題を修正 -
[Bug]
テーマ切り替えが初回時に変わらない問題を修正
-
L-Typeの辞書フィールド補完に対応
-
Basic系コマンド利用時にBPを省略するとBP.OUTの内容を補完するようになりました。
-
Ctrl+Rでのコマンド履歴のインクリメンタルサーチが出来るようになりました。
-
ITEM編集時にカーソル上のフィールドでF4キーを押すとマルチバリューを1行として編集するモードに移行する機能を追加
-
エディタ起動のコマンドラインにてフィールドを指定することで辞書駆動編集に対応
-
マルチバリューの同一アソシエーションを指定する事で連動して編集することができます。
-
Conversion等も自動的に変換されて保存されます。
-
-
ステータスバーにカーソル上のキャラコードを表示
-
改行マークとタブを視認できるようにした
-
Ctrl+Aで選択領域を拡張していく機能を追加
-
条件文やループ文の後に改行すると自動でインデントを設定するようにした
-
キーシーケンスとカラーパレットの設定部分のソースを別ファイルにしました。