We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent 7f22f20 commit ea3bc35Copy full SHA for ea3bc35
src/vim.rs
@@ -9,17 +9,17 @@ use anyhow::Result;
9
use jsonrpc_core::Value;
10
use log::*;
11
use lsp_types::Position;
12
-use serde::{de::DeserializeOwned, Serialize};
+use serde::{de::DeserializeOwned, Deserialize, Serialize};
13
use serde_json::json;
14
use std::{path::Path, sync::Arc};
15
16
/// Try get value of an variable from RPC params.
17
-pub fn try_get<R: DeserializeOwned>(key: &str, params: &Value) -> Result<Option<R>> {
+pub fn try_get<'a, R: Deserialize<'a>>(key: &str, params: &'a Value) -> Result<Option<R>> {
18
let value = ¶ms[key];
19
if value == &Value::Null {
20
Ok(None)
21
} else {
22
- Ok(serde_json::from_value(value.clone())?)
+ Ok(<Option<R>>::deserialize(value)?)
23
}
24
25
0 commit comments