From aaa843f1c53b5e8fd5e7404456b0cfeb939f9d83 Mon Sep 17 00:00:00 2001 From: Kamil Date: Sun, 1 Aug 2021 00:40:56 +0000 Subject: [PATCH] Create cdpath-implementation.nu MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit If anyone knows how to write it more clearly and the script (instead of the config one) way — feel free to correct it --- cool_oneliners/cdpath-implementation.nu | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 cool_oneliners/cdpath-implementation.nu diff --git a/cool_oneliners/cdpath-implementation.nu b/cool_oneliners/cdpath-implementation.nu new file mode 100644 index 0000000..8a28154 --- /dev/null +++ b/cool_oneliners/cdpath-implementation.nu @@ -0,0 +1,11 @@ +#!/usr/bin/nu + +#I actually use it as a part of my startup, so I'm not really sure how to pack it, yet I'd like to contribute +#NOTE: it does *not* work with 0 arguments. To get $cd functionality, use $cd. To use cdpath, use $c +#Written by skelly37 + +startup = [ + "let cdpath = [. /place/your /cdpath/here]", + + "def c [dir] { let wd = (pwd); for element in $cdpath {if (pwd) == $wd {cd $element; for directory in (ls -d -a */ | get name) {if $dir == $directory {cd $dir} {}}; if (pwd) == $element {cd $wd} {}} {}}; if (pwd) == $wd {cd $wd; echo \"No such path!\"} {}}", +]