]> Sergey Matveev's repositories - nnn.git/blob - misc/quitcd/quitcd.nu
fix nu quitcd: switched quotes (#1737)
[nnn.git] / misc / quitcd / quitcd.nu
1 # The behaviour is set to cd on quit (nnn checks if NNN_TMPFILE is set)
2 let cfgHome = ($env | default $"($env.HOME)/.config" XDG_CONFIG_HOME | get XDG_CONFIG_HOME)
3 let-env NNN_TMPFILE = $"($cfgHome)/nnn/.lastd"
4
5 def-env n [...x] {
6   # Launch nnn. Add desired flags after `^nnn`, ex: `^nnn -eda ($x | str join)`
7   ^nnn ($x | str join)
8   let newpath = (
9     if ($env.NNN_TMPFILE | path exists) {
10       # FIXME: fails if path contains single-quote
11       let newpath = (open $env.NNN_TMPFILE | parse "cd '{nnnpath}'").0.nnnpath
12       ^rm -f $env.NNN_TMPFILE
13       echo $newpath
14     } else {
15       pwd
16     }
17   )
18   cd $newpath
19 }