mirror of
https://github.com/RGBCube/nu_scripts
synced 2025-08-01 06:37:46 +00:00
Merge pull request #81 from skelly37/main
Create cdpath-implementation.nu
This commit is contained in:
commit
cd89a6311f
1 changed files with 23 additions and 0 deletions
23
cool_oneliners/cdpath-implementation.nu
Normal file
23
cool_oneliners/cdpath-implementation.nu
Normal file
|
@ -0,0 +1,23 @@
|
|||
#!/usr/bin/nu
|
||||
|
||||
# I actually use it as a part of my startup, so I am not really sure how to pack it, yet I wouldd like to contribute
|
||||
#-------------------------------------------------------------------------------------------------------------------------------
|
||||
#
|
||||
# How to use?
|
||||
#-------------------------------------------------
|
||||
#1) Add desired paths to the cdpath variable
|
||||
#2) Use in your shell: $c [directory]
|
||||
#2.5) You *have to* use an argument. If you wish to simply $cd, use $cd command.
|
||||
#3) If the path exists, you will cd into the first match found (the command is iterating over the list in the correct order,
|
||||
# i.e. first element is being iterated overin the first place)
|
||||
#3.5) But if path does not exist, you will receive a proper echo.
|
||||
#-----------------------------------------------------------------------------------------------------------------------------------
|
||||
#
|
||||
#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 -a | select name type | each { if $it.type == Dir {echo $it.name} {} } ) {if $dir == $directory {cd $dir} {}}; if (pwd) == $element {cd $wd} {}} {}}; if (pwd) == $wd {cd $wd; echo \"No such path!\"} {}}",
|
||||
]
|
Loading…
Add table
Add a link
Reference in a new issue