Improve keymap json schema (#23044)
Also: * Adds `impl_internal_actions!` for deriving the `Action` trait without registering. * Removes some deserializers that immediately fail in favor of `#[serde(skip)]` on fields where they were used. This also omits them from the schema. Release Notes: - Keymap settings file now has more JSON schema information to inform `json-language-server` completions and info, particularly for actions that take input.
This commit is contained in:
parent
4c50201036
commit
6aba3950d2
37 changed files with 506 additions and 283 deletions
|
@ -3,6 +3,7 @@ use std::sync::Arc;
|
|||
use collections::HashMap;
|
||||
use editor::Editor;
|
||||
use gpui::{impl_actions, AppContext, Keystroke, KeystrokeEvent};
|
||||
use schemars::JsonSchema;
|
||||
use serde::Deserialize;
|
||||
use settings::Settings;
|
||||
use std::sync::LazyLock;
|
||||
|
@ -12,7 +13,7 @@ use crate::{state::Operator, Vim, VimSettings};
|
|||
|
||||
mod default;
|
||||
|
||||
#[derive(PartialEq, Clone, Deserialize)]
|
||||
#[derive(Debug, Clone, Deserialize, JsonSchema, PartialEq)]
|
||||
struct Literal(String, char);
|
||||
impl_actions!(vim, [Literal]);
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue