mint version 3以降向けに作成した行入力ルーチンをライブラリ化しました。
mintにおける&inputと同等の行入力が可能です.
無保証につき各自の責任で使用してください。
機能の詳細はmintreadline.mdをご覧ください。
sampleディレクトリにサンプルコードがあります。
- ライセンスはGPLv3 + リンク例外です。
- すべてアセンブリ言語で記述され、フルリロケータブルとして作成されています。
- condrv(em).sysに対応しており、入力文字はバックログに記録されません。
- 長大な文字列を入力できます。
- 入力窓より長い文字列は左右にスクロールして表示します。
- キー操作はMicroEMACSに似た割り当てです。
- カーソルキーでカーソルの移動が可能です。
- キー入力をリピートしてもカーソルが消えません。
- ファイル名補完機能を内蔵しています。
- 処理ルーチンを用意すれば任意の文字列の補完が可能です。
- コンソールのスクロール範囲を自動取得して補完一覧を表示します。
- その他mint version 3以降に必要な機能を搭載しています。
ライブラリファイルとインクルードファイルをそれぞれ所定のディレクトリに置いてください。
- lib/libmrl.a ... ライブラリ本体です。ライブラリディレクトリにコピーします。
- include/mrl.h ... C言語用ヘッダファイルです。インクルードディレクトリにコピーします。
- include/mrl.mac ... アセンブリ言語用定義ファイルです。アセンブラ用インクルードディレクトリにコピーします。
- include/mrl_util.mac ... ユーティリティ関数のアセンブリ言語用定義ファイルです。 アセンブラ用インクルードディレクトリにコピーします。
アセンブリ言語でReadLineSaveFnckey()やReadLineRestoreFnckey()
を使わない場合はmrl_util.macは不要です。
実行ファイルを作成するときにlibmrl.aをリンクします。
リリースパッケージに含まれるファイルはShift_JISに変換されているので、そのままビルドできます。
リポジトリ内のファイルについては、PCやネット上での取り扱いを用意にするためにUTF-8で記述されています。
X68000上でビルドする際には、UTF-8からShift_JISへの変換が必要です。
あらかじめ、u8tosjをビルドしてインストールしておいてください。
トップディレクトリでmakeを実行してください。以下の処理が行われます。
- build/ディレクトリの作成。
- src/内の各ファイルをShift_JISに変換してbuild/へ保存。
次に、カレントディレクトリをbuild/に変更し、makeを実行してください。
実行ファイルが作成されます。
ファイルを適当なツールで適宜Shift_JISに変換してからmakeを実行してください。
UTF-8のままでは正しくビルドできませんので注意してください。
GNU GENERAL PUBLIC LICENSE Version 3 or later.
+ GCC Runtime Library Exception
TcbnErik / 立花@桑島技研
https://github.com/kg68k/mintreadline