summaryrefslogtreecommitdiff
path: root/support/texlab/src/lib.rs
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2023-04-12 03:01:14 +0000
committerNorbert Preining <norbert@preining.info>2023-04-12 03:01:14 +0000
commit45c7bac9080d91b53c686e776fc6217d7f139b86 (patch)
tree9dd0ad4713ddbc97580545398e8a3c84ac52bf49 /support/texlab/src/lib.rs
parente6c62f5e4d4a4d5ab654dad1652e83a5a4a42891 (diff)
CTAN sync 202304120301
Diffstat (limited to 'support/texlab/src/lib.rs')
-rw-r--r--support/texlab/src/lib.rs125
1 files changed, 0 insertions, 125 deletions
diff --git a/support/texlab/src/lib.rs b/support/texlab/src/lib.rs
deleted file mode 100644
index d80375fa03..0000000000
--- a/support/texlab/src/lib.rs
+++ /dev/null
@@ -1,125 +0,0 @@
-#![allow(clippy::needless_lifetimes)]
-
-pub(crate) mod citation;
-mod client;
-mod config;
-pub mod db;
-pub(crate) mod distro;
-pub mod features;
-pub mod parser;
-mod server;
-pub mod syntax;
-pub mod util;
-
-pub use self::{client::LspClient, config::*, server::Server};
-
-#[salsa::jar(db = Db)]
-pub struct Jar(
- db::Word,
- db::ServerContext,
- db::Location,
- db::Location_path,
- db::LinterData,
- db::Document,
- db::Document_parse,
- db::Document_can_be_root,
- db::Document_can_be_built,
- db::Document_line_index,
- db::parse::TexDocumentData,
- db::parse::TexDocumentData_analyze,
- db::parse::BibDocumentData,
- db::parse::LogDocumentData,
- db::analysis::TexLink,
- db::analysis::label::Number,
- db::analysis::label::Name,
- db::analysis::TheoremEnvironment,
- db::analysis::GraphicsPath,
- db::analysis::TexAnalysis,
- db::analysis::TexAnalysis_has_document_environment,
- db::MissingDependencies,
- db::hidden_dependency,
- db::source_dependency,
- db::dependency_graph,
- db::Workspace,
- db::Workspace_working_dir,
- db::Workspace_output_dir,
- db::Workspace_parents,
- db::Workspace_related,
- db::Workspace_number_of_label,
- db::diagnostics::tex::collect,
- db::diagnostics::bib::collect,
- db::diagnostics::log::collect,
- db::diagnostics::collect,
- db::diagnostics::collect_filtered,
-);
-
-pub trait Db: salsa::DbWithJar<Jar> {
- fn config(&self) -> &Config;
-}
-
-#[salsa::db(crate::Jar)]
-pub struct Database {
- storage: salsa::Storage<Self>,
-}
-
-impl Db for Database {
- fn config(&self) -> &Config {
- db::ServerContext::get(self).config(self)
- }
-}
-
-impl Default for Database {
- fn default() -> Self {
- let storage = salsa::Storage::default();
- let db = Self { storage };
-
- db::ServerContext::new(&db, Default::default(), Default::default());
-
- db::Workspace::new(
- &db,
- Default::default(),
- Default::default(),
- Default::default(),
- Default::default(),
- );
-
- db
- }
-}
-
-impl salsa::Database for Database {}
-
-impl salsa::ParallelDatabase for Database {
- fn snapshot(&self) -> salsa::Snapshot<Self> {
- salsa::Snapshot::new(Self {
- storage: self.storage.snapshot(),
- })
- }
-}
-
-pub(crate) fn normalize_uri(uri: &mut lsp_types::Url) {
- fn fix_drive_letter(text: &str) -> Option<String> {
- if !text.is_ascii() {
- return None;
- }
-
- match &text[1..] {
- ":" => Some(text.to_ascii_uppercase()),
- "%3A" | "%3a" => Some(format!("{}:", text[0..1].to_ascii_uppercase())),
- _ => None,
- }
- }
-
- if let Some(mut segments) = uri.path_segments() {
- if let Some(mut path) = segments.next().and_then(fix_drive_letter) {
- for segment in segments {
- path.push('/');
- path.push_str(segment);
- }
-
- uri.set_path(&path);
- }
- }
-
- uri.set_fragment(None);
-}