Clink
詳細情報
タイトル | Clink |
---|---|
URL | https://github.com/chrisant996/clink |
バージョン | ver 1.8.4 |
更新日 | 2025/09/29 |
追加日 | 2024/04/05 |
種別 | フリーソフト |
説明 | cmd.exeの機能を拡張することができるユーティリティ。 |
レビュー
ClinkはWindowsのネイティブシェルであるcmd.exeに、保管、履歴、行編集機能などを追加するユーティリティ。
これらの機能はLinuxディストリビューションの標準シェル「Bash」でも使われているGNU Readlinによって提供されている。
以下のような機能を持つ:
- 自動サジェスチョン: 履歴、ファイル、補完に基づき、入力中にサジェスチョンを表示する。
- 補完: Tab または Ctrl-Space して単語を補完できる。
- 永続的な履歴: セッション間で永続的な履歴を保存。
- スクリプト可能なプロンプト: Lua スクリプトでプロンプトを動的にカスタマイズできる。
- 入力行の色付け: 入力は文脈依存の補完スクリプトによって色付けされる。
- コマンドライン編集の改善: 新しい入力編集コマンドと設定可能なキーバインディングでコマンドラインを強化。
スクリーンショット
更新グラフ
バージョン履歴
v1.8.4
- Added a new
starship.clinkprompt
script. Runclink config prompt use starship
to use it. - Added
--all
flag to show all themes or prompts:clink config theme show --all
orclink config prompt show --all
. - Added input hint text for
:chaincommand()
and for theonadvance
andonalias
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 thehide
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).
v1.8.1
v1.8.1
- Fixed #796; unable to load Clink on Win7 and earlier (regression introduced in v1.8.0 by Readline changes).
v1.8.0
- Added an interactive list mode for choosing from available suggestions. This is similar to PowerShell's "listview" mode.
- Added a
clink-toggle-suggestion-list
command (F2 by default) which toggles the suggestion list mode on/off. - Added a
suggestionlist.default
setting which can make a Clink session start with the suggestion list mode on. - Added new
color.suggestionlist*
color settings for the suggestion list colors.
- Added a
- Added new Lua API
clink.opensessionstream()
which opens or creates a named in-memory stream that behaves like a Lua file handle and lasts for
v1.8.0
- Added an interactive list mode for choosing from available suggestions. This is similar to PowerShell's "listview" mode.
- Added a
clink-toggle-suggestion-list
command (F2 by default) which toggles the suggestion list mode on/off. - Added a
suggestionlist.default
setting which can make a Clink session start with the suggestion list mode on. - Added new
color.suggestionlist*
color settings for the suggestion list colors.
- Added a
- Added new Lua API clink.opensessionstream() which opens or creates a named in-memory stream that behaves like a Lua file handle and lasts for the duration of the Clink session, even when the Lua VM is restarted (such as by Ctrl-x,Ctrl-r).
- Added
debug.log_prompt
setting which log
v1.7.22
- Explicitly disable
loadlib
and related support in Lua; Clink uses a statically linked Lua engine and does not support dynamic C libraries. - Fixed the
onprovideline
event so it doesn't interfere with thesame_dir
mode ofprompt.transient
. - Fixed input line coloring of
echo
infor %i (1 2 3) do @echo %i
(regression introduced in v1.6.16). - Fixed how
clink autorun set
parses flags and quotes, so thatclink autorun set \"c:\my tools\clink\" inject --autorun
works as expected. - Fixed the
exec.commands
setting when an argmatcher uses:chaincommand()
. - Fixed edge cases for
@
command prefix when an argmatcher uses:chaincommand()
. - Fixed #779; an argmatcher
v1.7.21
- Fixed TAB expansion of
foo ~
when there is no argmatcher forfoo
. - Fixed #772; uninstall fails to uninstall autorun if the logged on user is not an administrator.
- Fixed #773; unexpected completion behavior after a doskey alias command.
v1.7.20
- Fixed #763; transient prompt has blank line after it if the input line is the width of the terminal (regression introduced in v1.7.0).
- Fixed #765; inside a batch script,
setlocal
interferes with injecting Clink (regression introduced in v1.1.1).
v1.7.19
- Fixed some unnecessary work that was performed when starting the Lua engine (a tiny performance boost).
- Fixed
os.getcwd()
when the LongPathsEnabled regkey is set. - Fixed the application manifest for the
clink_*.exe
programs to mark them as longPathAware (this doesn't affect CMD; while Clink is injected in CMD, then CMD's manifest is what controls long path awareness). - Fixed the
oncommand
event when usingclink-popup-history
to select and execute a command from history. - Fixed #756; Clink could potentially think it wasn't elevated when running as
LOCAL_SYSTEM
or the builtinAdministrator
account. - Fixed #758; avoid crashing in a pathological case where something else abuses CMD by injecting background threa
v1.7.18
v1.7.18
- Fixed #752;
clink config theme use {name}
reports an error (regression introduced in v1.7.17).
v1.7.17
- Added "4-bit Enhanced Defaults.clinktheme" color theme which approximates the "Enhanced Defaults" colors using only 4-bit terminal colors.
- Added a
clink config theme save -d
flag to save a color theme with placeholders for color settings whose current value matches its default value. Loading a color theme saved this way resets those colors to whatever default values are defined at the moment the file is loaded. - Changed the default behavior for throttling Lua coroutines. By default there is no throttling anymore. The new
lua.throttle_interval
setting can be used to enable throttling of Lua coroutines if they cause
v1.7.17
- Added "4-bit Enhanced Defaults.clinktheme" color theme which approximates the "Enhanced Defaults" colors using only 4-bit terminal colors.
- Added a
clink config theme save -d
flag to save a color theme with placeholders for color settings whose current value matches its default value. Loading a color theme saved this way resets those colors to whatever default values are defined at the moment the file is loaded. - Changed the default behavior for throttling Lua coroutines. By default there is no throttling anymore. The new
lua.throttle_interval
setting can be used to enable throttling of Lua coroutines if they cause responsiveness issues. Prior to this, the throttling interval had been hard-coded to 5 seconds, but now it's configurable and is 0 by default (no throttling). - Changed
rl.getpromptinfo()