diff --git a/helix-term/src/commands/engine/steel.rs b/helix-term/src/commands/engine/steel.rs index 96f9fd97b9a1..7d22756e0b99 100644 --- a/helix-term/src/commands/engine/steel.rs +++ b/helix-term/src/commands/engine/steel.rs @@ -509,16 +509,11 @@ fn load_typed_commands(engine: &mut Engine, generate_sources: bool) { engine.register_module(module); } -fn get_option_value(cx: &mut Context, args: Vec) -> anyhow::Result { - if args.len() != 1 { - anyhow::bail!("Bad arguments. Usage: `:get key`"); - } - - let key = &args[0].to_lowercase(); - let key_error = || anyhow::anyhow!("Unknown key `{}`", key); +fn get_option_value(cx: &mut Context, option: String) -> anyhow::Result { + let key_error = || anyhow::anyhow!("Unknown key `{}`", option); let config = serde_json::json!(std::ops::Deref::deref(&cx.editor.config())); - let pointer = format!("/{}", key.replace('.', "/")); + let pointer = format!("/{}", option.replace('.', "/")); let value = config.pointer(&pointer).ok_or_else(key_error)?; Ok(value.to_owned().into_steelval().unwrap()) } @@ -713,7 +708,7 @@ fn load_configuration_api(engine: &mut Engine, generate_sources: bool) { r#" (provide get-config-option-value) (define (get-config-option-value arg) - (helix.get-config-option-value *helix.cx*)) + (helix.get-config-option-value *helix.cx* arg)) "#, ));