Clink
詳細情報
タイトル | Clink |
---|---|
URL | https://github.com/chrisant996/clink |
バージョン | ver 1.8.6 |
更新日 | 2025/10/13 |
追加日 | 2024/04/05 |
種別 | フリーソフト |
説明 | cmd.exeの機能を拡張することができるユーティリティ。 |
レビュー
ClinkはWindowsのネイティブシェルであるcmd.exeに、保管、履歴、行編集機能などを追加するユーティリティ。
これらの機能はLinuxディストリビューションの標準シェル「Bash」でも使われているGNU Readlinによって提供されている。
以下のような機能を持つ:
- 自動サジェスチョン: 履歴、ファイル、補完に基づき、入力中にサジェスチョンを表示する。
- 補完: Tab または Ctrl-Space して単語を補完できる。
- 永続的な履歴: セッション間で永続的な履歴を保存。
- スクリプト可能なプロンプト: Lua スクリプトでプロンプトを動的にカスタマイズできる。
- 入力行の色付け: 入力は文脈依存の補完スクリプトによって色付けされる。
- コマンドライン編集の改善: 新しい入力編集コマンドと設定可能なキーバインディングでコマンドラインを強化。
スクリーンショット
更新グラフ
バージョン履歴
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
andclink 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. 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