Comments (7)
This is likely because it is awk that is doing the printing. I'll look into it when I find the time.
from z.
WRT always printing to stderr
. I haven't figured out the specifics of exactly why rupa/z does it, but I see where it comes from.
The main stderr redirect:
https://github.com/rupa/z/blob/master/z.sh#L150
https://github.com/fisherman/z/blob/master/functions/z.awk#L12
cmd = "sort -n >&2"
for( x in matches ) {
if( matches[x] ) {
printf "%-10s %s\n", matches[x], x | cmd
}
}
Howerver, in rupa/z there is also:
https://github.com/rupa/z/blob/master/z.sh#L214
alias ${_Z_CMD:-z}='_z 2>&1'
Which redirects stderr
into stdout
.
It's not obvious to to me yet why rupa/z is designed this way.
EDIT: Looking at rupa/z history there is rupa/z@84ace8e
Maybe they're printed to stderr
by mistake?
EDIT 2: It looks like a long time ago the idea was the lists would go to stderr
. See https://github.com/rupa/z/blob/257f8400a79f9e82a952daf242fbb60483e42165/zz.sh
I think cmd = "sort -n >&2"
should simply be changed to cmd = "sort -n"
. Lists will go to stdout
now, common: ..
will remain gong to stderr
.
from z.
The other issue, where output of --list
can't be captured is caused by https://github.com/fisherman/z/blob/master/functions/__z.fish#L59
set target (command awk -v t=(date +%s) -v list="$list" -v typ="$typ" -v q="$arg" -F "|" -f $z_path/z.awk "$Z_DATA")
This ends up printing to stderr
and and target
is empty.
In fish only stdout
is captured by subcommands (fish-shell/fish-shell#1035). I think the fix I proposed in the first comment will fix both issues.
EDIT: I can submit a PR if you think this is a sensible solution.
from z.
Your comment sounds like a reasonable solution. A PR would be much appreciated!
from z.
Looking at this line https://github.com/fisherman/z/blob/master/functions/__z.fish#L63
if test "$list" = "list"
echo "$target" | tr ";" "\n" | sort -nr
return 0
end
I don't how there would ever be any ;
's, and the target list should now already be sorted from the updated awk (https://github.com/fisherman/z/blob/master/functions/z.awk#L12). Also, this section sorts in reverse, where the awk list sort does not.
Currently, this section is skipped because target
is empty. Can we remove this section now?
from z.
yes, there should probably be a test case for the list
flag as well
from z.
PR submitted. I had to rework the main __z
a little to better handle --list
mode printing the common path to stderr
.
from z.
Related Issues (20)
- Index lost HOT 3
- cached Z_DATA path not portable HOT 4
- z "A" goes to subdir "A/B" HOT 1
- Doesn't work with paths with hyphens in them HOT 4
- Completions shipped in dir incompatible with fisher 4 HOT 5
- Feature request: `-c` option (restrict matches to subdirectories of the current directory) HOT 1
- z fails to install HOT 1
- z index forgot after reboot
- z vs zoxide HOT 2
- Z_DATA file is not updating
- Freezes on MacOS? HOT 4
- Z error when launching fish from PyCharm HOT 8
- Ability to retain a larger history of directories HOT 5
- Feature request - add a directory without cding HOT 3
- Z_CMD reset by fisher refresh HOT 8
- fish 3.1.0: __z --list | fzy results in tcsetattr error HOT 4
- in centos7.4 bash: argparse: command not found... HOT 3
- Support using fzf to pick a previous directory via keybinding HOT 1
- Tab completion should be in order of relevance HOT 3
- Match shortest?
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from z.