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 スクリプトでプロンプトを動的にカスタマイズできる。
  • 入力行の色付け: 入力は文脈依存の補完スクリプトによって色付けされる。
  • コマンドライン編集の改善: 新しい入力編集コマンドと設定可能なキーバインディングでコマンドラインを強化。

スクリーンショット

更新グラフ

Created with Highcharts 5.0.2Total更新回数24/0524/0624/0724/0824/0924/1024/1124/1225/0125/0225/0325/0401234

バージョン履歴

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 complete x:\does_not_exist.
  • Fixed input line coloring to refresh the display if clink.argmatcher() registers a new argmatcher in response to an event such as clink.oncommand.
  • Fixed extra prompt(s) that could printed if a luafunc: command used rl_buffer:beginoutput() and then rl.invokecommand() to invoke another luafunc: command that did the same, nesting multiple times.
  • Fixed negative numeric arguments with rl_buffer:getargument() and rl_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 the clink-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 and clink-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 the clink_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 in clink.popuplist().
  • Fixed #709; TAB expansion doesn't work for cd ~ (regression introduced in v1.3.36).