1
0
mirror of https://github.com/skywind3000/z.lua synced 2026-03-22 15:49:47 +00:00

10 Commits

Author SHA1 Message Date
skywind3000
68de23ecef v1.5.7: rename $_ZL_FZF_SORT to $_ZL_INT_SORT it will affect both -i and -I. 2019-02-21 11:15:02 +08:00
skywind3000
5ea08c5dac update doc 2019-02-20 23:31:37 +08:00
skywind3000
9dd0fec7ed update doc 2019-02-20 23:24:24 +08:00
skywind3000
fe11dd30c5 improve fzf sorting 2019-02-20 23:23:15 +08:00
skywind3000
db92fa0a1c new "$_ZL_FZF_SORT" to sort directories by alphabet in fzf 2019-02-20 20:24:24 +08:00
skywind3000
b1702839d2 update doc 2019-02-20 15:58:11 +08:00
skywind3000
1a0428f54e update doc 2019-02-20 15:31:11 +08:00
skywind3000
31e9d42d08 update image 2019-02-20 15:04:53 +08:00
skywind3000
14b942634c fixed picture 2019-02-20 14:52:14 +08:00
skywind3000
6cfe2150e9 images 2019-02-20 14:48:00 +08:00
6 changed files with 13 additions and 4 deletions

View File

@@ -275,9 +275,9 @@ Now you can input some space separated keywords (no order required) or use `CTRL
Of course, you can always give more keywords to `z` command to match your destination precisely. `"z -I"` is similar to `"z -i"`, but use fzf. Both `"-i"` and `"-I"` provide you another way for path navigation.
Usually, `z -I` can be aliased to `zf` (z + fuzzy finder) for convenience. If there are only one path matched, `z -I` will jump to it directly, fzf will only be invoked for multiple matches.
Usually, `z -I` can be aliased to `zf` (z + fuzzy finder) for convenience. If there are only one path matched, `z -I` will jump to it directly, fzf will only be invoked for multiple matches. `"z -I ."` or `"zf ."` can be used to use fzf select from entire database.
`"z -I ."` or `"zf ."` can be used to use fzf select from entire database. Environment variable `_ZL_FZF_FLAG` is for passing additional arguments to fzf.
For more information about this, please visit [wiki - effective with fzf](https://github.com/skywind3000/z.lua/wiki/Effective-with-fzf).
NOTE: For fish shell, this feature requires fish 2.7.0 or above. You can specify fzf executable in `$_ZL_FZF` environment variable, `"fzf"` will be called by default.
@@ -458,6 +458,8 @@ As you see, z.lua is the fastest one and requires less resource.
## History
- 1.5.7 (2019-02-21): rename `$_ZL_FZF_SORT` to `$_ZL_INT_SORT` it will affect both `-i` and `-I`.
- 1.5.6 (2019-02-20): set `$_ZL_FZF_SORT` to 1 to sort directories by alphabet in fzf.
- 1.5.5 (2019-02-20): `$_ZL_FZF_FLAG` can be used to override fzf flags, default to "+s -e".
- 1.5.4 (2019-02-19): fixed: file/path existence detection fails on read-only fs (closed [#49](https://github.com/skywind3000/z.lua/issues/49) by [@contrun](https://github.com/contrun)).
- 1.5.3 (2019-02-17): new `$_ZL_FZF_FLAG` for passing additional flags to fzf, add `-e` argument to fzf.

BIN
images/step1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

BIN
images/step2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

BIN
images/step3.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.6 KiB

BIN
images/step4.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.8 KiB

11
z.lua
View File

@@ -4,7 +4,7 @@
-- z.lua - a cd command that learns, by skywind 2018, 2019
-- Licensed under MIT license.
--
-- Version 1.5.5, Last Modified: 2019/02/20 12:07
-- Version 1.5.7, Last Modified: 2019/02/21 11:07
--
-- * 10x faster than fasd and autojump, 3x faster than z.sh
-- * available for posix shells: bash, zsh, sh, ash, dash, busybox
@@ -770,6 +770,10 @@ end
-----------------------------------------------------------------------
function os.environ(name, default)
local value = os.getenv(name)
if os.envmap ~= nil and type(os.envmap) == 'table' then
local t = os.envmap[name]
value = (t ~= nil and type(t) == 'string') and t or value
end
if value == nil then
return default
elseif type(default) == 'boolean' then
@@ -1427,6 +1431,9 @@ function z_cd(patterns)
elseif Z_INTERACTIVE == 0 then
return M[1].name
end
if os.environ('_ZL_INT_SORT', false) then
table.sort(M, function (a, b) return a.name < b.name end)
end
local retval = nil
if Z_INTERACTIVE == 1 then
PRINT_MODE = '<stderr>'
@@ -1997,7 +2004,7 @@ function z_shell_init(opts)
end
print(script_complete_bash)
if opts.fzf ~= nil then
fzf_cmd = "fzf --nth 2 --reverse --inline-info --tac "
fzf_cmd = "fzf --nth 2.. --reverse --inline-info --tac "
if not os.environ('_ZL_FZF_FULLSCR', false) then
fzf_cmd = fzf_cmd .. ' --height 35%'
end