Releases: delphinus/cmp-pane
Release list
v1.2.1
Fix: E5560: Vimscript function "getenv" must not be called in a fast event context
v1.2.0 の kitty 対応でバックエンドを切り出した際、自分のペイン id の取得を gather() (メインコンテキスト) から parse() へ移してしまっていました。parse() は vim.system の on_exit から呼ばれ、そこは fast event context のため vim.env を触れません。
補完を発火させると毎回このエラーが出る状態でした。kitty / WezTerm 両方のバックエンドが影響を受けます。v1.2.0 を使っている場合はこちらへ上げてください。
v1.2.0
kitty 対応 + cmp-wezterm から cmp-pane へのリネーム
端末ごとの差分をバックエンドに切り出し、kitty に対応しました。名前が端末に縛られなくなったので cmp-pane へリネームしています。
| Terminal | Detected by | Commands used |
|---|---|---|
| kitty | $KITTY_WINDOW_ID |
kitten @ ls / kitten @ get-text |
| WezTerm | $WEZTERM_PANE |
wezterm cli list / wezterm cli get-text |
kitty では remote control を有効にしてください (allow_remote_control yes と listen_on)。
既存の設定はそのまま動きます
GitHub が旧リポジトリ URL をリダイレクトするので、{ "delphinus/cmp-wezterm" } の指定は引き続き解決されます。加えて、設定に直接書かれる名前は互換シムを残しました。
| old | new |
|---|---|
{ "delphinus/cmp-wezterm" } |
{ "delphinus/cmp-pane" } |
{ name = "wezterm" } |
{ name = "pane" } |
module = "blink-cmp-wezterm" |
module = "blink-cmp-pane" |
require "cmp_wezterm" |
require "cmp_pane" |
:h cmp-wezterm |
:h cmp-pane |
旧 helptag も新しい doc の中にエイリアスとして残してあります。シムは次のメジャー (v2.0.0) で外します。
唯一の挙動変更
executable の既定を "wezterm" 固定から nil (= 検出した端末の既定。kitty なら kitten、WezTerm なら wezterm) に変更しました。明示的に指定していなければ、WezTerm での実効値は変わりません。
v1.1.3
cmp-wezterm v1.1.3
Documentation-only release.
Docs
- README's blink.cmp setup snippet now recommends
async = trueon the provider so cheap sources (buffer, snippets, etc.) render immediately and WezTerm pane candidates merge in as they arrive, instead of blocking the menu for up to blink.cmp's default 2stimeout_ms.
Migration
- nvim-cmp users: no action required.
- blink.cmp users: add
async = trueto theweztermprovider spec to avoid the menu being blocked whilewezterm cliruns. See README.
v1.1.2
cmp-wezterm v1.1.2
Documentation-only release.
Changed
- README
Featuressection and:help cmp-weztermIntroduction now open with a concrete description of what gets completed: visible text scraped from other WezTerm panes viawezterm cli get-text— file paths fromls, identifiers fromgit log, URLs incurloutput, etc.
No code changes. nvim-cmp and blink.cmp users behave identically to v1.1.1.
v1.1.1
cmp-wezterm v1.1.1
Documentation-only release.
Changed
- README now opens with a
Featuressection that lists what cmp-wezterm provides: pane scraping viawezterm cli,all_tabs/all_windowsfiltering, cancellation of in-flight subprocesses,labelDetailsshowing pane location (win:tab:id), and dual support for nvim-cmp and blink.cmp.
No code changes. nvim-cmp and blink.cmp users behave identically to v1.1.0.
v1.1.0
cmp-wezterm v1.1.0
Adds blink.cmp support. Verified via dotfiles smoke test from v1.1.0-rc.1.
Added
- blink.cmp source via
module = "blink-cmp-wezterm". See README for setup. - Cancellation support — in-flight
wezterm clisubprocesses are SIGTERM'd when the completion list is destroyed (used by blink.cmp; nvim-cmp users see no behavioral change).
Changed
after/plugin/cmp_wezterm.luanow wrapsrequire("cmp")inpcall, so blink.cmp-only users don't need nvim-cmp installed.
Migration
- nvim-cmp users: no action required.
- blink.cmp users on
blink.compat: drop theblink.compatprovider and switch tomodule = "blink-cmp-wezterm". Thecmp.utils.debugshim is no longer required either.
v1.1.0-rc.1
cmp-wezterm v1.1.0-rc.1
Pre-release adding blink.cmp support. Please test before v1.1.0.
Added
- blink.cmp source via
module = "blink-cmp-wezterm". See README for setup. - Cancellation support — in-flight
wezterm clisubprocesses are now SIGTERM'd when the completion list is destroyed (used by blink.cmp; nvim-cmp users see no behavioral change).
Changed
after/plugin/cmp_wezterm.luanow wrapsrequire("cmp")inpcall, so blink.cmp-only users don't need nvim-cmp installed.
Notes
- This is a pre-release. lazy.nvim users on
version = "*"are unaffected. - To opt in for testing:
version = "1.1.0-rc.1".
v1.0.0
cmp-wezterm v1.0.0
First semver release of cmp-wezterm — an nvim-cmp source that completes words from contents of any WezTerm pane.
Features
- Gather completion candidates from other WezTerm panes via
wezterm cli - Filter by current tab / current window (
all_tabs,all_windowsoptions, both defaulttrue) - Configurable
executable,keyword_pattern,trigger_characters - Pane location (
win:tab:id) shown inlabelDetails
Requirements
- Neovim v0.10.0+
- nvim-cmp
- WezTerm
See :help cmp-wezterm for details.