nushell/crates/nu-parser/src
Jelle Besseling 44493dac51
Add extern def which allows raw arguments (#8956)
# Description

Extends the `extern` syntax to allow commands that accept raw arguments.
This is mainly added to allow wrapper type scripts for external
commands.

This is an example on how this can be used:

```nushell
extern foo [...rest] { 
  print ($rest | str join ',' ) 
}
foo --bar baz -- -q -u -x
# => --bar,baz,--,-q,-u,-x
```

(It's only possible to accept a single ...varargs argument in the
signature)

# User-Facing Changes

No breaking changes, just extra possibilities.

# Tests + Formatting

Added a test for this new behaviour and ran the toolkit pr checker

# After Submitting

This is advanced functionality but it should be documented, I will open
a new PR on the book for that

Co-authored-by: Jelle Besseling <jelle@bigbridge.nl>
2023-04-28 09:06:43 +02:00
..
deparse.rs Use variable names directly in the format strings (#7906) 2023-01-29 19:37:54 -06:00
eval.rs allow register to accept a const argument (#8758) 2023-04-08 15:04:57 -05:00
flatten.rs Relax the closure syntax, highlight differently (#8846) 2023-04-12 05:21:52 +12:00
known_external.rs Document and critically review ShellError variants - Ep. 3 (#8340) 2023-03-06 18:33:09 +01:00
lex.rs Fix strange error on unbalanced curly braces (#8906) 2023-04-17 21:51:10 +12:00
lib.rs Refactor to support multiple parse errors (#8765) 2023-04-07 12:35:45 +12:00
lite_parser.rs Refactor to support multiple parse errors (#8765) 2023-04-07 12:35:45 +12:00
parse_keywords.rs Add extern def which allows raw arguments (#8956) 2023-04-28 09:06:43 +02:00
parse_patterns.rs Remove old alias implementation (#8797) 2023-04-07 21:09:38 +03:00
parser.rs Change type of parameter default values to Option<Value> (#8940) 2023-04-26 09:14:02 -05:00
type_check.rs allow records to have type annotations (#8914) 2023-04-26 08:16:55 -05:00