Clink

詳細情報

タイトル Clink
URL https://github.com/chrisant996/clink
バージョン ver 1.9.3
更新日 2025/11/28
追加日 2024/04/05
種別 フリーソフト
説明 cmd.exeの機能を拡張することができるユーティリティ。

レビュー

ClinkはWindowsのネイティブシェルであるcmd.exeに、保管、履歴、行編集機能などを追加するユーティリティ。

これらの機能はLinuxディストリビューションの標準シェル「Bash」でも使われているGNU Readlinによって提供されている。

以下のような機能を持つ:

  • 自動サジェスチョン: 履歴、ファイル、補完に基づき、入力中にサジェスチョンを表示する。
  • 補完: Tab または Ctrl-Space して単語を補完できる。
  • 永続的な履歴: セッション間で永続的な履歴を保存。
  • スクリプト可能なプロンプト: Lua スクリプトでプロンプトを動的にカスタマイズできる。
  • 入力行の色付け: 入力は文脈依存の補完スクリプトによって色付けされる。
  • コマンドライン編集の改善: 新しい入力編集コマンドと設定可能なキーバインディングでコマンドラインを強化。

スクリーンショット

更新グラフ

バージョン履歴

v1.9.3

v1.9.3

  • Added new CLINK_ANSI_HOST environment variable to control Clink's terminal support in a session without needing to change the terminal.emulation setting in the profile.
  • Added new terminal.shell_integration setting to control sending shell integration codes to the terminal.
  • Optimized detection of Windows Terminal and resolved all known misdetection cases (tested more than 20 different specific cases).
  • Fixed incorrect width measurement of U+3030, U+303D, U+3297, and U+3299.
  • Fixed edge cases in parsing invalid UTF16.
  • Fixed #821; workaround for an issue occurring in WezTerm (Nightly builds of WezTerm worked, but the current WezTerm release is from February 2024 and contains an old version of ConPTY that lacks a specific fix).
(省略されました)
v1.9.2

v1.9.2

  • Added workaround for JetBrains terminal bug (#819).

v1.9.1

  • Fixed #817; error reporting was not graceful if the updater encountered a failure trying to access the github URLs (e.g. if a firewall blocks outgoing network calls).

v1.9.0

  • Added new Lua API http.request() which invokes an http request (and yields when used in a coroutine) and returns the result.
  • Change the updater to no longer use Powershell; now it uses native OS APIs for http requests and zip file extraction.
  • Fixed detection of Windows Terminal when the OS automatically launched WT (regression introduced in v1.8.5).
  • Fixed match display filtering sometimes running match generators twice.
  • Fixed the out
(省略されました)
v1.9.1

v1.9.1

  • Fixed #817; error reporting was not graceful if the updater encountered a failure trying to access the github URLs (e.g. if a firewall blocks outgoing network calls).

v1.9.0

  • Added new Lua API http.request() which invokes an http request (and yields when used in a coroutine) and returns the result.
  • Change the updater to no longer use Powershell; now it uses native OS APIs for http requests and zip file extraction.
  • Fixed detection of Windows Terminal when the OS automatically launched WT (regression introduced in v1.8.5).
  • Fixed match display filtering sometimes running match generators twice.
  • Fixed the out command in the Lua debugger.
  • Fixed the suggestion list to not intercept keys while a multikey input cho
(省略されました)
v1.9.0
  • Added new Lua API http.request() which invokes an http request (and yields when used in a coroutine) and returns the result.
  • Change the updater to no longer use Powershell; now it uses native OS APIs for http requests and zip file extraction.
  • Fixed detection of Windows Terminal when the OS automatically launched WT (regression introduced in v1.8.5).
  • Fixed match display filtering sometimes running match generators twice.
  • Fixed the out command in the Lua debugger.
  • Fixed the suggestion list to not intercept keys while a multikey input chord is in progress (e.g. if Ctrl-x,Esc is bound, then the suggestion list intercepted the Esc key by mistake, causing the input to be misinterpreted).
  • Fixed pagination for UTF8 macro text entries in clink-
(省略されました)
v1.8.8
  • Changed the installer to always install the icon files.
  • Fixed the clink.bat script and the updater when the user account name contains & | < or > characters.
  • Fixed display and insertion of completions generated by argmatchers that used fromhistory=true.
  • Fixed the uninstaller to delete some files it accidentally left behind.
  • Fixed a diagnostic message lacking detail in an obscure case of coroutine cancellation.
v1.8.7
  • Changed to only generate suggestions if there is no more input available. For example, otherwise pasting input could repeatedly generate suggestions over and over and refresh the display, even though the suggestions will be discarded by the next input key.
  • Changed the clink-diagnostics command to show total time spent by each coroutine.
v1.8.6
  • Changed how repeated deletions work in popup lists (such as the history popup list): pressing Del repeatedly now deletes downwards by default (previously it deleted upwards).
  • Added new clink.popup_delete_direction setting to control the direction of deletions when pressing Del repeatedly in popup lists (such as the history popup list).
  • Added new Lua API clink.argmatcherloader() which registers a callback function that can intercept and extend on-demand loading for argmatchers.
  • Running clink config prompt show now shows the name of the currently selected *.clinkprompt custom prompt (if any).
  • Fixed macro text playback in macros containing a newline (regression introduced by an incorrect change in v1.2.34 which was exacerbated by a change in v1.7.17).
<
(省略されました)
v1.8.5
  • Added new Lua API os.getdiskfreespace() which returns the free and total space.
  • Improved detection of Windows Terminal during clink config prompt.
  • Fixed clink config prompt and clink set to load the user's .inputrc file (some settings it in can affect prompt previews, for example).
v1.8.4
  • Added a new starship.clinkprompt script. Run clink config prompt use starship to use it.
  • Added --all flag to show all themes or prompts: clink config theme show --all or clink config prompt show --all.
  • Added input hint text for :chaincommand() and for the onadvance and onalias callbacks. If no input hint is specified then the default input hint text is "Argument expected: command [args]".
  • Improved error reporting in the oh-my-posh.clinkprompt script.
  • Fixed input line coloring for clink set some_string_setting clear.
  • Fixed #799; in legacy console, using the clink-selectall-conhost bindable command scrolls back to the last line after dismissing the Fi
(省略されました)
v1.8.3
  • Added an optional hide= field in _argmatcher:addarg() and _argmatcher:addflags(). Any strings listed in the hide field are added to the argument slot or list of flags, but completion functions will not show them. This gives argument slots the same ability that flags had with _argmatcher:hideflags().
  • Added the OSC9;9 escape sequence to the prompt in Windows Terminal and ConEmu, to let the terminal know the current directory. For example, this enables Windows Terminal's "Duplicate Tab" command to apply the current directory to the new tab.
  • Fixed the suggestion list to hide and go temporarily inactive after commands like complete which print some output and then show another prompt line. The suggestion list becomes active again after something changes the
(省略されました)
v1.8.2

v1.8.2

  • Improved highlight position and length detection in the suggestion list for some completions.
  • Added new suggestionlist.num_history setting to control how many history suggestions can be shown before suggestions from other sources (from 1 to 8).
  • Added an optimization when re-drawing the suggestion list.
  • Added to vi mode the F2 key binding for the clink-toggle-suggestion-list command.
  • Fixed the right alignment of the autosuggest hint string in vi mode (regression introduced in v1.3.43).
  • Fixed #797; crash when typing in vi mode (regression introduced in v1.8.0).

v1.8.1

  • Fixed #796; unable to load Clink on Win7 and earlier (regression introduced in v1.8.0 by Readline changes).
(省略されました)