mirror of
https://github.com/helix-editor/helix.git
synced 2024-11-22 01:16:18 +04:00
&Option<T>
-> Option<&T>
(#11091)
* refactor `starting_request_args` to only `ref` non-`Copy` * refactor `needs_recompile` to only `ref` non-`Copy` * refactor `add_workspace_folder` to only `ref` `Some` --------- Co-authored-by: Rudxain <rudxain@localhost.localdomain>
This commit is contained in:
parent
0c8d51ee36
commit
6997ee9151
@ -157,8 +157,8 @@ async fn get_port() -> Option<u16> {
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn starting_request_args(&self) -> &Option<Value> {
|
pub fn starting_request_args(&self) -> Option<&Value> {
|
||||||
&self.starting_request_args
|
self.starting_request_args.as_ref()
|
||||||
}
|
}
|
||||||
|
|
||||||
pub async fn tcp_process(
|
pub async fn tcp_process(
|
||||||
|
@ -422,7 +422,7 @@ fn build_tree_sitter_library(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
let recompile = needs_recompile(&library_path, &parser_path, &scanner_path)
|
let recompile = needs_recompile(&library_path, &parser_path, scanner_path.as_ref())
|
||||||
.context("Failed to compare source and binary timestamps")?;
|
.context("Failed to compare source and binary timestamps")?;
|
||||||
|
|
||||||
if !recompile {
|
if !recompile {
|
||||||
@ -568,7 +568,7 @@ fn build_tree_sitter_library(
|
|||||||
fn needs_recompile(
|
fn needs_recompile(
|
||||||
lib_path: &Path,
|
lib_path: &Path,
|
||||||
parser_c_path: &Path,
|
parser_c_path: &Path,
|
||||||
scanner_path: &Option<PathBuf>,
|
scanner_path: Option<&PathBuf>,
|
||||||
) -> Result<bool> {
|
) -> Result<bool> {
|
||||||
if !lib_path.exists() {
|
if !lib_path.exists() {
|
||||||
return Ok(true);
|
return Ok(true);
|
||||||
|
@ -123,7 +123,7 @@ pub fn try_add_doc(
|
|||||||
{
|
{
|
||||||
client.add_workspace_folder(
|
client.add_workspace_folder(
|
||||||
root_uri,
|
root_uri,
|
||||||
&workspace_folders_caps.change_notifications,
|
workspace_folders_caps.change_notifications.as_ref(),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@ -136,7 +136,10 @@ pub fn try_add_doc(
|
|||||||
.and_then(|cap| cap.workspace_folders.as_ref())
|
.and_then(|cap| cap.workspace_folders.as_ref())
|
||||||
.filter(|cap| cap.supported.unwrap_or(false))
|
.filter(|cap| cap.supported.unwrap_or(false))
|
||||||
{
|
{
|
||||||
self.add_workspace_folder(root_uri, &workspace_folders_caps.change_notifications);
|
self.add_workspace_folder(
|
||||||
|
root_uri,
|
||||||
|
workspace_folders_caps.change_notifications.as_ref(),
|
||||||
|
);
|
||||||
true
|
true
|
||||||
} else {
|
} else {
|
||||||
// the server doesn't support multi workspaces, we need a new client
|
// the server doesn't support multi workspaces, we need a new client
|
||||||
@ -147,7 +150,7 @@ pub fn try_add_doc(
|
|||||||
fn add_workspace_folder(
|
fn add_workspace_folder(
|
||||||
&self,
|
&self,
|
||||||
root_uri: Option<lsp::Url>,
|
root_uri: Option<lsp::Url>,
|
||||||
change_notifications: &Option<OneOf<bool, String>>,
|
change_notifications: Option<&OneOf<bool, String>>,
|
||||||
) {
|
) {
|
||||||
// root_uri is None just means that there isn't really any LSP workspace
|
// root_uri is None just means that there isn't really any LSP workspace
|
||||||
// associated with this file. For servers that support multiple workspaces
|
// associated with this file. For servers that support multiple workspaces
|
||||||
@ -162,7 +165,7 @@ fn add_workspace_folder(
|
|||||||
self.workspace_folders
|
self.workspace_folders
|
||||||
.lock()
|
.lock()
|
||||||
.push(workspace_for_uri(root_uri.clone()));
|
.push(workspace_for_uri(root_uri.clone()));
|
||||||
if &Some(OneOf::Left(false)) == change_notifications {
|
if Some(&OneOf::Left(false)) == change_notifications {
|
||||||
// server specifically opted out of DidWorkspaceChange notifications
|
// server specifically opted out of DidWorkspaceChange notifications
|
||||||
// let's assume the server will request the workspace folders itself
|
// let's assume the server will request the workspace folders itself
|
||||||
// and that we can therefore reuse the client (but are done now)
|
// and that we can therefore reuse the client (but are done now)
|
||||||
|
Loading…
Reference in New Issue
Block a user