-
Notifications
You must be signed in to change notification settings - Fork 84
vimshell ToDo
・グロブがマッチしない場合、zshのように、現在エラーになる。Bashのように空にするべき?
・構文解析パーザを書き直し。Lexical analyzerとparserを書いて、分離して……。というVimScriptでは考えられないことをやらないといけないかも。
特に、パイプやgaliasが絡むと問題になる。Ver.7.00で抜本的な修正予定。
・コマンドのインテリジェントな補完システム。
内部コマンドの補完は自分で作らないと。外部コマンドは候補を自動生成したいところ。
・zshのzptyのように、端末入出力を自動化する内部コマンドの追加。
どうせ似たようなことをやっている。
・zargsを移植? 拡張ブログの内容をファイルに書き出し、xargsに渡す。
・履歴に登録しないコマンドパターンを定義するオプションの追加
g:vimshell_ignore_history_pattern
・ENV=value cmdの実装。
(local ENV=value; cmd)というようなコマンドが解釈できると良いな。
・`=$hoge`とすると、変数を置換してからevalするように。
・制御構文の実装。多分一番難しい。
・time内部コマンド コマンドの実行時間を計測する。
reltime()を使って実装。コマンド列を評価せずに一つにまとめる構文が欲しい。
・cat, more(less)内部コマンドの実装。内部コマンドも標準入力を解釈する。
・hoge && fugaはfishみたいにhoge; and fugaとしたい。
・topのようにコマンドを実行するtoplessを移植。
・ドキュメントの充実
あとはキーマッピングと一部の機能か。英語マニュアルができるのはいつの日やら。
・実行ファイル名補完は カレントディレクトリ or $PATH中にある実行ファイルを補完する。
じゃないと、iexe ./scala.batが補完できなくて困る。
・エスケープシーケンスの処理をもう少しまともにする。
ひな形はできているので……。目指せslが走るレベル。
・lnkに対してcdくらいはできないとだめ?
・winline()を使えばウインドウトップからの相対位置が分かるので、カーソル移動もできる?
・非同期補完の挙動がおかしいのでどうにかしたいところ。
・echo -nに対応させる。
・リダイレクトは:redirを使って実装する。
・interactive起動したコマンドもフックできるようにする。
hook_pointは’interactive_precmd’とか。
同様に、エイリアスが指定できるとうれしい。
・exeの実行をbgと同様の非同期処理で行なう