Path commands: Put column path args behid flag; Allow path join appending without flag (#4008)

* Change path join signature

* Appending now works without flag
* Column path operation is behind a -c flag

* Move column path arg retrieval to a function

Also improves errors

* Fix path join tests

* Propagate column path changes to all path commands

* Update path command examples with columns paths

* Modernize path command examples by removing "echo"

* Improve structured path error message

* Fix typo
This commit is contained in:
Jakub Žádník
2021-09-15 21:03:51 +03:00
committed by GitHub
parent 7fc65067cf
commit cc3653cfd9
14 changed files with 238 additions and 122 deletions

View File

@ -8,7 +8,7 @@ fn returns_path_joined_with_column_path() {
cwd: "tests", pipeline(
r#"
echo [ [name]; [eggs] ]
| path join -a spam.txt name
| path join spam.txt -c [ name ]
| get name
"#
));
@ -23,7 +23,7 @@ fn returns_path_joined_from_list() {
cwd: "tests", pipeline(
r#"
echo [ home viking spam.txt ]
| path join
| path join
"#
));
@ -37,7 +37,7 @@ fn appends_slash_when_joined_with_empty_path() {
cwd: "tests", pipeline(
r#"
echo "/some/dir"
| path join -a ''
| path join ''
"#
));
@ -51,7 +51,7 @@ fn returns_joined_path_when_joining_empty_path() {
cwd: "tests", pipeline(
r#"
echo ""
| path join -a foo.txt
| path join foo.txt
"#
));

View File

@ -48,7 +48,7 @@ fn parses_custom_extension_gets_extension() {
let actual = nu!(
cwd: "tests", pipeline(
r#"
echo 'home/viking/spam.tar.gz'
echo 'home/viking/spam.tar.gz'
| path parse -e tar.gz
| get extension
"#
@ -62,7 +62,7 @@ fn parses_custom_extension_gets_stem() {
let actual = nu!(
cwd: "tests", pipeline(
r#"
echo 'home/viking/spam.tar.gz'
echo 'home/viking/spam.tar.gz'
| path parse -e tar.gz
| get stem
"#
@ -76,7 +76,7 @@ fn parses_ignoring_extension_gets_extension() {
let actual = nu!(
cwd: "tests", pipeline(
r#"
echo 'home/viking/spam.tar.gz'
echo 'home/viking/spam.tar.gz'
| path parse -e ''
| get extension
"#
@ -90,7 +90,7 @@ fn parses_ignoring_extension_gets_stem() {
let actual = nu!(
cwd: "tests", pipeline(
r#"
echo 'home/viking/spam.tar.gz'
echo 'home/viking/spam.tar.gz'
| path parse -e ""
| get stem
"#
@ -105,7 +105,7 @@ fn parses_column_path_extension() {
cwd: "tests", pipeline(
r#"
echo [[home, barn]; ['home/viking/spam.txt', 'barn/cow/moo.png']]
| path parse home barn
| path parse -c [ home barn ]
| get barn
| get extension
"#

View File

@ -18,7 +18,7 @@ fn splits_correctly_single_path() {
cwd: "tests", pipeline(
r#"
echo ['home/viking/spam.txt']
| path split
| path split
| last
"#
));
@ -37,7 +37,7 @@ fn splits_correctly_with_column_path() {
['home/viking/spam.txt', 'barn/cow/moo.png']
['home/viking/eggs.txt', 'barn/goat/cheese.png']
]
| path split home barn
| path split -c [ home barn ]
| get barn
| length
"#