Preliminary implementation of lazy CodeAssits

This commit is contained in:
Mikhail Rakhmanov
2020-06-02 22:21:48 +02:00
parent 61e8f39219
commit 57cd936c52
13 changed files with 218 additions and 88 deletions

View File

@@ -98,6 +98,23 @@ pub struct JoinLinesParams {
pub ranges: Vec<Range>,
}
pub enum ResolveCodeActionRequest {}
impl Request for ResolveCodeActionRequest {
type Params = ResolveCodeActionParams;
type Result = Option<SnippetWorkspaceEdit>;
const METHOD: &'static str = "experimental/resolveCodeAction";
}
/// Params for the ResolveCodeActionRequest
#[derive(Debug, Eq, PartialEq, Clone, Deserialize, Serialize)]
#[serde(rename_all = "camelCase")]
pub struct ResolveCodeActionParams {
pub code_action_params: lsp_types::CodeActionParams,
pub id: String,
pub label: String,
}
pub enum OnEnter {}
impl Request for OnEnter {
@@ -197,6 +214,8 @@ impl Request for CodeActionRequest {
pub struct CodeAction {
pub title: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub group: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub kind: Option<String>,