mirror of
https://github.com/kbwo/testing-language-server.git
synced 2025-08-03 07:12:14 +00:00
organize modules
This commit is contained in:
parent
b86e08e588
commit
f9c054ebd3
4 changed files with 8 additions and 56 deletions
|
@ -1,46 +0,0 @@
|
|||
use std::collections::HashMap;
|
||||
use std::str::FromStr;
|
||||
use strum::{AsRefStr, Display};
|
||||
|
||||
use once_cell::sync::Lazy;
|
||||
|
||||
type Extension<'a> = &'a str;
|
||||
|
||||
#[derive(Display, AsRefStr, Eq, PartialEq, Hash)]
|
||||
pub enum AvailableFileType {
|
||||
#[strum(serialize = "rust")]
|
||||
Rust,
|
||||
#[strum(serialize = "javascript")]
|
||||
Javascript,
|
||||
#[strum(serialize = "javascriptreact")]
|
||||
JavascriptReact,
|
||||
#[strum(serialize = "typescript")]
|
||||
Typescript,
|
||||
#[strum(serialize = "typescriptreact")]
|
||||
TypescriptReact,
|
||||
}
|
||||
|
||||
impl FromStr for AvailableFileType {
|
||||
type Err = String;
|
||||
|
||||
fn from_str(s: &str) -> Result<Self, Self::Err> {
|
||||
match s {
|
||||
"rust" => Ok(AvailableFileType::Rust),
|
||||
"javascript" => Ok(AvailableFileType::Javascript),
|
||||
"javascriptreact" => Ok(AvailableFileType::JavascriptReact),
|
||||
"typescript" => Ok(AvailableFileType::Typescript),
|
||||
"typescriptreact" => Ok(AvailableFileType::TypescriptReact),
|
||||
_ => Err(format!("Unknown file type: {}", s)),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
pub static LANGUAGE_ID_MAP: Lazy<HashMap<AvailableFileType, Vec<Extension>>> = Lazy::new(|| {
|
||||
let mut map = HashMap::new();
|
||||
map.insert(AvailableFileType::Rust, vec!["rs"]);
|
||||
map.insert(AvailableFileType::Javascript, vec!["js", "jsx"]);
|
||||
map.insert(AvailableFileType::JavascriptReact, vec!["js", "jsx"]);
|
||||
map.insert(AvailableFileType::Typescript, vec!["ts", "tsx"]);
|
||||
map.insert(AvailableFileType::TypescriptReact, vec!["ts", "tsx"]);
|
||||
map
|
||||
});
|
|
@ -1,6 +1,3 @@
|
|||
pub mod error;
|
||||
pub mod language;
|
||||
pub mod log;
|
||||
pub mod server;
|
||||
pub mod spec;
|
||||
pub mod util;
|
||||
|
|
10
src/main.rs
10
src/main.rs
|
@ -1,5 +1,11 @@
|
|||
use testing_language_server::log::Log;
|
||||
use testing_language_server::server::TestingLS;
|
||||
mod error;
|
||||
mod log;
|
||||
mod server;
|
||||
mod spec;
|
||||
mod util;
|
||||
|
||||
use crate::log::Log;
|
||||
use crate::server::TestingLS;
|
||||
|
||||
fn main() {
|
||||
let mut server = TestingLS::new();
|
||||
|
|
|
@ -3,11 +3,6 @@ use serde::Serialize;
|
|||
use std::io::stdout;
|
||||
use std::io::Write;
|
||||
|
||||
/// Returns the extension which includes `.` from the url string
|
||||
pub fn extension_from_url_str(url_str: &str) -> Option<String> {
|
||||
Some(String::from(".") + url_str.split('.').last().unwrap())
|
||||
}
|
||||
|
||||
pub fn send_stdout<T>(message: &T) -> Result<(), LSError>
|
||||
where
|
||||
T: ?Sized + Serialize + std::fmt::Debug,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue