@@ -1856,14 +1856,29 @@ fn toggle_option(
1856 .to_string(),
1856 .to_string(),
1859+ Value::Number(ref value) => {
1862+ "Bad arguments. For number configurations use: `:toggle key val1 val2 ...`",
1868+ .skip_while(|&e| value.to_string() != *e.to_string())
1870+ .unwrap_or_else(|| &args[1])
1859− Value::Null | Value::Object(_) | Value::Array(_) | Value::Number(_) => {
1874+ Value::Null | Value::Object(_) | Value::Array(_) => {
1860 anyhow::bail!("Configuration {key} does not support toggle yet")
1875 anyhow::bail!("Configuration {key} does not support toggle yet")
1864 let status = format!("'{key}' is now set to {value}");
1879 let status = format!("'{key}' is now set to {value}");
1865 let config = serde_json::from_value(config)
1880 let config = serde_json::from_value(config)
1866− .map_err(|_| anyhow::anyhow!("Could not parse field: `{:?}`", &args))?;
1881+ .map_err(|err| anyhow::anyhow!("Cannot parse `{:?}`, {}", &args, err))?;
1868 cx.editor
1883 cx.editor
1869 .config_events
1884 .config_events