mirror of
https://github.com/nushell/nushell.git
synced 2025-04-22 12:18:20 +02:00
# Description Update examples with attributes. # User-Facing Changes `std-rfc` commands now have examples. # Tests + Formatting N/A # After Submitting N/A
55 lines
1.7 KiB
Plaintext
55 lines
1.7 KiB
Plaintext
# Helper function for `path with` commands
|
|
def with-field [field: string, value: string] {
|
|
path parse
|
|
| update $field $value
|
|
| path join
|
|
}
|
|
|
|
alias "path with-extension" = with-extension
|
|
|
|
# Replace extension of input file paths.
|
|
#
|
|
# Note that it doesn't change the file name locally.
|
|
@example "setting path ext to `rs`" {
|
|
"ab.txt" | path with-extension "rs"
|
|
} --result ab.rs
|
|
@example "leading dot can be included" {
|
|
"ab.txt" | path with-extension ".rs"
|
|
} --result ab.rs
|
|
@example "setting a list of input path ext to `rs`" {
|
|
["ab.txt", "cd.exe"] | path with-extension "rs"
|
|
} --result [ab.rs, cd.rs]
|
|
export def with-extension [ext: string] {
|
|
let path = $in
|
|
let ext_trim = if $ext starts-with "." {
|
|
$ext | str substring 1..
|
|
} else {
|
|
$ext
|
|
}
|
|
$path | with-field extension $ext_trim
|
|
}
|
|
|
|
alias "path with-stem" = with-stem
|
|
|
|
# Replace stem of input file paths.
|
|
#
|
|
# Note that it doesn't change the file name locally.
|
|
@example "replace stem with 'share'" {
|
|
"/usr/bin" | path with-stem "share"
|
|
} --result /usr/share
|
|
@example "replace stem with 'nushell'" {
|
|
["/home/alice/", "/home/bob/secret.txt"] | path with-stem "nushell"
|
|
} --result [/home/nushell, /home/bob/nushell.txt]
|
|
export def with-stem [stem: string] { with-field stem $stem }
|
|
|
|
alias "path with-parent" = with-parent
|
|
|
|
# Replace parent field of input file paths.
|
|
@example "replace parent path with `/usr/share`" {
|
|
"/etc/foobar" | path with-parent "/usr/share/"
|
|
} --result "/usr/share/foobar"
|
|
@example "replace parent path with `/root/` for all filenames in list" {
|
|
["/home/rose/meow", "/home/fdncred/"] | path with-parent "/root/"
|
|
} --result [/root/meow, /root/fdncred]
|
|
export def with-parent [parent: string] { with-field parent $parent }
|