mirror of
https://github.com/nushell/nushell.git
synced 2024-12-23 07:30:13 +01:00
Fix usage parsing for commands defined in CRLF (windows) files (#13212)
Fixes nushell/nushell#13207 # Description This fixes the parsing of command usage when that command comes from a file with CRLF line endings. See nushell/nushell#13207 for more details. # User-Facing Changes Users on Windows will get correct autocompletion for `std` commands.
This commit is contained in:
parent
9b7f899410
commit
4509944988
@ -81,7 +81,9 @@ pub(super) fn build_usage(comment_lines: &[&[u8]]) -> (String, String) {
|
||||
usage.push_str(&comment_line);
|
||||
}
|
||||
|
||||
if let Some((brief_usage, extra_usage)) = usage.split_once("\n\n") {
|
||||
if let Some((brief_usage, extra_usage)) = usage.split_once("\r\n\r\n") {
|
||||
(brief_usage.to_string(), extra_usage.to_string())
|
||||
} else if let Some((brief_usage, extra_usage)) = usage.split_once("\n\n") {
|
||||
(brief_usage.to_string(), extra_usage.to_string())
|
||||
} else {
|
||||
(usage, String::default())
|
||||
|
@ -261,6 +261,22 @@ fn commands_have_usage() -> TestResult {
|
||||
)
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn commands_from_crlf_source_have_short_usage() -> TestResult {
|
||||
run_test_contains(
|
||||
"# This is a test\r\n#\r\n# To see if I have cool usage\r\ndef foo [] {}\r\nscope commands | where name == foo | get usage.0",
|
||||
"This is a test",
|
||||
)
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn commands_from_crlf_source_have_extra_usage() -> TestResult {
|
||||
run_test_contains(
|
||||
"# This is a test\r\n#\r\n# To see if I have cool usage\r\ndef foo [] {}\r\nscope commands | where name == foo | get extra_usage.0",
|
||||
"To see if I have cool usage",
|
||||
)
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn equals_separates_long_flag() -> TestResult {
|
||||
run_test(
|
||||
|
Loading…
Reference in New Issue
Block a user