mirror of
https://github.com/skywind3000/z.lua
synced 2026-03-27 10:09:48 +00:00
Compare commits
27 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
6025da3ae5 | ||
|
|
1ebe5bcaa7 | ||
|
|
e1eb7a2104 | ||
|
|
f80e22498c | ||
|
|
ce1ee31529 | ||
|
|
aebea97d8e | ||
|
|
314dd0a29d | ||
|
|
3482460bd2 | ||
|
|
bcb5599c12 | ||
|
|
ef8767c5f0 | ||
|
|
23aeabedd9 | ||
|
|
27dceb9899 | ||
|
|
19b2d1747e | ||
|
|
7c1c73af33 | ||
|
|
b63a38b11a | ||
|
|
c524e28851 | ||
|
|
c3a182c6c9 | ||
|
|
771c72de5f | ||
|
|
4bbd0f1e58 | ||
|
|
db1fb1f256 | ||
|
|
19cb43d1ac | ||
|
|
787da9512c | ||
|
|
3875d774cb | ||
|
|
dff590adc1 | ||
|
|
20c0494d44 | ||
|
|
67405d57e8 | ||
|
|
6e67a32520 |
1
.gitignore
vendored
1
.gitignore
vendored
@@ -39,3 +39,4 @@ luac.out
|
|||||||
*.x86_64
|
*.x86_64
|
||||||
*.hex
|
*.hex
|
||||||
|
|
||||||
|
/.vscode/*
|
||||||
|
|||||||
17
README.cn.md
17
README.cn.md
@@ -14,7 +14,7 @@ z.lua 是一个快速路径切换工具,它会跟踪你在 shell 下访问过
|
|||||||
|
|
||||||
- 性能比 **z.sh** 快三倍,比 **fasd** / **autojump** 快十倍以上。
|
- 性能比 **z.sh** 快三倍,比 **fasd** / **autojump** 快十倍以上。
|
||||||
- 支持 Posix Shell:bash, zsh, dash, sh, ash, busybox 等等。
|
- 支持 Posix Shell:bash, zsh, dash, sh, ash, busybox 等等。
|
||||||
- 支持 Fish Shell,Power Shell 和 Windows cmd。
|
- 支持 Fish Shell,Nushell, Power Shell 和 Windows cmd。
|
||||||
- 使用增强匹配算法,更准确的带你去到你想去的地方。
|
- 使用增强匹配算法,更准确的带你去到你想去的地方。
|
||||||
- 低占用,能够仅在当前路径改变时才更新数据库(将 `$_ZL_ADD_ONCE` 设成 1)。
|
- 低占用,能够仅在当前路径改变时才更新数据库(将 `$_ZL_ADD_ONCE` 设成 1)。
|
||||||
- 交互选择模式,如果有多个匹配结果的话,跳转前允许你进行选择。
|
- 交互选择模式,如果有多个匹配结果的话,跳转前允许你进行选择。
|
||||||
@@ -93,7 +93,6 @@ z -b foo # 跳转到父目录中名称以 foo 开头的那一级
|
|||||||
然后在 `config.nu` 中加入如下代码:
|
然后在 `config.nu` 中加入如下代码:
|
||||||
|
|
||||||
source ~/.cache/zlua.nu
|
source ~/.cache/zlua.nu
|
||||||
alias z = _zlua
|
|
||||||
|
|
||||||
- Power Shell:
|
- Power Shell:
|
||||||
|
|
||||||
@@ -123,7 +122,7 @@ z -b foo # 跳转到父目录中名称以 foo 开头的那一级
|
|||||||
- 设置 `$_ZL_NO_PROMPT_COMMAND` 为 1 来跳过钩子函数初始化(方便自己处理)。
|
- 设置 `$_ZL_NO_PROMPT_COMMAND` 为 1 来跳过钩子函数初始化(方便自己处理)。
|
||||||
- 设置 `$_ZL_EXCLUDE_DIRS` 逗号分隔的路径列表,列表内的路径不会被收集。
|
- 设置 `$_ZL_EXCLUDE_DIRS` 逗号分隔的路径列表,列表内的路径不会被收集。
|
||||||
- 设置 `$_ZL_ADD_ONCE` 为 '1' 时,仅在当前路径 `$PWD` 改变时才更新数据库。
|
- 设置 `$_ZL_ADD_ONCE` 为 '1' 时,仅在当前路径 `$PWD` 改变时才更新数据库。
|
||||||
- 设置 `$_ZL_MAXAGE` 来确定一个数据老化的阀值 (默认为 5000)。
|
- 设置 `$_ZL_MAXAGE` 来确定一个数据老化的阈值 (默认为 5000)。
|
||||||
- 设置 `$_ZL_CD` 用来指定你想用的 cd 命令,比如有人用 cd_func 。
|
- 设置 `$_ZL_CD` 用来指定你想用的 cd 命令,比如有人用 cd_func 。
|
||||||
- 设置 `$_ZL_ECHO` 为 1 可以在跳转后显示目标路径名称。
|
- 设置 `$_ZL_ECHO` 为 1 可以在跳转后显示目标路径名称。
|
||||||
- 设置 `$_ZL_MATCH_MODE` 为 1 可以打开 “增强匹配模式”。
|
- 设置 `$_ZL_MATCH_MODE` 为 1 可以打开 “增强匹配模式”。
|
||||||
@@ -212,7 +211,7 @@ Frecency 是一个由 'recent' 和 'frequency' 组成的合成词,这个术语
|
|||||||
|
|
||||||
cd foo
|
cd foo
|
||||||
|
|
||||||
因此,在增强匹配算法中,你总可以象 cd 命令一样使用 z 命令,而不必当心目标路径是否被记录过。
|
因此,在增强匹配算法中,你总可以像 cd 命令一样使用 z 命令,而不必当心目标路径是否被记录过。
|
||||||
|
|
||||||
- 忽略当前路径:
|
- 忽略当前路径:
|
||||||
|
|
||||||
@@ -225,7 +224,7 @@ Frecency 是一个由 'recent' 和 'frequency' 组成的合成词,这个术语
|
|||||||
|
|
||||||
我当然可以每次使用`z env gems` 来精确指明,但是每当我输入 `z xxx` 我必然是想进行路径跳转的,而不是呆在原地,所以使用增强匹配模式,即便当前目录是最佳匹配,它也能懂得你想跳转的心思。
|
我当然可以每次使用`z env gems` 来精确指明,但是每当我输入 `z xxx` 我必然是想进行路径跳转的,而不是呆在原地,所以使用增强匹配模式,即便当前目录是最佳匹配,它也能懂得你想跳转的心思。
|
||||||
|
|
||||||
再我最初实现 z.lua 时,只有一个和 z.sh 类似的默认匹配算法,在网友的建议下,我陆续学习了来自 fasd / autojump 中的优秀理念,并加以完善改进,成为如今集三家之长的 “增强匹配算法” ,给它取个昵称,叫做 “更懂你的匹配算法”。
|
在我最初实现 z.lua 时,只有一个和 z.sh 类似的默认匹配算法,在网友的建议下,我陆续学习了来自 fasd / autojump 中的优秀理念,并加以完善改进,成为如今集三家之长的 “增强匹配算法” ,给它取个昵称,叫做 “更懂你的匹配算法”。
|
||||||
|
|
||||||
|
|
||||||
## Add once
|
## Add once
|
||||||
@@ -455,15 +454,13 @@ sys 0m0.030s
|
|||||||
|
|
||||||
描述力强,可以更好的实现核心功能,同时速度更快,纯 shell 开发的话,太多语句是通过子进程 shell 的模式运行,所以性能很差,而 Python 开发的话启动速度又太慢,我在 Cygwin/msys 下用 z.sh 都觉得很卡,autojump/fasd 卡到不能用。
|
描述力强,可以更好的实现核心功能,同时速度更快,纯 shell 开发的话,太多语句是通过子进程 shell 的模式运行,所以性能很差,而 Python 开发的话启动速度又太慢,我在 Cygwin/msys 下用 z.sh 都觉得很卡,autojump/fasd 卡到不能用。
|
||||||
|
|
||||||
最关键的一点,Lua 速度很快 200 KB 的可执行程序,启动速度是 python 的 3倍,perl 的 2 倍,很多命令行工具 go/rust 写成,动不动就 2MB / 3MB,他们都还没有完成加载,lua 脚本可能都运行完了。
|
最关键的一点,Lua 速度很快 200 KB 的可执行程序,启动速度是 python 的 3 倍,perl 的 2 倍,很多命令行工具 go/rust 写成,动不动就 2MB / 3MB,他们都还没有完成加载,lua 脚本可能都运行完了。
|
||||||
|
|
||||||
|
|
||||||
## Credit
|
## Credit
|
||||||
|
|
||||||
Releated projects:
|
我的推特:https://x.com/skywind3000
|
||||||
|
个人博客: https://skywind.me/blog
|
||||||
- [rupa/z](https://github.com/rupa/z): origin z.sh implementation
|
|
||||||
- [JannesMeyer/z.ps](https://github.com/JannesMeyer/z.ps): z for powershell
|
|
||||||
|
|
||||||
|
|
||||||
## License
|
## License
|
||||||
|
|||||||
33
README.md
33
README.md
@@ -28,7 +28,7 @@ From people using z.lua:
|
|||||||
- **10x** times faster than **fasd** and **autojump**, **3x** times faster than **z.sh**.
|
- **10x** times faster than **fasd** and **autojump**, **3x** times faster than **z.sh**.
|
||||||
- Gain the ultimate speed with an optional [native module](https://github.com/skywind3000/czmod) written in C.
|
- Gain the ultimate speed with an optional [native module](https://github.com/skywind3000/czmod) written in C.
|
||||||
- Available for **posix shells**: bash, zsh, dash, sh, ash, ksh, busybox and etc.
|
- Available for **posix shells**: bash, zsh, dash, sh, ash, ksh, busybox and etc.
|
||||||
- Available for Fish Shell, Power Shell and Windows cmd.
|
- Available for Fish Shell, Nushell, Power Shell and Windows cmd.
|
||||||
- [Enhanced matching algorithm](#enhanced-matching) takes you to where ever you want precisely.
|
- [Enhanced matching algorithm](#enhanced-matching) takes you to where ever you want precisely.
|
||||||
- Allow updating database only if `$PWD` changed with "$_ZL_ADD_ONCE" set to 1.
|
- Allow updating database only if `$PWD` changed with "$_ZL_ADD_ONCE" set to 1.
|
||||||
- Interactive selection enables you to choose where to go before cd.
|
- Interactive selection enables you to choose where to go before cd.
|
||||||
@@ -58,15 +58,6 @@ z -b foo bar # replace foo with bar in cwd and cd there
|
|||||||
|
|
||||||
## Install
|
## Install
|
||||||
|
|
||||||
- Fig (works with all shells)
|
|
||||||
|
|
||||||
[Fig](https://fig.io) adds apps, shortcuts, and autocomplete to your existing terminal.
|
|
||||||
|
|
||||||
|
|
||||||
Install `z.lua` in just one click.
|
|
||||||
|
|
||||||
<a href="https://fig.io/plugins/other/z.lua" target="_blank"><img src="https://fig.io/badges/install-with-fig.svg" /></a>
|
|
||||||
|
|
||||||
- Bash:
|
- Bash:
|
||||||
|
|
||||||
put something like this in your `.bashrc`:
|
put something like this in your `.bashrc`:
|
||||||
@@ -87,6 +78,12 @@ z -b foo bar # replace foo with bar in cwd and cd there
|
|||||||
|
|
||||||
eval "$(lua /path/to/z.lua --init bash enhanced once fzf)"
|
eval "$(lua /path/to/z.lua --init bash enhanced once fzf)"
|
||||||
|
|
||||||
|
NixOS users using home-manager can add this to their user profile:
|
||||||
|
|
||||||
|
programs.z-lua.enable = true;
|
||||||
|
programs.z-lua.enableBashIntegration = true;
|
||||||
|
programs.z-lua.options = [ "enhanced" "once" "fzf" ]; # modify as needed
|
||||||
|
|
||||||
**NOTE**: For wsl-1 users, `lua-filesystem` must be installed:
|
**NOTE**: For wsl-1 users, `lua-filesystem` must be installed:
|
||||||
|
|
||||||
sudo apt-get install lua-filesystem
|
sudo apt-get install lua-filesystem
|
||||||
@@ -101,6 +98,12 @@ z -b foo bar # replace foo with bar in cwd and cd there
|
|||||||
|
|
||||||
Options like "enhanced", "once" and "fzf" can be used after `--init` too. It can also be initialized from "skywind3000/z.lua" with your zsh plugin managers (antigen / oh-my-zsh).
|
Options like "enhanced", "once" and "fzf" can be used after `--init` too. It can also be initialized from "skywind3000/z.lua" with your zsh plugin managers (antigen / oh-my-zsh).
|
||||||
|
|
||||||
|
NixOS users using home-manager can add this to their user profile:
|
||||||
|
|
||||||
|
programs.z-lua.enable = true;
|
||||||
|
programs.z-lua.enableZshIntegration = true;
|
||||||
|
programs.z-lua.options = [ "enhanced" "once" "fzf" ]; # modify as needed
|
||||||
|
|
||||||
**NOTE**: for wsl-1 users, `lua-filesystem` must be installed.
|
**NOTE**: for wsl-1 users, `lua-filesystem` must be installed.
|
||||||
|
|
||||||
- Posix Shells:
|
- Posix Shells:
|
||||||
@@ -127,6 +130,12 @@ z -b foo bar # replace foo with bar in cwd and cd there
|
|||||||
|
|
||||||
into the same file.
|
into the same file.
|
||||||
|
|
||||||
|
NixOS users using home-manager can add this to their user profile:
|
||||||
|
|
||||||
|
programs.z-lua.enable = true;
|
||||||
|
programs.z-lua.enableFishIntegration = true;
|
||||||
|
programs.z-lua.options = [ "enhanced" "once" "fzf" ]; # modify as needed
|
||||||
|
|
||||||
- Nushell
|
- Nushell
|
||||||
|
|
||||||
Put something like this in your `env.nu`:
|
Put something like this in your `env.nu`:
|
||||||
@@ -136,7 +145,8 @@ z -b foo bar # replace foo with bar in cwd and cd there
|
|||||||
Then put something like this in your `config.nu`:
|
Then put something like this in your `config.nu`:
|
||||||
|
|
||||||
source ~/.cache/zlua.nu
|
source ~/.cache/zlua.nu
|
||||||
alias z = _zlua
|
|
||||||
|
Note: Only Nushell v0.96+ is supported
|
||||||
|
|
||||||
- Power Shell:
|
- Power Shell:
|
||||||
|
|
||||||
@@ -607,6 +617,7 @@ This project needs help for the tasks below:
|
|||||||
- Thanks to [@manhong2112](https://github.com/manhong2112) for Power Shell porting.
|
- Thanks to [@manhong2112](https://github.com/manhong2112) for Power Shell porting.
|
||||||
- Thanks to [@BarbUk](https://github.com/BarbUk) for fzf completion in Bash.
|
- Thanks to [@BarbUk](https://github.com/BarbUk) for fzf completion in Bash.
|
||||||
- Thanks to [@barlik](https://github.com/barlik) for many improvements.
|
- Thanks to [@barlik](https://github.com/barlik) for many improvements.
|
||||||
|
- Thanks to [@brglng](https://github.com/brglng) for nushell porting.
|
||||||
|
|
||||||
And many others.
|
And many others.
|
||||||
|
|
||||||
|
|||||||
2
z.cmd
2
z.cmd
@@ -89,7 +89,9 @@ if /i "%1"=="--purge" (
|
|||||||
:check
|
:check
|
||||||
|
|
||||||
if /i "%1"=="" (
|
if /i "%1"=="" (
|
||||||
|
if /i "%InterMode%"=="" (
|
||||||
set "RunMode=-l"
|
set "RunMode=-l"
|
||||||
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
for /f "delims=" %%i in ('cd') do set "PWD=%%i"
|
for /f "delims=" %%i in ('cd') do set "PWD=%%i"
|
||||||
|
|||||||
33
z.lua
33
z.lua
@@ -4,7 +4,7 @@
|
|||||||
-- z.lua - a cd command that learns, by skywind 2018-2022
|
-- z.lua - a cd command that learns, by skywind 2018-2022
|
||||||
-- Licensed under MIT license.
|
-- Licensed under MIT license.
|
||||||
--
|
--
|
||||||
-- Version 1.8.18, Last Modified: 2024/04/30 17:11
|
-- Version 1.8.25, Last Modified: 2026/03/09 21:15:46
|
||||||
--
|
--
|
||||||
-- * 10x faster than fasd and autojump, 3x faster than z.sh
|
-- * 10x faster than fasd and autojump, 3x faster than z.sh
|
||||||
-- * available for posix shells: bash, zsh, sh, ash, dash, busybox
|
-- * available for posix shells: bash, zsh, sh, ash, dash, busybox
|
||||||
@@ -235,7 +235,8 @@ end
|
|||||||
function dump(o)
|
function dump(o)
|
||||||
if type(o) == 'table' then
|
if type(o) == 'table' then
|
||||||
local s = '{ '
|
local s = '{ '
|
||||||
for k,v in pairs(o) do
|
for key, v in pairs(o) do
|
||||||
|
local k = key
|
||||||
if type(k) ~= 'number' then k = '"'..k..'"' end
|
if type(k) ~= 'number' then k = '"'..k..'"' end
|
||||||
s = s .. '['..k..'] = ' .. dump(v) .. ','
|
s = s .. '['..k..'] = ' .. dump(v) .. ','
|
||||||
end
|
end
|
||||||
@@ -1612,6 +1613,7 @@ function z_cd(patterns)
|
|||||||
if patterns == nil then
|
if patterns == nil then
|
||||||
return nil
|
return nil
|
||||||
end
|
end
|
||||||
|
if Z_INTERACTIVE == 0 then
|
||||||
if #patterns == 0 then
|
if #patterns == 0 then
|
||||||
return nil
|
return nil
|
||||||
end
|
end
|
||||||
@@ -1629,6 +1631,7 @@ function z_cd(patterns)
|
|||||||
return os.path.norm(last)
|
return os.path.norm(last)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
end
|
||||||
local M = z_match(patterns, Z_METHOD, Z_SUBDIR)
|
local M = z_match(patterns, Z_METHOD, Z_SUBDIR)
|
||||||
if M == nil then
|
if M == nil then
|
||||||
return nil
|
return nil
|
||||||
@@ -1668,15 +1671,15 @@ function z_cd(patterns)
|
|||||||
local flag = os.environ('_ZL_FZF_FLAG', '')
|
local flag = os.environ('_ZL_FZF_FLAG', '')
|
||||||
flag = (flag == '' or flag == nil) and '+s -e' or flag
|
flag = (flag == '' or flag == nil) and '+s -e' or flag
|
||||||
cmd = ((fzf == '') and 'fzf' or fzf) .. ' ' .. cmd .. ' ' .. flag
|
cmd = ((fzf == '') and 'fzf' or fzf) .. ' ' .. cmd .. ' ' .. flag
|
||||||
if not windows then
|
|
||||||
tmpname = os.tmpname()
|
|
||||||
local height = os.environ('_ZL_FZF_HEIGHT', '35%')
|
local height = os.environ('_ZL_FZF_HEIGHT', '35%')
|
||||||
if height ~= nil and height ~= '' and height ~= '0' then
|
if height ~= nil and height ~= '' and height ~= '0' then
|
||||||
cmd = cmd .. ' --height ' .. height
|
cmd = cmd .. ' --height ' .. height
|
||||||
end
|
end
|
||||||
|
if not windows then
|
||||||
|
tmpname = os.tmpname()
|
||||||
cmd = cmd .. ' < "' .. tmpname .. '"'
|
cmd = cmd .. ' < "' .. tmpname .. '"'
|
||||||
else
|
else
|
||||||
tmpname = os.tmpname():gsub('\\', ''):gsub('%.', '')
|
tmpname = os.tmpname():gsub('[\\:]', ''):gsub('%.', '')
|
||||||
tmpname = os.environ('TMP', '') .. '\\zlua_' .. tmpname .. '.txt'
|
tmpname = os.environ('TMP', '') .. '\\zlua_' .. tmpname .. '.txt'
|
||||||
cmd = 'type "' .. tmpname .. '" | ' .. cmd
|
cmd = 'type "' .. tmpname .. '" | ' .. cmd
|
||||||
end
|
end
|
||||||
@@ -1873,7 +1876,7 @@ function cd_breadcrumbs(pwd, interactive)
|
|||||||
if not windows then
|
if not windows then
|
||||||
tmpname = os.tmpname()
|
tmpname = os.tmpname()
|
||||||
else
|
else
|
||||||
tmpname = os.tmpname():gsub('\\', ''):gsub('%.', '')
|
tmpname = os.tmpname():gsub('[\\:]', ''):gsub('%.', '')
|
||||||
tmpname = os.environ('TMP', '') .. '\\zlua_' .. tmpname .. '.txt'
|
tmpname = os.environ('TMP', '') .. '\\zlua_' .. tmpname .. '.txt'
|
||||||
end
|
end
|
||||||
fp = io.open(tmpname, 'w')
|
fp = io.open(tmpname, 'w')
|
||||||
@@ -1971,13 +1974,13 @@ function main(argv)
|
|||||||
end
|
end
|
||||||
elseif options['-'] then
|
elseif options['-'] then
|
||||||
path = cd_minus(args, options)
|
path = cd_minus(args, options)
|
||||||
elseif #args == 0 then
|
elseif #args == 0 and Z_INTERACTIVE == 0 then
|
||||||
path = nil
|
path = nil
|
||||||
else
|
else
|
||||||
path = z_cd(args)
|
path = z_cd(args)
|
||||||
if path == nil and Z_MATCHMODE ~= 0 then
|
if path == nil and Z_MATCHMODE ~= 0 then
|
||||||
local last = args[#args]
|
local last = args[#args]
|
||||||
if os.path.isdir(last) then
|
if last and os.path.isdir(last) then
|
||||||
path = os.path.abspath(last)
|
path = os.path.abspath(last)
|
||||||
path = os.path.norm(path)
|
path = os.path.norm(path)
|
||||||
end
|
end
|
||||||
@@ -2020,9 +2023,14 @@ function main(argv)
|
|||||||
z_print(M, true, false)
|
z_print(M, true, false)
|
||||||
end
|
end
|
||||||
elseif options['--complete'] then
|
elseif options['--complete'] then
|
||||||
|
local M = {}
|
||||||
|
if options['-m1'] then
|
||||||
|
M = z_match(args and args or {}, Z_METHOD, Z_SUBDIR)
|
||||||
|
else
|
||||||
local line = args[1] and args[1] or ''
|
local line = args[1] and args[1] or ''
|
||||||
local head = line:sub(Z_CMD:len()+1):gsub('^%s+', '')
|
local head = line:sub(Z_CMD:len()+1):gsub('^%s+', '')
|
||||||
local M = z_match({head}, Z_METHOD, Z_SUBDIR)
|
M = z_match({head}, Z_METHOD, Z_SUBDIR)
|
||||||
|
end
|
||||||
for _, item in pairs(M) do
|
for _, item in pairs(M) do
|
||||||
print(item.name)
|
print(item.name)
|
||||||
end
|
end
|
||||||
@@ -2805,7 +2813,7 @@ end
|
|||||||
-- nushell
|
-- nushell
|
||||||
-----------------------------------------------------------------------
|
-----------------------------------------------------------------------
|
||||||
local script_zlua_nushell = [[
|
local script_zlua_nushell = [[
|
||||||
def _zlua --env --wrapped [...args: string] {
|
export def _zlua --env --wrapped [...args: string] {
|
||||||
if ($args | length) != 0 and $args.0 == "--add" {
|
if ($args | length) != 0 and $args.0 == "--add" {
|
||||||
with-env { _ZL_RANDOM: (random int) } { ^$env.ZLUA_LUAEXE $env.ZLUA_SCRIPT --add ...($args | skip 1) }
|
with-env { _ZL_RANDOM: (random int) } { ^$env.ZLUA_LUAEXE $env.ZLUA_SCRIPT --add ...($args | skip 1) }
|
||||||
} else if ($args | length) != 0 and $args.0 == "--complete" {
|
} else if ($args | length) != 0 and $args.0 == "--complete" {
|
||||||
@@ -2864,7 +2872,7 @@ $env.config = ($env.config | update hooks.env_change.PWD ($env.config.hooks.env_
|
|||||||
]]
|
]]
|
||||||
|
|
||||||
local script_complete_nushell = [[
|
local script_complete_nushell = [[
|
||||||
let zlua_completer = {|spans| $spans | skip 1 | _zlua --complete ...$in | lines | where {|x| $x != $env.PWD}}
|
let zlua_completer = {|spans| $spans | skip 1 | _zlua --complete -m1 ...$in | lines | where {|x| $x != $env.PWD}}
|
||||||
|
|
||||||
$env.config = ($env.config | default {} completions)
|
$env.config = ($env.config | default {} completions)
|
||||||
$env.config = ($env.config | update completions ($env.config.completions | default {} external))
|
$env.config = ($env.config | update completions ($env.config.completions | default {} external))
|
||||||
@@ -2890,6 +2898,9 @@ if completer in $env.config.completions.external {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export alias z = _zlua
|
||||||
|
|
||||||
]]
|
]]
|
||||||
|
|
||||||
-----------------------------------------------------------------------
|
-----------------------------------------------------------------------
|
||||||
|
|||||||
Reference in New Issue
Block a user