git,zsh:autoload: Move git-track into own function
Move `git-track` into its own autoloadable function. This way it is better maintainable as in one-liner format and brings the possibility of having more complexity (e.g. for better portability). By that it is also now executable as `git-track` as well as `git track` as before.
This commit is contained in:
15
.config/zsh/autoload/git/git-track
Executable file
15
.config/zsh/autoload/git/git-track
Executable file
@@ -0,0 +1,15 @@
|
||||
#!/usr/bin/env zsh
|
||||
|
||||
git for-each-ref --format='%(upstream),%(refname)' refs/heads refs/remotes \
|
||||
| sort -d \
|
||||
| sed -Ez '
|
||||
s:(^|\n|,)refs/(heads|remotes/):\1:g
|
||||
s:(^|\n),([^/][^\n]*):\1\2,:g
|
||||
s:,/:,:g
|
||||
s:(^|\n)([^,]+),\n\2:\1\2:g
|
||||
s:(^|\n)([^/,]*)([^\n]*\n\2(,|/))*:\n&:g
|
||||
s:\n+$:\n:
|
||||
' \
|
||||
| (echo remote,local; cat) \
|
||||
| column -tdLs, -Na,b -Ob,a \
|
||||
| sed '2d; 1{p;s/./―/g}'
|
||||
Reference in New Issue
Block a user