diff options
Diffstat (limited to 'vendor/lsp-types/src/progress.rs')
-rw-r--r-- | vendor/lsp-types/src/progress.rs | 268 |
1 files changed, 134 insertions, 134 deletions
diff --git a/vendor/lsp-types/src/progress.rs b/vendor/lsp-types/src/progress.rs index 97d30e1a0..b16e5a981 100644 --- a/vendor/lsp-types/src/progress.rs +++ b/vendor/lsp-types/src/progress.rs @@ -1,134 +1,134 @@ -use serde::{Deserialize, Serialize}; - -use crate::NumberOrString; - -pub type ProgressToken = NumberOrString; - -/// The progress notification is sent from the server to the client to ask -/// the client to indicate progress. -#[derive(Debug, PartialEq, Deserialize, Serialize, Clone)] -#[serde(rename_all = "camelCase")] -pub struct ProgressParams { - /// The progress token provided by the client. - pub token: ProgressToken, - - /// The progress data. - pub value: ProgressParamsValue, -} - -#[derive(Debug, PartialEq, Deserialize, Serialize, Clone)] -#[serde(untagged)] -pub enum ProgressParamsValue { - WorkDone(WorkDoneProgress), -} - -/// The `window/workDoneProgress/create` request is sent from the server -/// to the clientto ask the client to create a work done progress. -#[derive(Debug, PartialEq, Deserialize, Serialize, Clone)] -#[serde(rename_all = "camelCase")] -pub struct WorkDoneProgressCreateParams { - /// The token to be used to report progress. - pub token: ProgressToken, -} - -/// The `window/workDoneProgress/cancel` notification is sent from the client -/// to the server to cancel a progress initiated on the server side using the `window/workDoneProgress/create`. -#[derive(Debug, PartialEq, Deserialize, Serialize, Clone)] -#[serde(rename_all = "camelCase")] -pub struct WorkDoneProgressCancelParams { - /// The token to be used to report progress. - pub token: ProgressToken, -} - -/// Options to signal work done progress support in server capabilities. -#[derive(Debug, Eq, PartialEq, Default, Deserialize, Serialize, Clone)] -#[serde(rename_all = "camelCase")] -pub struct WorkDoneProgressOptions { - #[serde(skip_serializing_if = "Option::is_none")] - pub work_done_progress: Option<bool>, -} - -/// An optional token that a server can use to report work done progress -#[derive(Debug, Eq, PartialEq, Default, Deserialize, Serialize, Clone)] -#[serde(rename_all = "camelCase")] -pub struct WorkDoneProgressParams { - #[serde(skip_serializing_if = "Option::is_none")] - pub work_done_token: Option<ProgressToken>, -} - -#[derive(Debug, PartialEq, Default, Deserialize, Serialize, Clone)] -#[serde(rename_all = "camelCase")] -pub struct WorkDoneProgressBegin { - /// Mandatory title of the progress operation. Used to briefly inform - /// about the kind of operation being performed. - /// Examples: "Indexing" or "Linking dependencies". - pub title: String, - - /// Controls if a cancel button should show to allow the user to cancel the - /// long running operation. Clients that don't support cancellation are allowed - /// to ignore the setting. - #[serde(skip_serializing_if = "Option::is_none")] - pub cancellable: Option<bool>, - - /// Optional, more detailed associated progress message. Contains - /// complementary information to the `title`. - /// - /// Examples: "3/25 files", "project/src/module2", "node_modules/some_dep". - /// If unset, the previous progress message (if any) is still valid. - #[serde(skip_serializing_if = "Option::is_none")] - pub message: Option<String>, - - /// Optional progress percentage to display (value 100 is considered 100%). - /// If not provided infinite progress is assumed and clients are allowed - /// to ignore the `percentage` value in subsequent in report notifications. - /// - /// The value should be steadily rising. Clients are free to ignore values - /// that are not following this rule. The value range is [0, 100] - #[serde(skip_serializing_if = "Option::is_none")] - pub percentage: Option<u32>, -} - -#[derive(Debug, PartialEq, Default, Deserialize, Serialize, Clone)] -#[serde(rename_all = "camelCase")] -pub struct WorkDoneProgressReport { - /// Controls if a cancel button should show to allow the user to cancel the - /// long running operation. Clients that don't support cancellation are allowed - /// to ignore the setting. - #[serde(skip_serializing_if = "Option::is_none")] - pub cancellable: Option<bool>, - - /// Optional, more detailed associated progress message. Contains - /// complementary information to the `title`. - /// Examples: "3/25 files", "project/src/module2", "node_modules/some_dep". - /// If unset, the previous progress message (if any) is still valid. - #[serde(skip_serializing_if = "Option::is_none")] - pub message: Option<String>, - - /// Optional progress percentage to display (value 100 is considered 100%). - /// If not provided infinite progress is assumed and clients are allowed - /// to ignore the `percentage` value in subsequent in report notifications. - /// - /// The value should be steadily rising. Clients are free to ignore values - /// that are not following this rule. The value range is [0, 100] - #[serde(skip_serializing_if = "Option::is_none")] - pub percentage: Option<u32>, -} - -#[derive(Debug, PartialEq, Default, Deserialize, Serialize, Clone)] -#[serde(rename_all = "camelCase")] -pub struct WorkDoneProgressEnd { - /// Optional, more detailed associated progress message. Contains - /// complementary information to the `title`. - /// Examples: "3/25 files", "project/src/module2", "node_modules/some_dep". - /// If unset, the previous progress message (if any) is still valid. - #[serde(skip_serializing_if = "Option::is_none")] - pub message: Option<String>, -} - -#[derive(Debug, PartialEq, Deserialize, Serialize, Clone)] -#[serde(tag = "kind", rename_all = "lowercase")] -pub enum WorkDoneProgress { - Begin(WorkDoneProgressBegin), - Report(WorkDoneProgressReport), - End(WorkDoneProgressEnd), -} +use serde::{Deserialize, Serialize};
+
+use crate::NumberOrString;
+
+pub type ProgressToken = NumberOrString;
+
+/// The progress notification is sent from the server to the client to ask
+/// the client to indicate progress.
+#[derive(Debug, PartialEq, Deserialize, Serialize, Clone)]
+#[serde(rename_all = "camelCase")]
+pub struct ProgressParams {
+ /// The progress token provided by the client.
+ pub token: ProgressToken,
+
+ /// The progress data.
+ pub value: ProgressParamsValue,
+}
+
+#[derive(Debug, PartialEq, Deserialize, Serialize, Clone)]
+#[serde(untagged)]
+pub enum ProgressParamsValue {
+ WorkDone(WorkDoneProgress),
+}
+
+/// The `window/workDoneProgress/create` request is sent from the server
+/// to the clientto ask the client to create a work done progress.
+#[derive(Debug, PartialEq, Deserialize, Serialize, Clone)]
+#[serde(rename_all = "camelCase")]
+pub struct WorkDoneProgressCreateParams {
+ /// The token to be used to report progress.
+ pub token: ProgressToken,
+}
+
+/// The `window/workDoneProgress/cancel` notification is sent from the client
+/// to the server to cancel a progress initiated on the server side using the `window/workDoneProgress/create`.
+#[derive(Debug, PartialEq, Deserialize, Serialize, Clone)]
+#[serde(rename_all = "camelCase")]
+pub struct WorkDoneProgressCancelParams {
+ /// The token to be used to report progress.
+ pub token: ProgressToken,
+}
+
+/// Options to signal work done progress support in server capabilities.
+#[derive(Debug, Eq, PartialEq, Default, Deserialize, Serialize, Clone)]
+#[serde(rename_all = "camelCase")]
+pub struct WorkDoneProgressOptions {
+ #[serde(skip_serializing_if = "Option::is_none")]
+ pub work_done_progress: Option<bool>,
+}
+
+/// An optional token that a server can use to report work done progress
+#[derive(Debug, Eq, PartialEq, Default, Deserialize, Serialize, Clone)]
+#[serde(rename_all = "camelCase")]
+pub struct WorkDoneProgressParams {
+ #[serde(skip_serializing_if = "Option::is_none")]
+ pub work_done_token: Option<ProgressToken>,
+}
+
+#[derive(Debug, PartialEq, Default, Deserialize, Serialize, Clone)]
+#[serde(rename_all = "camelCase")]
+pub struct WorkDoneProgressBegin {
+ /// Mandatory title of the progress operation. Used to briefly inform
+ /// about the kind of operation being performed.
+ /// Examples: "Indexing" or "Linking dependencies".
+ pub title: String,
+
+ /// Controls if a cancel button should show to allow the user to cancel the
+ /// long running operation. Clients that don't support cancellation are allowed
+ /// to ignore the setting.
+ #[serde(skip_serializing_if = "Option::is_none")]
+ pub cancellable: Option<bool>,
+
+ /// Optional, more detailed associated progress message. Contains
+ /// complementary information to the `title`.
+ ///
+ /// Examples: "3/25 files", "project/src/module2", "node_modules/some_dep".
+ /// If unset, the previous progress message (if any) is still valid.
+ #[serde(skip_serializing_if = "Option::is_none")]
+ pub message: Option<String>,
+
+ /// Optional progress percentage to display (value 100 is considered 100%).
+ /// If not provided infinite progress is assumed and clients are allowed
+ /// to ignore the `percentage` value in subsequent in report notifications.
+ ///
+ /// The value should be steadily rising. Clients are free to ignore values
+ /// that are not following this rule. The value range is [0, 100]
+ #[serde(skip_serializing_if = "Option::is_none")]
+ pub percentage: Option<u32>,
+}
+
+#[derive(Debug, PartialEq, Default, Deserialize, Serialize, Clone)]
+#[serde(rename_all = "camelCase")]
+pub struct WorkDoneProgressReport {
+ /// Controls if a cancel button should show to allow the user to cancel the
+ /// long running operation. Clients that don't support cancellation are allowed
+ /// to ignore the setting.
+ #[serde(skip_serializing_if = "Option::is_none")]
+ pub cancellable: Option<bool>,
+
+ /// Optional, more detailed associated progress message. Contains
+ /// complementary information to the `title`.
+ /// Examples: "3/25 files", "project/src/module2", "node_modules/some_dep".
+ /// If unset, the previous progress message (if any) is still valid.
+ #[serde(skip_serializing_if = "Option::is_none")]
+ pub message: Option<String>,
+
+ /// Optional progress percentage to display (value 100 is considered 100%).
+ /// If not provided infinite progress is assumed and clients are allowed
+ /// to ignore the `percentage` value in subsequent in report notifications.
+ ///
+ /// The value should be steadily rising. Clients are free to ignore values
+ /// that are not following this rule. The value range is [0, 100]
+ #[serde(skip_serializing_if = "Option::is_none")]
+ pub percentage: Option<u32>,
+}
+
+#[derive(Debug, PartialEq, Default, Deserialize, Serialize, Clone)]
+#[serde(rename_all = "camelCase")]
+pub struct WorkDoneProgressEnd {
+ /// Optional, more detailed associated progress message. Contains
+ /// complementary information to the `title`.
+ /// Examples: "3/25 files", "project/src/module2", "node_modules/some_dep".
+ /// If unset, the previous progress message (if any) is still valid.
+ #[serde(skip_serializing_if = "Option::is_none")]
+ pub message: Option<String>,
+}
+
+#[derive(Debug, PartialEq, Deserialize, Serialize, Clone)]
+#[serde(tag = "kind", rename_all = "lowercase")]
+pub enum WorkDoneProgress {
+ Begin(WorkDoneProgressBegin),
+ Report(WorkDoneProgressReport),
+ End(WorkDoneProgressEnd),
+}
|