Start work on allowing language servers to support multiple languages
This commit is contained in:
parent
0e1d371a67
commit
158d987965
8 changed files with 118 additions and 102 deletions
|
@ -3,7 +3,7 @@ use client::http::{self, HttpClient, Method};
|
|||
use futures::{future::BoxFuture, FutureExt, StreamExt};
|
||||
pub use language::*;
|
||||
use smol::fs::{self, File};
|
||||
use std::{any::Any, path::PathBuf, str, sync::Arc};
|
||||
use std::{any::Any, path::PathBuf, sync::Arc};
|
||||
use util::{ResultExt, TryFutureExt};
|
||||
|
||||
use super::GithubRelease;
|
||||
|
@ -11,8 +11,8 @@ use super::GithubRelease;
|
|||
pub struct CLspAdapter;
|
||||
|
||||
impl super::LspAdapter for CLspAdapter {
|
||||
fn name(&self) -> &'static str {
|
||||
"clangd"
|
||||
fn name(&self) -> LanguageServerName {
|
||||
LanguageServerName("clangd".into())
|
||||
}
|
||||
|
||||
fn fetch_latest_server_version(
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
use anyhow::{anyhow, Context, Result};
|
||||
use client::http::HttpClient;
|
||||
use futures::{future::BoxFuture, FutureExt, StreamExt};
|
||||
use language::LspAdapter;
|
||||
use language::{LanguageServerName, LspAdapter};
|
||||
use serde::Deserialize;
|
||||
use serde_json::json;
|
||||
use smol::fs;
|
||||
|
@ -16,8 +16,8 @@ impl JsonLspAdapter {
|
|||
}
|
||||
|
||||
impl LspAdapter for JsonLspAdapter {
|
||||
fn name(&self) -> &'static str {
|
||||
"vscode-json-languageserver"
|
||||
fn name(&self) -> LanguageServerName {
|
||||
LanguageServerName("vscode-json-languageserver".into())
|
||||
}
|
||||
|
||||
fn server_args(&self) -> &[&str] {
|
||||
|
|
|
@ -14,8 +14,8 @@ use super::GithubRelease;
|
|||
pub struct RustLspAdapter;
|
||||
|
||||
impl LspAdapter for RustLspAdapter {
|
||||
fn name(&self) -> &'static str {
|
||||
"rust-analyzer"
|
||||
fn name(&self) -> LanguageServerName {
|
||||
LanguageServerName("rust-analyzer".into())
|
||||
}
|
||||
|
||||
fn fetch_latest_server_version(
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
use anyhow::{anyhow, Context, Result};
|
||||
use client::http::HttpClient;
|
||||
use futures::{future::BoxFuture, FutureExt, StreamExt};
|
||||
use language::LspAdapter;
|
||||
use language::{LanguageServerName, LspAdapter};
|
||||
use serde::Deserialize;
|
||||
use serde_json::json;
|
||||
use smol::fs;
|
||||
|
@ -20,8 +20,8 @@ struct Versions {
|
|||
}
|
||||
|
||||
impl LspAdapter for TypeScriptLspAdapter {
|
||||
fn name(&self) -> &'static str {
|
||||
"typescript-language-server"
|
||||
fn name(&self) -> LanguageServerName {
|
||||
LanguageServerName("typescript-language-server".into())
|
||||
}
|
||||
|
||||
fn server_args(&self) -> &[&str] {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue