Clink
詳細情報
タイトル | Clink |
---|---|
URL | https://github.com/chrisant996/clink |
バージョン | ver 1.7.16 |
更新日 | 2025/04/14 |
追加日 | 2024/04/05 |
種別 | フリーソフト |
説明 | cmd.exeの機能を拡張することができるユーティリティ。 |
レビュー
ClinkはWindowsのネイティブシェルであるcmd.exeに、保管、履歴、行編集機能などを追加するユーティリティ。
これらの機能はLinuxディストリビューションの標準シェル「Bash」でも使われているGNU Readlinによって提供されている。
以下のような機能を持つ:
- 自動サジェスチョン: 履歴、ファイル、補完に基づき、入力中にサジェスチョンを表示する。
- 補完: Tab または Ctrl-Space して単語を補完できる。
- 永続的な履歴: セッション間で永続的な履歴を保存。
- スクリプト可能なプロンプト: Lua スクリプトでプロンプトを動的にカスタマイズできる。
- 入力行の色付け: 入力は文脈依存の補完スクリプトによって色付けされる。
- コマンドライン編集の改善: 新しい入力編集コマンドと設定可能なキーバインディングでコマンドラインを強化。
スクリーンショット
更新グラフ
バージョン履歴
v1.7.16
- Fixed potential crash after pressing Home and then deleting the first word in the input line (regression introduced in v1.7.15).
v1.7.15
- Fixed the sequence of characters
clink echo
reports for Ctrl-Bkspc. - Fixed an issue where the
match.expand_abbrev
setting could accidentally move the cursor position when trying to completex:\does_not_exist
. - Fixed input line coloring to refresh the display if
clink.argmatcher()
registers a new argmatcher in response to an event such asclink.oncommand
. - Fixed extra prompt(s) that could printed if a
luafunc:
command usedrl_buffer:beginoutput()
and thenrl.invokecommand()
to invoke anotherluafunc:
command that did the same, nesting multiple times. - Fixed negative numeric arguments with
rl_buffer:getargument()
andrl_buffer:setargument()
. - Fixed potential heap
v1.7.14
- Added a new
clink.scroll_offset
setting which controls how many lines to show above or below the selected item in popup lists or theclink-select-complete
command (default is 3). - Changed
clink set name
to include the default value of the named setting. - The Antares clinkprompt now allows configuring the characters for showing the previous command's exit code (refer to the Antares.clinkprompt file for details).
- The
clink-diagnostics
andclink-diagnostics-output
bindable commands also show the current *.clinkprompt custom prompt file, if any. - Fixed a problem where Esc could leak or corrupt history undo lists when used after searching history (the problem existed since v0.1 in 2012).
- Fixed the
clink-show-help
command to s
v1.7.13
- Added an error message when
clink set
fails to write theclink_settings
file (e.g. no permission or the file is marked read-only). - Added logging when
clink inject
is slow. - Added keyboard info in
clink echo --verbose
. - Condensed the logging during
clink inject
, but if an error occurs while hooking system APIs then it automatically emits verbose logging instead of condensed logging. - Fixed the maximum vertical scroll position limiter to include the input hint row when using the legacy Windows conhost.
- Fixed #732; Executable Completion does not recognize
.LNK
files.
v1.7.12
- Fixed what
io.popenyield()
returns upon failure; previously it accidentally only returned nil, and now upon failure it returns the usual values (nil, error message, error code). - Fixed #727; custom prompts can crash Clink when
cd
into a path that exceeds MAX_PATH length.
v1.7.11
- Changed the
clink-diagnostics-output
bindable command to include a list of the current Clink settings. - Changed logged error codes to include the corresponding message text for the error code.
- Fixed input hints in chained argmatchers (it could sometimes show a hint from the preceding word by mistake).
- Fixed height of scrollbars in popup lists and in the
select-complete
command (they were half as tall as they should have been).
v1.7.10
- Added new Lua API unicode.char(), similar to string.char() but for Unicode codepoints instead of ASCII values.
- Added a
clink-diagnostics-output
bindable command, bound by default to Ctrl-X,Ctrl-Shift-Z. The command writes internal diagnostic information to a file which can be shared to simplify troubleshooting. This command also includes a list of all loaded Lua scripts. - Fixed #721; potential crash if console window width is less than console screen buffer width (regression introduced in v1.7.5).
v1.7.9
- Fixed #719; async prompt filtering can stall for 15 seconds (regression introduced in v1.7.8).
v1.7.8
- Added Ctrl-C binding in vi keymaps, to match normal Readline behavior (#716).
- Fixed missing auto-suggestions when anchored to the end of the input line (regression introduced in v1.6.4).
- Fixed #718; potential for "coroutine is orphaned" error, depending on the CPU speed and how
autosuggest.strategy
is configured (regression introduced in v1.3.26).
v1.7.7
- Fixed #713; character width measurements are wrong for some Chinese characters in terminals other than Windows Terminal (regression introduced in v1.7.6).
v1.7.6
- Update Win8.1 character width measurements from wcwidth-verifier.
- Fixed a case where other popup list colors could interfere with the
colors.border
color inclink.popuplist()
. - Fixed #709; TAB expansion doesn't work for
cd ~
(regression introduced in v1.3.36).