mirror of
https://github.com/nushell/nushell.git
synced 2025-06-30 14:40:06 +02:00
Plugin explicit flags (#11581)
# Description #11492 fixed flags for builtin commands but I missed that plugins don't use the same `has_flag` that builtins do. This PR addresses this. Unfortunately this means that return value of `has_flag` needs to change from `bool` to `Result<bool, ShellError>` to produce an error when explicit value is not a boolean (just like in case of `has_flag` for builtin commands. It is not possible to check this in `EvaluatedCall::try_from_call` because # User-Facing Changes Passing explicit values to flags of plugin commands (like `--flag=true` `--flag=false`) should work now. BREAKING: changed return value of `EvaluatedCall::has_flag` method from `bool` to `Result<bool, ShellError>` # Tests + Formatting Added tests and updated documentation and examples
This commit is contained in:
@ -40,7 +40,7 @@ impl Example {
|
||||
// Keep this in mind when designing your plugin signatures
|
||||
let a: i64 = call.req(0)?;
|
||||
let b: String = call.req(1)?;
|
||||
let flag = call.has_flag("flag");
|
||||
let flag = call.has_flag("flag")?;
|
||||
let opt: Option<i64> = call.opt(2)?;
|
||||
let named: Option<String> = call.get_flag("named")?;
|
||||
let rest: Vec<String> = call.rest(3)?;
|
||||
|
Reference in New Issue
Block a user