From d11ff14b57d966c485a496c338711b117836e38b Mon Sep 17 00:00:00 2001 From: Mikayla Date: Thu, 2 Nov 2023 10:55:02 -0700 Subject: [PATCH] Remove the 2s from source code --- Cargo.lock | 2 - crates/ai2/Cargo.toml | 6 +- crates/ai2/src/auth.rs | 2 +- crates/ai2/src/embedding.rs | 2 +- crates/ai2/src/prompts/base.rs | 2 +- crates/ai2/src/prompts/file_context.rs | 4 +- crates/ai2/src/prompts/repository_context.rs | 4 +- .../ai2/src/providers/open_ai/completion.rs | 2 +- crates/ai2/src/providers/open_ai/embedding.rs | 4 +- crates/ai2/src/test.rs | 2 +- crates/audio2/Cargo.toml | 2 +- crates/audio2/src/assets.rs | 2 +- crates/audio2/src/audio2.rs | 2 +- crates/call2/Cargo.toml | 36 +- crates/call2/src/call2.rs | 12 +- crates/call2/src/call_settings.rs | 4 +- crates/call2/src/participant.rs | 16 +- crates/call2/src/room.rs | 32 +- crates/client2/Cargo.toml | 18 +- crates/client2/src/client2.rs | 28 +- crates/client2/src/telemetry.rs | 4 +- crates/client2/src/test.rs | 4 +- crates/client2/src/user.rs | 6 +- crates/copilot2/Cargo.toml | 24 +- crates/copilot2/src/copilot2.rs | 70 +- crates/copilot2/src/request.rs | 30 +- crates/db2/Cargo.toml | 4 +- crates/db2/src/db2.rs | 12 +- crates/db2/src/kvp.rs | 2 +- crates/feature_flags2/Cargo.toml | 2 +- crates/feature_flags2/src/feature_flags2.rs | 2 +- crates/fs2/Cargo.toml | 6 +- crates/fs2/src/fs2.rs | 8 +- crates/fuzzy2/Cargo.toml | 2 +- crates/fuzzy2/src/paths.rs | 2 +- crates/fuzzy2/src/strings.rs | 2 +- crates/gpui2_macros/src/test.rs | 14 +- crates/install_cli2/Cargo.toml | 2 +- crates/install_cli2/src/install_cli2.rs | 2 +- crates/journal2/Cargo.toml | 2 +- crates/journal2/src/journal2.rs | 2 +- crates/language2/Cargo.toml | 26 +- crates/language2/src/buffer.rs | 20 +- crates/language2/src/buffer_tests.rs | 94 +-- crates/language2/src/diagnostic_set.rs | 8 +- crates/language2/src/highlight_map.rs | 6 +- crates/language2/src/language2.rs | 70 +- crates/language2/src/language_settings.rs | 8 +- crates/language2/src/outline.rs | 6 +- crates/language2/src/proto.rs | 4 +- .../src/syntax_map/syntax_map_tests.rs | 42 +- crates/live_kit_client2/Cargo.toml | 4 +- crates/lsp2/Cargo.toml | 4 +- crates/lsp2/src/lsp2.rs | 10 +- crates/menu2/Cargo.toml | 2 +- crates/multi_buffer2/Cargo.toml | 30 +- crates/multi_buffer2/src/anchor.rs | 2 +- crates/multi_buffer2/src/multi_buffer2.rs | 84 +- crates/prettier2/Cargo.toml | 16 +- crates/prettier2/src/prettier2.rs | 14 +- crates/project2/Cargo.toml | 54 +- crates/project2/src/lsp_command.rs | 374 +++++---- crates/project2/src/project2.rs | 338 ++++---- crates/project2/src/project_settings.rs | 4 +- crates/project2/src/project_tests.rs | 722 ++++++++---------- crates/project2/src/search.rs | 4 +- crates/project2/src/terminals.rs | 10 +- crates/project2/src/worktree.rs | 32 +- crates/rpc2/Cargo.toml | 6 +- crates/rpc2/src/conn.rs | 4 +- crates/rpc2/src/peer.rs | 14 +- crates/rpc2/src/proto.rs | 4 +- crates/settings2/Cargo.toml | 12 +- crates/settings2/src/keymap_file.rs | 4 +- crates/settings2/src/settings_file.rs | 4 +- crates/settings2/src/settings_store.rs | 8 +- crates/terminal2/Cargo.toml | 8 +- crates/terminal2/src/mappings/colors.rs | 2 +- crates/terminal2/src/mappings/keys.rs | 4 +- crates/terminal2/src/mappings/mouse.rs | 24 +- crates/terminal2/src/terminal2.rs | 6 +- crates/terminal2/src/terminal_settings.rs | 4 +- crates/text2/Cargo.toml | 2 +- crates/text2/src/locator.rs | 2 +- crates/text2/src/patch.rs | 14 +- crates/text2/src/tests.rs | 4 +- crates/theme2/Cargo.toml | 12 +- crates/theme2/src/colors.rs | 8 +- crates/theme2/src/default_colors.rs | 2 +- crates/theme2/src/registry.rs | 2 +- crates/theme2/src/scale.rs | 2 +- crates/theme2/src/settings.rs | 6 +- crates/theme2/src/syntax.rs | 2 +- crates/theme2/src/theme2.rs | 4 +- crates/zed2/Cargo.toml | 42 +- crates/zed2/src/assets.rs | 3 +- crates/zed2/src/languages.rs | 6 +- crates/zed2/src/languages/c.rs | 52 +- crates/zed2/src/languages/css.rs | 4 +- crates/zed2/src/languages/elixir.rs | 18 +- crates/zed2/src/languages/go.rs | 57 +- crates/zed2/src/languages/html.rs | 4 +- crates/zed2/src/languages/json.rs | 10 +- crates/zed2/src/languages/lua.rs | 4 +- crates/zed2/src/languages/php.rs | 10 +- crates/zed2/src/languages/python.rs | 46 +- crates/zed2/src/languages/ruby.rs | 40 +- crates/zed2/src/languages/rust.rs | 92 +-- crates/zed2/src/languages/svelte.rs | 4 +- crates/zed2/src/languages/tailwind.rs | 6 +- crates/zed2/src/languages/typescript.rs | 28 +- crates/zed2/src/languages/vue.rs | 14 +- crates/zed2/src/languages/yaml.rs | 6 +- crates/zed2/src/main.rs | 36 +- crates/zed2/src/zed2.rs | 4 +- 115 files changed, 1473 insertions(+), 1549 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 903dd125c5..7545448720 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1541,7 +1541,6 @@ dependencies = [ "schemars", "serde", "serde_derive", - "settings", "settings2", "smol", "sum_tree", @@ -7796,7 +7795,6 @@ dependencies = [ "anyhow", "collections", "feature_flags2", - "fs", "fs2", "futures 0.3.28", "gpui2", diff --git a/crates/ai2/Cargo.toml b/crates/ai2/Cargo.toml index 4f06840e8e..aee265db6e 100644 --- a/crates/ai2/Cargo.toml +++ b/crates/ai2/Cargo.toml @@ -12,9 +12,9 @@ doctest = false test-support = [] [dependencies] -gpui2 = { path = "../gpui2" } +gpui = { package = "gpui2", path = "../gpui2" } util = { path = "../util" } -language2 = { path = "../language2" } +language = { package = "language2", path = "../language2" } async-trait.workspace = true anyhow.workspace = true futures.workspace = true @@ -35,4 +35,4 @@ rusqlite = { version = "0.29.0", features = ["blob", "array", "modern_sqlite"] } bincode = "1.3.3" [dev-dependencies] -gpui2 = { path = "../gpui2", features = ["test-support"] } +gpui = { package = "gpui2", path = "../gpui2", features = ["test-support"] } diff --git a/crates/ai2/src/auth.rs b/crates/ai2/src/auth.rs index 995f20d39c..baa1fe7b83 100644 --- a/crates/ai2/src/auth.rs +++ b/crates/ai2/src/auth.rs @@ -1,4 +1,4 @@ -use gpui2::AppContext; +use gpui::AppContext; #[derive(Clone, Debug)] pub enum ProviderCredential { diff --git a/crates/ai2/src/embedding.rs b/crates/ai2/src/embedding.rs index 7ea4786178..6768b7ce7b 100644 --- a/crates/ai2/src/embedding.rs +++ b/crates/ai2/src/embedding.rs @@ -81,7 +81,7 @@ mod tests { use super::*; use rand::prelude::*; - #[gpui2::test] + #[gpui::test] fn test_similarity(mut rng: StdRng) { assert_eq!( Embedding::from(vec![1., 0., 0., 0., 0.]) diff --git a/crates/ai2/src/prompts/base.rs b/crates/ai2/src/prompts/base.rs index 29091d0f5b..75bad00154 100644 --- a/crates/ai2/src/prompts/base.rs +++ b/crates/ai2/src/prompts/base.rs @@ -2,7 +2,7 @@ use std::cmp::Reverse; use std::ops::Range; use std::sync::Arc; -use language2::BufferSnapshot; +use language::BufferSnapshot; use util::ResultExt; use crate::models::LanguageModel; diff --git a/crates/ai2/src/prompts/file_context.rs b/crates/ai2/src/prompts/file_context.rs index 4a741beb24..f108a62f6f 100644 --- a/crates/ai2/src/prompts/file_context.rs +++ b/crates/ai2/src/prompts/file_context.rs @@ -1,6 +1,6 @@ use anyhow::anyhow; -use language2::BufferSnapshot; -use language2::ToOffset; +use language::BufferSnapshot; +use language::ToOffset; use crate::models::LanguageModel; use crate::models::TruncationDirection; diff --git a/crates/ai2/src/prompts/repository_context.rs b/crates/ai2/src/prompts/repository_context.rs index 1bb75de7d2..0d831c2cb2 100644 --- a/crates/ai2/src/prompts/repository_context.rs +++ b/crates/ai2/src/prompts/repository_context.rs @@ -2,8 +2,8 @@ use crate::prompts::base::{PromptArguments, PromptTemplate}; use std::fmt::Write; use std::{ops::Range, path::PathBuf}; -use gpui2::{AsyncAppContext, Model}; -use language2::{Anchor, Buffer}; +use gpui::{AsyncAppContext, Model}; +use language::{Anchor, Buffer}; #[derive(Clone)] pub struct PromptCodeSnippet { diff --git a/crates/ai2/src/providers/open_ai/completion.rs b/crates/ai2/src/providers/open_ai/completion.rs index bf9dc704a2..3e49fc5290 100644 --- a/crates/ai2/src/providers/open_ai/completion.rs +++ b/crates/ai2/src/providers/open_ai/completion.rs @@ -3,7 +3,7 @@ use futures::{ future::BoxFuture, io::BufReader, stream::BoxStream, AsyncBufReadExt, AsyncReadExt, FutureExt, Stream, StreamExt, }; -use gpui2::{AppContext, BackgroundExecutor}; +use gpui::{AppContext, BackgroundExecutor}; use isahc::{http::StatusCode, Request, RequestExt}; use parking_lot::RwLock; use serde::{Deserialize, Serialize}; diff --git a/crates/ai2/src/providers/open_ai/embedding.rs b/crates/ai2/src/providers/open_ai/embedding.rs index 27a01328f3..8f62c8dc0d 100644 --- a/crates/ai2/src/providers/open_ai/embedding.rs +++ b/crates/ai2/src/providers/open_ai/embedding.rs @@ -1,8 +1,8 @@ use anyhow::{anyhow, Result}; use async_trait::async_trait; use futures::AsyncReadExt; -use gpui2::BackgroundExecutor; -use gpui2::{serde_json, AppContext}; +use gpui::BackgroundExecutor; +use gpui::{serde_json, AppContext}; use isahc::http::StatusCode; use isahc::prelude::Configurable; use isahc::{AsyncBody, Response}; diff --git a/crates/ai2/src/test.rs b/crates/ai2/src/test.rs index b061a47139..3d59febbe9 100644 --- a/crates/ai2/src/test.rs +++ b/crates/ai2/src/test.rs @@ -5,7 +5,7 @@ use std::{ use async_trait::async_trait; use futures::{channel::mpsc, future::BoxFuture, stream::BoxStream, FutureExt, StreamExt}; -use gpui2::AppContext; +use gpui::AppContext; use parking_lot::Mutex; use crate::{ diff --git a/crates/audio2/Cargo.toml b/crates/audio2/Cargo.toml index 298142dbef..3688f108f4 100644 --- a/crates/audio2/Cargo.toml +++ b/crates/audio2/Cargo.toml @@ -9,7 +9,7 @@ path = "src/audio2.rs" doctest = false [dependencies] -gpui2 = { path = "../gpui2" } +gpui = { package = "gpui2", path = "../gpui2" } collections = { path = "../collections" } util = { path = "../util" } diff --git a/crates/audio2/src/assets.rs b/crates/audio2/src/assets.rs index 66e0bf5aa5..b58e1f6aee 100644 --- a/crates/audio2/src/assets.rs +++ b/crates/audio2/src/assets.rs @@ -2,7 +2,7 @@ use std::{io::Cursor, sync::Arc}; use anyhow::Result; use collections::HashMap; -use gpui2::{AppContext, AssetSource}; +use gpui::{AppContext, AssetSource}; use rodio::{ source::{Buffered, SamplesConverter}, Decoder, Source, diff --git a/crates/audio2/src/audio2.rs b/crates/audio2/src/audio2.rs index 286b07aba1..9264ed25d6 100644 --- a/crates/audio2/src/audio2.rs +++ b/crates/audio2/src/audio2.rs @@ -1,5 +1,5 @@ use assets::SoundRegistry; -use gpui2::{AppContext, AssetSource}; +use gpui::{AppContext, AssetSource}; use rodio::{OutputStream, OutputStreamHandle}; use util::ResultExt; diff --git a/crates/call2/Cargo.toml b/crates/call2/Cargo.toml index e918ada3e8..9e13463680 100644 --- a/crates/call2/Cargo.toml +++ b/crates/call2/Cargo.toml @@ -10,26 +10,26 @@ doctest = false [features] test-support = [ - "client2/test-support", + "client/test-support", "collections/test-support", - "gpui2/test-support", - "live_kit_client2/test-support", - "project2/test-support", + "gpui/test-support", + "live_kit_client/test-support", + "project/test-support", "util/test-support" ] [dependencies] -audio2 = { path = "../audio2" } -client2 = { path = "../client2" } +audio = { package = "audio2", path = "../audio2" } +client = { package = "client2", path = "../client2" } collections = { path = "../collections" } -gpui2 = { path = "../gpui2" } +gpui = { package = "gpui2", path = "../gpui2" } log.workspace = true -live_kit_client2 = { path = "../live_kit_client2" } -fs2 = { path = "../fs2" } -language2 = { path = "../language2" } +live_kit_client = { package = "live_kit_client2", path = "../live_kit_client2" } +fs = { package = "fs2", path = "../fs2" } +language = { package = "language2", path = "../language2" } media = { path = "../media" } -project2 = { path = "../project2" } -settings2 = { path = "../settings2" } +project = { package = "project2", path = "../project2" } +settings = { package = "settings2", path = "../settings2" } util = { path = "../util" } anyhow.workspace = true @@ -42,11 +42,11 @@ serde_json.workspace = true serde_derive.workspace = true [dev-dependencies] -client2 = { path = "../client2", features = ["test-support"] } -fs2 = { path = "../fs2", features = ["test-support"] } -language2 = { path = "../language2", features = ["test-support"] } +client = { package = "client2", path = "../client2", features = ["test-support"] } +fs = { package = "fs2", path = "../fs2", features = ["test-support"] } +language = { package = "language2", path = "../language2", features = ["test-support"] } collections = { path = "../collections", features = ["test-support"] } -gpui2 = { path = "../gpui2", features = ["test-support"] } -live_kit_client2 = { path = "../live_kit_client2", features = ["test-support"] } -project2 = { path = "../project2", features = ["test-support"] } +gpui = { package = "gpui2", path = "../gpui2", features = ["test-support"] } +live_kit_client = { package = "live_kit_client2", path = "../live_kit_client2", features = ["test-support"] } +project = { package = "project2", path = "../project2", features = ["test-support"] } util = { path = "../util", features = ["test-support"] } diff --git a/crates/call2/src/call2.rs b/crates/call2/src/call2.rs index 9383f9845f..477931919d 100644 --- a/crates/call2/src/call2.rs +++ b/crates/call2/src/call2.rs @@ -3,21 +3,21 @@ pub mod participant; pub mod room; use anyhow::{anyhow, Result}; -use audio2::Audio; +use audio::Audio; use call_settings::CallSettings; -use client2::{ +use client::{ proto, ClickhouseEvent, Client, TelemetrySettings, TypedEnvelope, User, UserStore, ZED_ALWAYS_ACTIVE, }; use collections::HashSet; use futures::{future::Shared, FutureExt}; -use gpui2::{ +use gpui::{ AppContext, AsyncAppContext, Context, EventEmitter, Model, ModelContext, Subscription, Task, WeakModel, }; use postage::watch; -use project2::Project; -use settings2::Settings; +use project::Project; +use settings::Settings; use std::sync::Arc; pub use participant::ParticipantLocation; @@ -50,7 +50,7 @@ pub struct ActiveCall { ), client: Arc, user_store: Model, - _subscriptions: Vec, + _subscriptions: Vec, } impl EventEmitter for ActiveCall { diff --git a/crates/call2/src/call_settings.rs b/crates/call2/src/call_settings.rs index c83ed73980..9375feedf0 100644 --- a/crates/call2/src/call_settings.rs +++ b/crates/call2/src/call_settings.rs @@ -1,8 +1,8 @@ use anyhow::Result; -use gpui2::AppContext; +use gpui::AppContext; use schemars::JsonSchema; use serde_derive::{Deserialize, Serialize}; -use settings2::Settings; +use settings::Settings; #[derive(Deserialize, Debug)] pub struct CallSettings { diff --git a/crates/call2/src/participant.rs b/crates/call2/src/participant.rs index 9fe212e776..f62d103f17 100644 --- a/crates/call2/src/participant.rs +++ b/crates/call2/src/participant.rs @@ -1,11 +1,11 @@ use anyhow::{anyhow, Result}; -use client2::ParticipantIndex; -use client2::{proto, User}; +use client::ParticipantIndex; +use client::{proto, User}; use collections::HashMap; -use gpui2::WeakModel; -pub use live_kit_client2::Frame; -use live_kit_client2::{RemoteAudioTrack, RemoteVideoTrack}; -use project2::Project; +use gpui::WeakModel; +pub use live_kit_client::Frame; +use live_kit_client::{RemoteAudioTrack, RemoteVideoTrack}; +use project::Project; use std::sync::Arc; #[derive(Copy, Clone, Debug, Eq, PartialEq)] @@ -47,6 +47,6 @@ pub struct RemoteParticipant { pub participant_index: ParticipantIndex, pub muted: bool, pub speaking: bool, - pub video_tracks: HashMap>, - pub audio_tracks: HashMap>, + pub video_tracks: HashMap>, + pub audio_tracks: HashMap>, } diff --git a/crates/call2/src/room.rs b/crates/call2/src/room.rs index deeec1df24..a46269a508 100644 --- a/crates/call2/src/room.rs +++ b/crates/call2/src/room.rs @@ -4,25 +4,25 @@ use crate::{ IncomingCall, }; use anyhow::{anyhow, Result}; -use audio2::{Audio, Sound}; -use client2::{ +use audio::{Audio, Sound}; +use client::{ proto::{self, PeerId}, Client, ParticipantIndex, TypedEnvelope, User, UserStore, }; use collections::{BTreeMap, HashMap, HashSet}; -use fs2::Fs; +use fs::Fs; use futures::{FutureExt, StreamExt}; -use gpui2::{ +use gpui::{ AppContext, AsyncAppContext, Context, EventEmitter, Model, ModelContext, Task, WeakModel, }; -use language2::LanguageRegistry; -use live_kit_client2::{ +use language::LanguageRegistry; +use live_kit_client::{ LocalAudioTrack, LocalTrackPublication, LocalVideoTrack, RemoteAudioTrackUpdate, RemoteVideoTrackUpdate, }; use postage::{sink::Sink, stream::Stream, watch}; -use project2::Project; -use settings2::Settings; +use project::Project; +use settings::Settings; use std::{future::Future, mem, sync::Arc, time::Duration}; use util::{post_inc, ResultExt, TryFutureExt}; @@ -72,8 +72,8 @@ pub struct Room { client: Arc, user_store: Model, follows_by_leader_id_project_id: HashMap<(PeerId, u64), Vec>, - client_subscriptions: Vec, - _subscriptions: Vec, + client_subscriptions: Vec, + _subscriptions: Vec, room_update_completed_tx: watch::Sender>, room_update_completed_rx: watch::Receiver>, pending_room_update: Option>, @@ -98,7 +98,7 @@ impl Room { if let Some(live_kit) = self.live_kit.as_ref() { matches!( *live_kit.room.status().borrow(), - live_kit_client2::ConnectionState::Connected { .. } + live_kit_client::ConnectionState::Connected { .. } ) } else { false @@ -114,7 +114,7 @@ impl Room { cx: &mut ModelContext, ) -> Self { let live_kit_room = if let Some(connection_info) = live_kit_connection_info { - let room = live_kit_client2::Room::new(); + let room = live_kit_client::Room::new(); let mut status = room.status(); // Consume the initial status of the room. let _ = status.try_recv(); @@ -126,7 +126,7 @@ impl Room { break; }; - if status == live_kit_client2::ConnectionState::Disconnected { + if status == live_kit_client::ConnectionState::Disconnected { this.update(&mut cx, |this, cx| this.leave(cx).log_err()) .ok(); break; @@ -341,7 +341,7 @@ impl Room { } pub fn mute_on_join(cx: &AppContext) -> bool { - CallSettings::get_global(cx).mute_on_join || client2::IMPERSONATE_LOGIN.is_some() + CallSettings::get_global(cx).mute_on_join || client::IMPERSONATE_LOGIN.is_some() } fn from_join_response( @@ -1504,7 +1504,7 @@ impl Room { } #[cfg(any(test, feature = "test-support"))] - pub fn set_display_sources(&self, sources: Vec) { + pub fn set_display_sources(&self, sources: Vec) { self.live_kit .as_ref() .unwrap() @@ -1514,7 +1514,7 @@ impl Room { } struct LiveKitRoom { - room: Arc, + room: Arc, screen_track: LocalTrack, microphone_track: LocalTrack, /// Tracks whether we're currently in a muted state due to auto-mute from deafening or manual mute performed by user. diff --git a/crates/client2/Cargo.toml b/crates/client2/Cargo.toml index 8a6edbb428..45e1f618d2 100644 --- a/crates/client2/Cargo.toml +++ b/crates/client2/Cargo.toml @@ -9,17 +9,17 @@ path = "src/client2.rs" doctest = false [features] -test-support = ["collections/test-support", "gpui2/test-support", "rpc2/test-support"] +test-support = ["collections/test-support", "gpui/test-support", "rpc/test-support"] [dependencies] collections = { path = "../collections" } -db2 = { path = "../db2" } -gpui2 = { path = "../gpui2" } +db = { package = "db2", path = "../db2" } +gpui = { package = "gpui2", path = "../gpui2" } util = { path = "../util" } -rpc2 = { path = "../rpc2" } +rpc = { package = "rpc2", path = "../rpc2" } text = { path = "../text" } -settings2 = { path = "../settings2" } -feature_flags2 = { path = "../feature_flags2" } +settings = { package = "settings2", path = "../settings2" } +feature_flags = { package = "feature_flags2", path = "../feature_flags2" } sum_tree = { path = "../sum_tree" } anyhow.workspace = true @@ -46,7 +46,7 @@ url = "2.2" [dev-dependencies] collections = { path = "../collections", features = ["test-support"] } -gpui2 = { path = "../gpui2", features = ["test-support"] } -rpc2 = { path = "../rpc2", features = ["test-support"] } -settings = { path = "../settings", features = ["test-support"] } +gpui = { package = "gpui2", path = "../gpui2", features = ["test-support"] } +rpc = { package = "rpc2", path = "../rpc2", features = ["test-support"] } +settings = { package = "settings2", path = "../settings2", features = ["test-support"] } util = { path = "../util", features = ["test-support"] } diff --git a/crates/client2/src/client2.rs b/crates/client2/src/client2.rs index b933b62a6f..6494e0350b 100644 --- a/crates/client2/src/client2.rs +++ b/crates/client2/src/client2.rs @@ -14,7 +14,7 @@ use futures::{ future::LocalBoxFuture, AsyncReadExt, FutureExt, SinkExt, StreamExt, TryFutureExt as _, TryStreamExt, }; -use gpui2::{ +use gpui::{ serde_json, AnyModel, AnyWeakModel, AppContext, AsyncAppContext, Model, SemanticVersion, Task, WeakModel, }; @@ -22,10 +22,10 @@ use lazy_static::lazy_static; use parking_lot::RwLock; use postage::watch; use rand::prelude::*; -use rpc2::proto::{AnyTypedEnvelope, EntityMessage, EnvelopedMessage, PeerId, RequestMessage}; +use rpc::proto::{AnyTypedEnvelope, EntityMessage, EnvelopedMessage, PeerId, RequestMessage}; use schemars::JsonSchema; use serde::{Deserialize, Serialize}; -use settings2::Settings; +use settings::Settings; use std::{ any::TypeId, collections::HashMap, @@ -44,7 +44,7 @@ use util::channel::ReleaseChannel; use util::http::HttpClient; use util::{ResultExt, TryFutureExt}; -pub use rpc2::*; +pub use rpc::*; pub use telemetry::ClickhouseEvent; pub use user::*; @@ -367,7 +367,7 @@ pub struct TelemetrySettingsContent { pub metrics: Option, } -impl settings2::Settings for TelemetrySettings { +impl settings::Settings for TelemetrySettings { const KEY: Option<&'static str> = Some("telemetry"); type FileContent = TelemetrySettingsContent; @@ -979,7 +979,7 @@ impl Client { "Authorization", format!("{} {}", credentials.user_id, credentials.access_token), ) - .header("x-zed-protocol-version", rpc2::PROTOCOL_VERSION); + .header("x-zed-protocol-version", rpc::PROTOCOL_VERSION); let http = self.http.clone(); cx.background_executor().spawn(async move { @@ -1029,7 +1029,7 @@ impl Client { // zed server to encrypt the user's access token, so that it can'be intercepted by // any other app running on the user's device. let (public_key, private_key) = - rpc2::auth::keypair().expect("failed to generate keypair for auth"); + rpc::auth::keypair().expect("failed to generate keypair for auth"); let public_key_string = String::try_from(public_key).expect("failed to serialize public key for auth"); @@ -1383,12 +1383,12 @@ mod tests { use super::*; use crate::test::FakeServer; - use gpui2::{BackgroundExecutor, Context, TestAppContext}; + use gpui::{BackgroundExecutor, Context, TestAppContext}; use parking_lot::Mutex; use std::future; use util::http::FakeHttpClient; - #[gpui2::test(iterations = 10)] + #[gpui::test(iterations = 10)] async fn test_reconnection(cx: &mut TestAppContext) { let user_id = 5; let client = cx.update(|cx| Client::new(FakeHttpClient::with_404_response(), cx)); @@ -1422,7 +1422,7 @@ mod tests { assert_eq!(server.auth_count(), 2); // Client re-authenticated due to an invalid token } - #[gpui2::test(iterations = 10)] + #[gpui::test(iterations = 10)] async fn test_connection_timeout(executor: BackgroundExecutor, cx: &mut TestAppContext) { let user_id = 5; let client = cx.update(|cx| Client::new(FakeHttpClient::with_404_response(), cx)); @@ -1490,7 +1490,7 @@ mod tests { )); } - #[gpui2::test(iterations = 10)] + #[gpui::test(iterations = 10)] async fn test_authenticating_more_than_once( cx: &mut TestAppContext, executor: BackgroundExecutor, @@ -1541,7 +1541,7 @@ mod tests { assert_eq!(decode_worktree_url("not://the-right-format"), None); } - #[gpui2::test] + #[gpui::test] async fn test_subscribing_to_entity(cx: &mut TestAppContext) { let user_id = 5; let client = cx.update(|cx| Client::new(FakeHttpClient::with_404_response(), cx)); @@ -1594,7 +1594,7 @@ mod tests { done_rx2.next().await.unwrap(); } - #[gpui2::test] + #[gpui::test] async fn test_subscribing_after_dropping_subscription(cx: &mut TestAppContext) { let user_id = 5; let client = cx.update(|cx| Client::new(FakeHttpClient::with_404_response(), cx)); @@ -1622,7 +1622,7 @@ mod tests { done_rx2.next().await.unwrap(); } - #[gpui2::test] + #[gpui::test] async fn test_dropping_subscription_in_handler(cx: &mut TestAppContext) { let user_id = 5; let client = cx.update(|cx| Client::new(FakeHttpClient::with_404_response(), cx)); diff --git a/crates/client2/src/telemetry.rs b/crates/client2/src/telemetry.rs index 0ef5f0d140..3723f7b906 100644 --- a/crates/client2/src/telemetry.rs +++ b/crates/client2/src/telemetry.rs @@ -1,9 +1,9 @@ use crate::{TelemetrySettings, ZED_SECRET_CLIENT_TOKEN, ZED_SERVER_URL}; -use gpui2::{serde_json, AppContext, AppMetadata, BackgroundExecutor, Task}; +use gpui::{serde_json, AppContext, AppMetadata, BackgroundExecutor, Task}; use lazy_static::lazy_static; use parking_lot::Mutex; use serde::Serialize; -use settings2::Settings; +use settings::Settings; use std::{env, io::Write, mem, path::PathBuf, sync::Arc, time::Duration}; use sysinfo::{ CpuRefreshKind, Pid, PidExt, ProcessExt, ProcessRefreshKind, RefreshKind, System, SystemExt, diff --git a/crates/client2/src/test.rs b/crates/client2/src/test.rs index 61f94580c3..5462799103 100644 --- a/crates/client2/src/test.rs +++ b/crates/client2/src/test.rs @@ -1,9 +1,9 @@ use crate::{Client, Connection, Credentials, EstablishConnectionError, UserStore}; use anyhow::{anyhow, Result}; use futures::{stream::BoxStream, StreamExt}; -use gpui2::{BackgroundExecutor, Context, Model, TestAppContext}; +use gpui::{BackgroundExecutor, Context, Model, TestAppContext}; use parking_lot::Mutex; -use rpc2::{ +use rpc::{ proto::{self, GetPrivateUserInfo, GetPrivateUserInfoResponse}, ConnectionId, Peer, Receipt, TypedEnvelope, }; diff --git a/crates/client2/src/user.rs b/crates/client2/src/user.rs index 2a8cf34af4..baf3a19dad 100644 --- a/crates/client2/src/user.rs +++ b/crates/client2/src/user.rs @@ -1,11 +1,11 @@ use super::{proto, Client, Status, TypedEnvelope}; use anyhow::{anyhow, Context, Result}; use collections::{hash_map::Entry, HashMap, HashSet}; -use feature_flags2::FeatureFlagAppExt; +use feature_flags::FeatureFlagAppExt; use futures::{channel::mpsc, future, AsyncReadExt, Future, StreamExt}; -use gpui2::{AsyncAppContext, EventEmitter, ImageData, Model, ModelContext, Task}; +use gpui::{AsyncAppContext, EventEmitter, ImageData, Model, ModelContext, Task}; use postage::{sink::Sink, watch}; -use rpc2::proto::{RequestMessage, UsersResponse}; +use rpc::proto::{RequestMessage, UsersResponse}; use std::sync::{Arc, Weak}; use text::ReplicaId; use util::http::HttpClient; diff --git a/crates/copilot2/Cargo.toml b/crates/copilot2/Cargo.toml index f83824d808..2021194607 100644 --- a/crates/copilot2/Cargo.toml +++ b/crates/copilot2/Cargo.toml @@ -11,21 +11,21 @@ doctest = false [features] test-support = [ "collections/test-support", - "gpui2/test-support", - "language2/test-support", - "lsp2/test-support", - "settings2/test-support", + "gpui/test-support", + "language/test-support", + "lsp/test-support", + "settings/test-support", "util/test-support", ] [dependencies] collections = { path = "../collections" } context_menu = { path = "../context_menu" } -gpui2 = { path = "../gpui2" } -language2 = { path = "../language2" } -settings2 = { path = "../settings2" } +gpui = { package = "gpui2", path = "../gpui2" } +language = { package = "language2", path = "../language2" } +settings = { package = "settings2", path = "../settings2" } theme = { path = "../theme" } -lsp2 = { path = "../lsp2" } +lsp = { package = "lsp2", path = "../lsp2" } node_runtime = { path = "../node_runtime"} util = { path = "../util" } async-compression = { version = "0.3", features = ["gzip", "futures-bufread"] } @@ -42,9 +42,9 @@ parking_lot.workspace = true clock = { path = "../clock" } collections = { path = "../collections", features = ["test-support"] } fs = { path = "../fs", features = ["test-support"] } -gpui2 = { path = "../gpui2", features = ["test-support"] } -language2 = { path = "../language2", features = ["test-support"] } -lsp2 = { path = "../lsp2", features = ["test-support"] } +gpui = { package = "gpui2", path = "../gpui2", features = ["test-support"] } +language = { package = "language2", path = "../language2", features = ["test-support"] } +lsp = { package = "lsp2", path = "../lsp2", features = ["test-support"] } rpc = { path = "../rpc", features = ["test-support"] } -settings2 = { path = "../settings2", features = ["test-support"] } +settings = { package = "settings2", path = "../settings2", features = ["test-support"] } util = { path = "../util", features = ["test-support"] } diff --git a/crates/copilot2/src/copilot2.rs b/crates/copilot2/src/copilot2.rs index 3b059775cd..6b1190a5bf 100644 --- a/crates/copilot2/src/copilot2.rs +++ b/crates/copilot2/src/copilot2.rs @@ -6,20 +6,20 @@ use async_compression::futures::bufread::GzipDecoder; use async_tar::Archive; use collections::{HashMap, HashSet}; use futures::{channel::oneshot, future::Shared, Future, FutureExt, TryFutureExt}; -use gpui2::{ +use gpui::{ AppContext, AsyncAppContext, Context, Entity, EntityId, EventEmitter, Model, ModelContext, Task, WeakModel, }; -use language2::{ +use language::{ language_settings::{all_language_settings, language_settings}, point_from_lsp, point_to_lsp, Anchor, Bias, Buffer, BufferSnapshot, Language, LanguageServerName, PointUtf16, ToPointUtf16, }; -use lsp2::{LanguageServer, LanguageServerBinary, LanguageServerId}; +use lsp::{LanguageServer, LanguageServerBinary, LanguageServerId}; use node_runtime::NodeRuntime; use parking_lot::Mutex; use request::StatusNotification; -use settings2::SettingsStore; +use settings::SettingsStore; use smol::{fs, io::BufReader, stream::StreamExt}; use std::{ ffi::OsString, @@ -172,11 +172,11 @@ impl Status { } struct RegisteredBuffer { - uri: lsp2::Url, + uri: lsp::Url, language_id: String, snapshot: BufferSnapshot, snapshot_version: i32, - _subscriptions: [gpui2::Subscription; 2], + _subscriptions: [gpui::Subscription; 2], pending_buffer_change: Task>, } @@ -220,8 +220,8 @@ impl RegisteredBuffer { let new_text = new_snapshot .text_for_range(edit.new.start.1..edit.new.end.1) .collect(); - lsp2::TextDocumentContentChangeEvent { - range: Some(lsp2::Range::new( + lsp::TextDocumentContentChangeEvent { + range: Some(lsp::Range::new( point_to_lsp(edit_start), point_to_lsp(edit_end), )), @@ -243,9 +243,9 @@ impl RegisteredBuffer { buffer.snapshot = new_snapshot; server .lsp - .notify::( - lsp2::DidChangeTextDocumentParams { - text_document: lsp2::VersionedTextDocumentIdentifier::new( + .notify::( + lsp::DidChangeTextDocumentParams { + text_document: lsp::VersionedTextDocumentIdentifier::new( buffer.uri.clone(), buffer.snapshot_version, ), @@ -280,7 +280,7 @@ pub struct Copilot { server: CopilotServer, buffers: HashSet>, server_id: LanguageServerId, - _subscription: gpui2::Subscription, + _subscription: gpui::Subscription, } pub enum Event { @@ -608,13 +608,13 @@ impl Copilot { registered_buffers .entry(buffer.entity_id()) .or_insert_with(|| { - let uri: lsp2::Url = uri_for_buffer(buffer, cx); + let uri: lsp::Url = uri_for_buffer(buffer, cx); let language_id = id_for_language(buffer.read(cx).language()); let snapshot = buffer.read(cx).snapshot(); server - .notify::( - lsp2::DidOpenTextDocumentParams { - text_document: lsp2::TextDocumentItem { + .notify::( + lsp::DidOpenTextDocumentParams { + text_document: lsp::TextDocumentItem { uri: uri.clone(), language_id: language_id.clone(), version: 0, @@ -647,29 +647,29 @@ impl Copilot { fn handle_buffer_event( &mut self, buffer: Model, - event: &language2::Event, + event: &language::Event, cx: &mut ModelContext, ) -> Result<()> { if let Ok(server) = self.server.as_running() { if let Some(registered_buffer) = server.registered_buffers.get_mut(&buffer.entity_id()) { match event { - language2::Event::Edited => { + language::Event::Edited => { let _ = registered_buffer.report_changes(&buffer, cx); } - language2::Event::Saved => { + language::Event::Saved => { server .lsp - .notify::( - lsp2::DidSaveTextDocumentParams { - text_document: lsp2::TextDocumentIdentifier::new( + .notify::( + lsp::DidSaveTextDocumentParams { + text_document: lsp::TextDocumentIdentifier::new( registered_buffer.uri.clone(), ), text: None, }, )?; } - language2::Event::FileHandleChanged | language2::Event::LanguageChanged => { + language::Event::FileHandleChanged | language::Event::LanguageChanged => { let new_language_id = id_for_language(buffer.read(cx).language()); let new_uri = uri_for_buffer(&buffer, cx); if new_uri != registered_buffer.uri @@ -679,16 +679,16 @@ impl Copilot { registered_buffer.language_id = new_language_id; server .lsp - .notify::( - lsp2::DidCloseTextDocumentParams { - text_document: lsp2::TextDocumentIdentifier::new(old_uri), + .notify::( + lsp::DidCloseTextDocumentParams { + text_document: lsp::TextDocumentIdentifier::new(old_uri), }, )?; server .lsp - .notify::( - lsp2::DidOpenTextDocumentParams { - text_document: lsp2::TextDocumentItem::new( + .notify::( + lsp::DidOpenTextDocumentParams { + text_document: lsp::TextDocumentItem::new( registered_buffer.uri.clone(), registered_buffer.language_id.clone(), registered_buffer.snapshot_version, @@ -711,9 +711,9 @@ impl Copilot { if let Some(buffer) = server.registered_buffers.remove(&buffer.entity_id()) { server .lsp - .notify::( - lsp2::DidCloseTextDocumentParams { - text_document: lsp2::TextDocumentIdentifier::new(buffer.uri), + .notify::( + lsp::DidCloseTextDocumentParams { + text_document: lsp::TextDocumentIdentifier::new(buffer.uri), }, ) .log_err(); @@ -798,7 +798,7 @@ impl Copilot { ) -> Task>> where R: 'static - + lsp2::request::Request< + + lsp::request::Request< Params = request::GetCompletionsParams, Result = request::GetCompletionsResult, >, @@ -926,9 +926,9 @@ fn id_for_language(language: Option<&Arc>) -> String { } } -fn uri_for_buffer(buffer: &Model, cx: &AppContext) -> lsp2::Url { +fn uri_for_buffer(buffer: &Model, cx: &AppContext) -> lsp::Url { if let Some(file) = buffer.read(cx).file().and_then(|file| file.as_local()) { - lsp2::Url::from_file_path(file.abs_path(cx)).unwrap() + lsp::Url::from_file_path(file.abs_path(cx)).unwrap() } else { format!("buffer://{}", buffer.entity_id()).parse().unwrap() } diff --git a/crates/copilot2/src/request.rs b/crates/copilot2/src/request.rs index fee92051dc..0f9a478b91 100644 --- a/crates/copilot2/src/request.rs +++ b/crates/copilot2/src/request.rs @@ -8,7 +8,7 @@ pub struct CheckStatusParams { pub local_checks_only: bool, } -impl lsp2::request::Request for CheckStatus { +impl lsp::request::Request for CheckStatus { type Params = CheckStatusParams; type Result = SignInStatus; const METHOD: &'static str = "checkStatus"; @@ -33,7 +33,7 @@ pub struct PromptUserDeviceFlow { pub verification_uri: String, } -impl lsp2::request::Request for SignInInitiate { +impl lsp::request::Request for SignInInitiate { type Params = SignInInitiateParams; type Result = SignInInitiateResult; const METHOD: &'static str = "signInInitiate"; @@ -66,7 +66,7 @@ pub enum SignInStatus { NotSignedIn, } -impl lsp2::request::Request for SignInConfirm { +impl lsp::request::Request for SignInConfirm { type Params = SignInConfirmParams; type Result = SignInStatus; const METHOD: &'static str = "signInConfirm"; @@ -82,7 +82,7 @@ pub struct SignOutParams {} #[serde(rename_all = "camelCase")] pub struct SignOutResult {} -impl lsp2::request::Request for SignOut { +impl lsp::request::Request for SignOut { type Params = SignOutParams; type Result = SignOutResult; const METHOD: &'static str = "signOut"; @@ -102,9 +102,9 @@ pub struct GetCompletionsDocument { pub tab_size: u32, pub indent_size: u32, pub insert_spaces: bool, - pub uri: lsp2::Url, + pub uri: lsp::Url, pub relative_path: String, - pub position: lsp2::Position, + pub position: lsp::Position, pub version: usize, } @@ -118,13 +118,13 @@ pub struct GetCompletionsResult { #[serde(rename_all = "camelCase")] pub struct Completion { pub text: String, - pub position: lsp2::Position, + pub position: lsp::Position, pub uuid: String, - pub range: lsp2::Range, + pub range: lsp::Range, pub display_text: String, } -impl lsp2::request::Request for GetCompletions { +impl lsp::request::Request for GetCompletions { type Params = GetCompletionsParams; type Result = GetCompletionsResult; const METHOD: &'static str = "getCompletions"; @@ -132,7 +132,7 @@ impl lsp2::request::Request for GetCompletions { pub enum GetCompletionsCycling {} -impl lsp2::request::Request for GetCompletionsCycling { +impl lsp::request::Request for GetCompletionsCycling { type Params = GetCompletionsParams; type Result = GetCompletionsResult; const METHOD: &'static str = "getCompletionsCycling"; @@ -149,7 +149,7 @@ pub struct LogMessageParams { pub extra: Vec, } -impl lsp2::notification::Notification for LogMessage { +impl lsp::notification::Notification for LogMessage { type Params = LogMessageParams; const METHOD: &'static str = "LogMessage"; } @@ -162,7 +162,7 @@ pub struct StatusNotificationParams { pub status: String, // One of Normal/InProgress } -impl lsp2::notification::Notification for StatusNotification { +impl lsp::notification::Notification for StatusNotification { type Params = StatusNotificationParams; const METHOD: &'static str = "statusNotification"; } @@ -176,7 +176,7 @@ pub struct SetEditorInfoParams { pub editor_plugin_info: EditorPluginInfo, } -impl lsp2::request::Request for SetEditorInfo { +impl lsp::request::Request for SetEditorInfo { type Params = SetEditorInfoParams; type Result = String; const METHOD: &'static str = "setEditorInfo"; @@ -204,7 +204,7 @@ pub struct NotifyAcceptedParams { pub uuid: String, } -impl lsp2::request::Request for NotifyAccepted { +impl lsp::request::Request for NotifyAccepted { type Params = NotifyAcceptedParams; type Result = String; const METHOD: &'static str = "notifyAccepted"; @@ -218,7 +218,7 @@ pub struct NotifyRejectedParams { pub uuids: Vec, } -impl lsp2::request::Request for NotifyRejected { +impl lsp::request::Request for NotifyRejected { type Params = NotifyRejectedParams; type Result = String; const METHOD: &'static str = "notifyRejected"; diff --git a/crates/db2/Cargo.toml b/crates/db2/Cargo.toml index 6ef8ec0874..c73e6314c5 100644 --- a/crates/db2/Cargo.toml +++ b/crates/db2/Cargo.toml @@ -13,7 +13,7 @@ test-support = [] [dependencies] collections = { path = "../collections" } -gpui2 = { path = "../gpui2" } +gpui = { package = "gpui2", path = "../gpui2" } sqlez = { path = "../sqlez" } sqlez_macros = { path = "../sqlez_macros" } util = { path = "../util" } @@ -28,6 +28,6 @@ serde_derive.workspace = true smol.workspace = true [dev-dependencies] -gpui2 = { path = "../gpui2", features = ["test-support"] } +gpui = { package = "gpui2", path = "../gpui2", features = ["test-support"] } env_logger.workspace = true tempdir.workspace = true diff --git a/crates/db2/src/db2.rs b/crates/db2/src/db2.rs index e052d59d12..573845aa2e 100644 --- a/crates/db2/src/db2.rs +++ b/crates/db2/src/db2.rs @@ -4,7 +4,7 @@ pub mod query; // Re-export pub use anyhow; use anyhow::Context; -use gpui2::AppContext; +use gpui::AppContext; pub use indoc::indoc; pub use lazy_static; pub use smol; @@ -201,7 +201,7 @@ mod tests { use crate::open_db; // Test bad migration panics - #[gpui2::test] + #[gpui::test] #[should_panic] async fn test_bad_migration_panics() { enum BadDB {} @@ -225,8 +225,8 @@ mod tests { } /// Test that DB exists but corrupted (causing recreate) - #[gpui2::test] - async fn test_db_corruption(cx: &mut gpui2::TestAppContext) { + #[gpui::test] + async fn test_db_corruption(cx: &mut gpui::TestAppContext) { cx.executor().allow_parking(); enum CorruptedDB {} @@ -269,8 +269,8 @@ mod tests { } /// Test that DB exists but corrupted (causing recreate) - #[gpui2::test(iterations = 30)] - async fn test_simultaneous_db_corruption(cx: &mut gpui2::TestAppContext) { + #[gpui::test(iterations = 30)] + async fn test_simultaneous_db_corruption(cx: &mut gpui::TestAppContext) { cx.executor().allow_parking(); enum CorruptedDB {} diff --git a/crates/db2/src/kvp.rs b/crates/db2/src/kvp.rs index b4445e3586..0b0cdd9aa1 100644 --- a/crates/db2/src/kvp.rs +++ b/crates/db2/src/kvp.rs @@ -35,7 +35,7 @@ impl KeyValueStore { mod tests { use crate::kvp::KeyValueStore; - #[gpui2::test] + #[gpui::test] async fn test_kvp() { let db = KeyValueStore(crate::open_test_db("test_kvp").await); diff --git a/crates/feature_flags2/Cargo.toml b/crates/feature_flags2/Cargo.toml index ad77330ac3..8ae39b31db 100644 --- a/crates/feature_flags2/Cargo.toml +++ b/crates/feature_flags2/Cargo.toml @@ -8,5 +8,5 @@ publish = false path = "src/feature_flags2.rs" [dependencies] -gpui2 = { path = "../gpui2" } +gpui = { package = "gpui2", path = "../gpui2" } anyhow.workspace = true diff --git a/crates/feature_flags2/src/feature_flags2.rs b/crates/feature_flags2/src/feature_flags2.rs index 446a2867e5..23167796ec 100644 --- a/crates/feature_flags2/src/feature_flags2.rs +++ b/crates/feature_flags2/src/feature_flags2.rs @@ -1,4 +1,4 @@ -use gpui2::{AppContext, Subscription, ViewContext}; +use gpui::{AppContext, Subscription, ViewContext}; #[derive(Default)] struct FeatureFlags { diff --git a/crates/fs2/Cargo.toml b/crates/fs2/Cargo.toml index 36f4e9c9c9..636def05ec 100644 --- a/crates/fs2/Cargo.toml +++ b/crates/fs2/Cargo.toml @@ -31,10 +31,10 @@ log.workspace = true libc = "0.2" time.workspace = true -gpui2 = { path = "../gpui2", optional = true} +gpui = { package = "gpui2", path = "../gpui2", optional = true} [dev-dependencies] -gpui2 = { path = "../gpui2", features = ["test-support"] } +gpui = { package = "gpui2", path = "../gpui2", features = ["test-support"] } [features] -test-support = ["gpui2/test-support"] +test-support = ["gpui/test-support"] diff --git a/crates/fs2/src/fs2.rs b/crates/fs2/src/fs2.rs index 82b5aead07..350a33b208 100644 --- a/crates/fs2/src/fs2.rs +++ b/crates/fs2/src/fs2.rs @@ -288,7 +288,7 @@ impl Fs for RealFs { pub struct FakeFs { // Use an unfair lock to ensure tests are deterministic. state: Mutex, - executor: gpui2::BackgroundExecutor, + executor: gpui::BackgroundExecutor, } #[cfg(any(test, feature = "test-support"))] @@ -434,7 +434,7 @@ lazy_static::lazy_static! { #[cfg(any(test, feature = "test-support"))] impl FakeFs { - pub fn new(executor: gpui2::BackgroundExecutor) -> Arc { + pub fn new(executor: gpui::BackgroundExecutor) -> Arc { Arc::new(Self { executor, state: Mutex::new(FakeFsState { @@ -1222,10 +1222,10 @@ pub fn copy_recursive<'a>( #[cfg(test)] mod tests { use super::*; - use gpui2::BackgroundExecutor; + use gpui::BackgroundExecutor; use serde_json::json; - #[gpui2::test] + #[gpui::test] async fn test_fake_fs(executor: BackgroundExecutor) { let fs = FakeFs::new(executor.clone()); fs.insert_tree( diff --git a/crates/fuzzy2/Cargo.toml b/crates/fuzzy2/Cargo.toml index 5b92a27a27..a112554a39 100644 --- a/crates/fuzzy2/Cargo.toml +++ b/crates/fuzzy2/Cargo.toml @@ -9,5 +9,5 @@ path = "src/fuzzy2.rs" doctest = false [dependencies] -gpui2 = { path = "../gpui2" } +gpui = { package = "gpui2", path = "../gpui2" } util = { path = "../util" } diff --git a/crates/fuzzy2/src/paths.rs b/crates/fuzzy2/src/paths.rs index 4990b9e5b5..e982195158 100644 --- a/crates/fuzzy2/src/paths.rs +++ b/crates/fuzzy2/src/paths.rs @@ -1,4 +1,4 @@ -use gpui2::BackgroundExecutor; +use gpui::BackgroundExecutor; use std::{ borrow::Cow, cmp::{self, Ordering}, diff --git a/crates/fuzzy2/src/strings.rs b/crates/fuzzy2/src/strings.rs index 7c71496a13..085362dd2c 100644 --- a/crates/fuzzy2/src/strings.rs +++ b/crates/fuzzy2/src/strings.rs @@ -2,7 +2,7 @@ use crate::{ matcher::{Match, MatchCandidate, Matcher}, CharBag, }; -use gpui2::BackgroundExecutor; +use gpui::BackgroundExecutor; use std::{ borrow::Cow, cmp::{self, Ordering}, diff --git a/crates/gpui2_macros/src/test.rs b/crates/gpui2_macros/src/test.rs index f7e45a90f9..acaaee597b 100644 --- a/crates/gpui2_macros/src/test.rs +++ b/crates/gpui2_macros/src/test.rs @@ -90,7 +90,7 @@ pub fn test(args: TokenStream, function: TokenStream) -> TokenStream { continue; } Some("BackgroundExecutor") => { - inner_fn_args.extend(quote!(gpui2::BackgroundExecutor::new( + inner_fn_args.extend(quote!(gpui::BackgroundExecutor::new( std::sync::Arc::new(dispatcher.clone()), ),)); continue; @@ -105,7 +105,7 @@ pub fn test(args: TokenStream, function: TokenStream) -> TokenStream { { let cx_varname = format_ident!("cx_{}", ix); cx_vars.extend(quote!( - let mut #cx_varname = gpui2::TestAppContext::new( + let mut #cx_varname = gpui::TestAppContext::new( dispatcher.clone() ); )); @@ -130,11 +130,11 @@ pub fn test(args: TokenStream, function: TokenStream) -> TokenStream { fn #outer_fn_name() { #inner_fn - gpui2::run_test( + gpui::run_test( #num_iterations as u64, #max_retries, &mut |dispatcher, _seed| { - let executor = gpui2::BackgroundExecutor::new(std::sync::Arc::new(dispatcher.clone())); + let executor = gpui::BackgroundExecutor::new(std::sync::Arc::new(dispatcher.clone())); #cx_vars executor.block_test(#inner_fn_name(#inner_fn_args)); #cx_teardowns @@ -167,7 +167,7 @@ pub fn test(args: TokenStream, function: TokenStream) -> TokenStream { let cx_varname = format_ident!("cx_{}", ix); let cx_varname_lock = format_ident!("cx_{}_lock", ix); cx_vars.extend(quote!( - let mut #cx_varname = gpui2::TestAppContext::new( + let mut #cx_varname = gpui::TestAppContext::new( dispatcher.clone() ); let mut #cx_varname_lock = #cx_varname.app.borrow_mut(); @@ -182,7 +182,7 @@ pub fn test(args: TokenStream, function: TokenStream) -> TokenStream { Some("TestAppContext") => { let cx_varname = format_ident!("cx_{}", ix); cx_vars.extend(quote!( - let mut #cx_varname = gpui2::TestAppContext::new( + let mut #cx_varname = gpui::TestAppContext::new( dispatcher.clone() ); )); @@ -209,7 +209,7 @@ pub fn test(args: TokenStream, function: TokenStream) -> TokenStream { fn #outer_fn_name() { #inner_fn - gpui2::run_test( + gpui::run_test( #num_iterations as u64, #max_retries, &mut |dispatcher, _seed| { diff --git a/crates/install_cli2/Cargo.toml b/crates/install_cli2/Cargo.toml index 0dd1b907fd..3310e7fbc8 100644 --- a/crates/install_cli2/Cargo.toml +++ b/crates/install_cli2/Cargo.toml @@ -14,5 +14,5 @@ test-support = [] smol.workspace = true anyhow.workspace = true log.workspace = true -gpui2 = { path = "../gpui2" } +gpui = { package = "gpui2", path = "../gpui2" } util = { path = "../util" } diff --git a/crates/install_cli2/src/install_cli2.rs b/crates/install_cli2/src/install_cli2.rs index e24a48ef07..7938d60210 100644 --- a/crates/install_cli2/src/install_cli2.rs +++ b/crates/install_cli2/src/install_cli2.rs @@ -1,5 +1,5 @@ use anyhow::{anyhow, Result}; -use gpui2::AsyncAppContext; +use gpui::AsyncAppContext; use std::path::Path; use util::ResultExt; diff --git a/crates/journal2/Cargo.toml b/crates/journal2/Cargo.toml index 8da2f51a62..f43d90fc85 100644 --- a/crates/journal2/Cargo.toml +++ b/crates/journal2/Cargo.toml @@ -10,7 +10,7 @@ doctest = false [dependencies] editor = { path = "../editor" } -gpui2 = { path = "../gpui2" } +gpui = { package = "gpui2", path = "../gpui2" } util = { path = "../util" } workspace = { path = "../workspace" } settings2 = { path = "../settings2" } diff --git a/crates/journal2/src/journal2.rs b/crates/journal2/src/journal2.rs index d875cb3834..fa6e05cca7 100644 --- a/crates/journal2/src/journal2.rs +++ b/crates/journal2/src/journal2.rs @@ -1,6 +1,6 @@ use anyhow::Result; use chrono::{Datelike, Local, NaiveTime, Timelike}; -use gpui2::AppContext; +use gpui::AppContext; use schemars::JsonSchema; use serde::{Deserialize, Serialize}; use settings2::Settings; diff --git a/crates/language2/Cargo.toml b/crates/language2/Cargo.toml index 1e49d0890f..4fca16bcb5 100644 --- a/crates/language2/Cargo.toml +++ b/crates/language2/Cargo.toml @@ -11,28 +11,28 @@ doctest = false [features] test-support = [ "rand", - "client2/test-support", + "client/test-support", "collections/test-support", - "lsp2/test-support", + "lsp/test-support", "text/test-support", "tree-sitter-rust", "tree-sitter-typescript", - "settings2/test-support", + "settings/test-support", "util/test-support", ] [dependencies] clock = { path = "../clock" } collections = { path = "../collections" } -fuzzy2 = { path = "../fuzzy2" } +fuzzy = { package = "fuzzy2", path = "../fuzzy2" } git = { path = "../git" } -gpui2 = { path = "../gpui2" } -lsp2 = { path = "../lsp2" } -rpc2 = { path = "../rpc2" } -settings2 = { path = "../settings2" } +gpui = { package = "gpui2", path = "../gpui2" } +lsp = { package = "lsp2", path = "../lsp2" } +rpc = { package = "rpc2", path = "../rpc2" } +settings = { package = "settings2", path = "../settings2" } sum_tree = { path = "../sum_tree" } text = { path = "../text" } -theme2 = { path = "../theme2" } +theme = { package = "theme2", path = "../theme2" } util = { path = "../util" } anyhow.workspace = true @@ -60,12 +60,12 @@ tree-sitter-rust = { workspace = true, optional = true } tree-sitter-typescript = { workspace = true, optional = true } [dev-dependencies] -client2 = { path = "../client2", features = ["test-support"] } +client = { package = "client2", path = "../client2", features = ["test-support"] } collections = { path = "../collections", features = ["test-support"] } -gpui2 = { path = "../gpui2", features = ["test-support"] } -lsp2 = { path = "../lsp2", features = ["test-support"] } +gpui = { package = "gpui2", path = "../gpui2", features = ["test-support"] } +lsp = { package = "lsp2", path = "../lsp2", features = ["test-support"] } text = { path = "../text", features = ["test-support"] } -settings2 = { path = "../settings2", features = ["test-support"] } +settings = { package = "settings2", path = "../settings2", features = ["test-support"] } util = { path = "../util", features = ["test-support"] } ctor.workspace = true env_logger.workspace = true diff --git a/crates/language2/src/buffer.rs b/crates/language2/src/buffer.rs index 3999f275f2..36c1f39e1c 100644 --- a/crates/language2/src/buffer.rs +++ b/crates/language2/src/buffer.rs @@ -16,8 +16,8 @@ use crate::{ use anyhow::{anyhow, Result}; pub use clock::ReplicaId; use futures::FutureExt as _; -use gpui2::{AppContext, EventEmitter, HighlightStyle, ModelContext, Task}; -use lsp2::LanguageServerId; +use gpui::{AppContext, EventEmitter, HighlightStyle, ModelContext, Task}; +use lsp::LanguageServerId; use parking_lot::Mutex; use similar::{ChangeTag, TextDiff}; use smallvec::SmallVec; @@ -40,7 +40,7 @@ use std::{ use sum_tree::TreeMap; use text::operation_queue::OperationQueue; pub use text::{Buffer as TextBuffer, BufferSnapshot as TextBufferSnapshot, *}; -use theme2::SyntaxTheme; +use theme::SyntaxTheme; #[cfg(any(test, feature = "test-support"))] use util::RandomCharIter; use util::{RangeExt, TryFutureExt as _}; @@ -48,7 +48,7 @@ use util::{RangeExt, TryFutureExt as _}; #[cfg(any(test, feature = "test-support"))] pub use {tree_sitter_rust, tree_sitter_typescript}; -pub use lsp2::DiagnosticSeverity; +pub use lsp::DiagnosticSeverity; pub struct Buffer { text: TextBuffer, @@ -149,14 +149,14 @@ pub struct Completion { pub new_text: String, pub label: CodeLabel, pub server_id: LanguageServerId, - pub lsp_completion: lsp2::CompletionItem, + pub lsp_completion: lsp::CompletionItem, } #[derive(Clone, Debug)] pub struct CodeAction { pub server_id: LanguageServerId, pub range: Range, - pub lsp_action: lsp2::CodeAction, + pub lsp_action: lsp::CodeAction, } #[derive(Clone, Debug, PartialEq)] @@ -226,7 +226,7 @@ pub trait File: Send + Sync { fn as_any(&self) -> &dyn Any; - fn to_proto(&self) -> rpc2::proto::File; + fn to_proto(&self) -> rpc::proto::File; } pub trait LocalFile: File { @@ -375,7 +375,7 @@ impl Buffer { file, ); this.text.set_line_ending(proto::deserialize_line_ending( - rpc2::proto::LineEnding::from_i32(message.line_ending) + rpc::proto::LineEnding::from_i32(message.line_ending) .ok_or_else(|| anyhow!("missing line_ending"))?, )); this.saved_version = proto::deserialize_version(&message.saved_version); @@ -3003,14 +3003,14 @@ impl IndentSize { impl Completion { pub fn sort_key(&self) -> (usize, &str) { let kind_key = match self.lsp_completion.kind { - Some(lsp2::CompletionItemKind::VARIABLE) => 0, + Some(lsp::CompletionItemKind::VARIABLE) => 0, _ => 1, }; (kind_key, &self.label.text[self.label.filter_range.clone()]) } pub fn is_snippet(&self) -> bool { - self.lsp_completion.insert_text_format == Some(lsp2::InsertTextFormat::SNIPPET) + self.lsp_completion.insert_text_format == Some(lsp::InsertTextFormat::SNIPPET) } } diff --git a/crates/language2/src/buffer_tests.rs b/crates/language2/src/buffer_tests.rs index 16306fe2ce..c0bd068973 100644 --- a/crates/language2/src/buffer_tests.rs +++ b/crates/language2/src/buffer_tests.rs @@ -5,13 +5,13 @@ use crate::language_settings::{ use crate::Buffer; use clock::ReplicaId; use collections::BTreeMap; -use gpui2::{AppContext, Model}; -use gpui2::{Context, TestAppContext}; +use gpui::{AppContext, Model}; +use gpui::{Context, TestAppContext}; use indoc::indoc; use proto::deserialize_operation; use rand::prelude::*; use regex::RegexBuilder; -use settings2::SettingsStore; +use settings::SettingsStore; use std::{ env, ops::Range, @@ -38,8 +38,8 @@ fn init_logger() { } } -#[gpui2::test] -fn test_line_endings(cx: &mut gpui2::AppContext) { +#[gpui::test] +fn test_line_endings(cx: &mut gpui::AppContext) { init_settings(cx, |_| {}); cx.build_model(|cx| { @@ -63,7 +63,7 @@ fn test_line_endings(cx: &mut gpui2::AppContext) { }); } -#[gpui2::test] +#[gpui::test] fn test_select_language() { let registry = Arc::new(LanguageRegistry::test()); registry.add(Arc::new(Language::new( @@ -132,8 +132,8 @@ fn test_select_language() { ); } -#[gpui2::test] -fn test_edit_events(cx: &mut gpui2::AppContext) { +#[gpui::test] +fn test_edit_events(cx: &mut gpui::AppContext) { let mut now = Instant::now(); let buffer_1_events = Arc::new(Mutex::new(Vec::new())); let buffer_2_events = Arc::new(Mutex::new(Vec::new())); @@ -215,7 +215,7 @@ fn test_edit_events(cx: &mut gpui2::AppContext) { ); } -#[gpui2::test] +#[gpui::test] async fn test_apply_diff(cx: &mut TestAppContext) { let text = "a\nbb\nccc\ndddd\neeeee\nffffff\n"; let buffer = cx.build_model(|cx| Buffer::new(0, cx.entity_id().as_u64(), text)); @@ -238,8 +238,8 @@ async fn test_apply_diff(cx: &mut TestAppContext) { }); } -#[gpui2::test(iterations = 10)] -async fn test_normalize_whitespace(cx: &mut gpui2::TestAppContext) { +#[gpui::test(iterations = 10)] +async fn test_normalize_whitespace(cx: &mut gpui::TestAppContext) { let text = [ "zero", // "one ", // 2 trailing spaces @@ -311,8 +311,8 @@ async fn test_normalize_whitespace(cx: &mut gpui2::TestAppContext) { }); } -#[gpui2::test] -async fn test_reparse(cx: &mut gpui2::TestAppContext) { +#[gpui::test] +async fn test_reparse(cx: &mut gpui::TestAppContext) { let text = "fn a() {}"; let buffer = cx.build_model(|cx| { Buffer::new(0, cx.entity_id().as_u64(), text).with_language(Arc::new(rust_lang()), cx) @@ -440,8 +440,8 @@ async fn test_reparse(cx: &mut gpui2::TestAppContext) { ); } -#[gpui2::test] -async fn test_resetting_language(cx: &mut gpui2::TestAppContext) { +#[gpui::test] +async fn test_resetting_language(cx: &mut gpui::TestAppContext) { let buffer = cx.build_model(|cx| { let mut buffer = Buffer::new(0, cx.entity_id().as_u64(), "{}").with_language(Arc::new(rust_lang()), cx); @@ -463,8 +463,8 @@ async fn test_resetting_language(cx: &mut gpui2::TestAppContext) { assert_eq!(get_tree_sexp(&buffer, cx), "(document (object))"); } -#[gpui2::test] -async fn test_outline(cx: &mut gpui2::TestAppContext) { +#[gpui::test] +async fn test_outline(cx: &mut gpui::TestAppContext) { let text = r#" struct Person { name: String, @@ -556,7 +556,7 @@ async fn test_outline(cx: &mut gpui2::TestAppContext) { async fn search<'a>( outline: &'a Outline, query: &'a str, - cx: &'a gpui2::TestAppContext, + cx: &'a gpui::TestAppContext, ) -> Vec<(&'a str, Vec)> { let matches = cx .update(|cx| outline.search(query, cx.background_executor().clone())) @@ -568,8 +568,8 @@ async fn test_outline(cx: &mut gpui2::TestAppContext) { } } -#[gpui2::test] -async fn test_outline_nodes_with_newlines(cx: &mut gpui2::TestAppContext) { +#[gpui::test] +async fn test_outline_nodes_with_newlines(cx: &mut gpui::TestAppContext) { let text = r#" impl A for B< C @@ -595,8 +595,8 @@ async fn test_outline_nodes_with_newlines(cx: &mut gpui2::TestAppContext) { ); } -#[gpui2::test] -async fn test_outline_with_extra_context(cx: &mut gpui2::TestAppContext) { +#[gpui::test] +async fn test_outline_with_extra_context(cx: &mut gpui::TestAppContext) { let language = javascript_lang() .with_outline_query( r#" @@ -643,8 +643,8 @@ async fn test_outline_with_extra_context(cx: &mut gpui2::TestAppContext) { ); } -#[gpui2::test] -async fn test_symbols_containing(cx: &mut gpui2::TestAppContext) { +#[gpui::test] +async fn test_symbols_containing(cx: &mut gpui::TestAppContext) { let text = r#" impl Person { fn one() { @@ -731,7 +731,7 @@ async fn test_symbols_containing(cx: &mut gpui2::TestAppContext) { } } -#[gpui2::test] +#[gpui::test] fn test_enclosing_bracket_ranges(cx: &mut AppContext) { let mut assert = |selection_text, range_markers| { assert_bracket_pairs(selection_text, range_markers, rust_lang(), cx) @@ -847,7 +847,7 @@ fn test_enclosing_bracket_ranges(cx: &mut AppContext) { ); } -#[gpui2::test] +#[gpui::test] fn test_enclosing_bracket_ranges_where_brackets_are_not_outermost_children(cx: &mut AppContext) { let mut assert = |selection_text, bracket_pair_texts| { assert_bracket_pairs(selection_text, bracket_pair_texts, javascript_lang(), cx) @@ -879,7 +879,7 @@ fn test_enclosing_bracket_ranges_where_brackets_are_not_outermost_children(cx: & ); } -#[gpui2::test] +#[gpui::test] fn test_range_for_syntax_ancestor(cx: &mut AppContext) { cx.build_model(|cx| { let text = "fn a() { b(|c| {}) }"; @@ -918,7 +918,7 @@ fn test_range_for_syntax_ancestor(cx: &mut AppContext) { } } -#[gpui2::test] +#[gpui::test] fn test_autoindent_with_soft_tabs(cx: &mut AppContext) { init_settings(cx, |_| {}); @@ -959,7 +959,7 @@ fn test_autoindent_with_soft_tabs(cx: &mut AppContext) { }); } -#[gpui2::test] +#[gpui::test] fn test_autoindent_with_hard_tabs(cx: &mut AppContext) { init_settings(cx, |settings| { settings.defaults.hard_tabs = Some(true); @@ -1002,7 +1002,7 @@ fn test_autoindent_with_hard_tabs(cx: &mut AppContext) { }); } -#[gpui2::test] +#[gpui::test] fn test_autoindent_does_not_adjust_lines_with_unchanged_suggestion(cx: &mut AppContext) { init_settings(cx, |_| {}); @@ -1143,7 +1143,7 @@ fn test_autoindent_does_not_adjust_lines_with_unchanged_suggestion(cx: &mut AppC eprintln!("DONE"); } -#[gpui2::test] +#[gpui::test] fn test_autoindent_does_not_adjust_lines_within_newly_created_errors(cx: &mut AppContext) { init_settings(cx, |_| {}); @@ -1205,7 +1205,7 @@ fn test_autoindent_does_not_adjust_lines_within_newly_created_errors(cx: &mut Ap }); } -#[gpui2::test] +#[gpui::test] fn test_autoindent_adjusts_lines_when_only_text_changes(cx: &mut AppContext) { init_settings(cx, |_| {}); @@ -1262,7 +1262,7 @@ fn test_autoindent_adjusts_lines_when_only_text_changes(cx: &mut AppContext) { }); } -#[gpui2::test] +#[gpui::test] fn test_autoindent_with_edit_at_end_of_buffer(cx: &mut AppContext) { init_settings(cx, |_| {}); @@ -1280,7 +1280,7 @@ fn test_autoindent_with_edit_at_end_of_buffer(cx: &mut AppContext) { }); } -#[gpui2::test] +#[gpui::test] fn test_autoindent_multi_line_insertion(cx: &mut AppContext) { init_settings(cx, |_| {}); @@ -1322,7 +1322,7 @@ fn test_autoindent_multi_line_insertion(cx: &mut AppContext) { }); } -#[gpui2::test] +#[gpui::test] fn test_autoindent_block_mode(cx: &mut AppContext) { init_settings(cx, |_| {}); @@ -1406,7 +1406,7 @@ fn test_autoindent_block_mode(cx: &mut AppContext) { }); } -#[gpui2::test] +#[gpui::test] fn test_autoindent_block_mode_without_original_indent_columns(cx: &mut AppContext) { init_settings(cx, |_| {}); @@ -1486,7 +1486,7 @@ fn test_autoindent_block_mode_without_original_indent_columns(cx: &mut AppContex }); } -#[gpui2::test] +#[gpui::test] fn test_autoindent_language_without_indents_query(cx: &mut AppContext) { init_settings(cx, |_| {}); @@ -1530,7 +1530,7 @@ fn test_autoindent_language_without_indents_query(cx: &mut AppContext) { }); } -#[gpui2::test] +#[gpui::test] fn test_autoindent_with_injected_languages(cx: &mut AppContext) { init_settings(cx, |settings| { settings.languages.extend([ @@ -1604,7 +1604,7 @@ fn test_autoindent_with_injected_languages(cx: &mut AppContext) { }); } -#[gpui2::test] +#[gpui::test] fn test_autoindent_query_with_outdent_captures(cx: &mut AppContext) { init_settings(cx, |settings| { settings.defaults.tab_size = Some(2.try_into().unwrap()); @@ -1649,7 +1649,7 @@ fn test_autoindent_query_with_outdent_captures(cx: &mut AppContext) { }); } -#[gpui2::test] +#[gpui::test] fn test_language_scope_at_with_javascript(cx: &mut AppContext) { init_settings(cx, |_| {}); @@ -1738,7 +1738,7 @@ fn test_language_scope_at_with_javascript(cx: &mut AppContext) { }); } -#[gpui2::test] +#[gpui::test] fn test_language_scope_at_with_rust(cx: &mut AppContext) { init_settings(cx, |_| {}); @@ -1806,7 +1806,7 @@ fn test_language_scope_at_with_rust(cx: &mut AppContext) { }); } -#[gpui2::test] +#[gpui::test] fn test_language_scope_at_with_combined_injections(cx: &mut AppContext) { init_settings(cx, |_| {}); @@ -1854,8 +1854,8 @@ fn test_language_scope_at_with_combined_injections(cx: &mut AppContext) { }); } -#[gpui2::test] -fn test_serialization(cx: &mut gpui2::AppContext) { +#[gpui::test] +fn test_serialization(cx: &mut gpui::AppContext) { let mut now = Instant::now(); let buffer1 = cx.build_model(|cx| { @@ -1895,7 +1895,7 @@ fn test_serialization(cx: &mut gpui2::AppContext) { assert_eq!(buffer2.read(cx).text(), "abcDF"); } -#[gpui2::test(iterations = 100)] +#[gpui::test(iterations = 100)] fn test_random_collaboration(cx: &mut AppContext, mut rng: StdRng) { let min_peers = env::var("MIN_PEERS") .map(|i| i.parse().expect("invalid `MIN_PEERS` variable")) @@ -2199,7 +2199,7 @@ fn test_contiguous_ranges() { ); } -#[gpui2::test(iterations = 500)] +#[gpui::test(iterations = 500)] fn test_trailing_whitespace_ranges(mut rng: StdRng) { // Generate a random multi-line string containing // some lines with trailing whitespace. @@ -2400,7 +2400,7 @@ fn javascript_lang() -> Language { .unwrap() } -fn get_tree_sexp(buffer: &Model, cx: &mut gpui2::TestAppContext) -> String { +fn get_tree_sexp(buffer: &Model, cx: &mut gpui::TestAppContext) -> String { buffer.update(cx, |buffer, _| { let snapshot = buffer.snapshot(); let layers = snapshot.syntax.layers(buffer.as_text_snapshot()); diff --git a/crates/language2/src/diagnostic_set.rs b/crates/language2/src/diagnostic_set.rs index 5247af285e..f269fce88d 100644 --- a/crates/language2/src/diagnostic_set.rs +++ b/crates/language2/src/diagnostic_set.rs @@ -1,6 +1,6 @@ use crate::Diagnostic; use collections::HashMap; -use lsp2::LanguageServerId; +use lsp::LanguageServerId; use std::{ cmp::{Ordering, Reverse}, iter, @@ -37,14 +37,14 @@ pub struct Summary { impl DiagnosticEntry { // Used to provide diagnostic context to lsp codeAction request - pub fn to_lsp_diagnostic_stub(&self) -> lsp2::Diagnostic { + pub fn to_lsp_diagnostic_stub(&self) -> lsp::Diagnostic { let code = self .diagnostic .code .clone() - .map(lsp2::NumberOrString::String); + .map(lsp::NumberOrString::String); - lsp2::Diagnostic { + lsp::Diagnostic { code, severity: Some(self.diagnostic.severity), ..Default::default() diff --git a/crates/language2/src/highlight_map.rs b/crates/language2/src/highlight_map.rs index b394d0446e..aeeda546bf 100644 --- a/crates/language2/src/highlight_map.rs +++ b/crates/language2/src/highlight_map.rs @@ -1,6 +1,6 @@ -use gpui2::HighlightStyle; +use gpui::HighlightStyle; use std::sync::Arc; -use theme2::SyntaxTheme; +use theme::SyntaxTheme; #[derive(Clone, Debug)] pub struct HighlightMap(Arc<[HighlightId]>); @@ -79,7 +79,7 @@ impl Default for HighlightId { #[cfg(test)] mod tests { use super::*; - use gpui2::rgba; + use gpui::rgba; #[test] fn test_highlight_map() { diff --git a/crates/language2/src/language2.rs b/crates/language2/src/language2.rs index ea13dc185f..381284659b 100644 --- a/crates/language2/src/language2.rs +++ b/crates/language2/src/language2.rs @@ -17,10 +17,10 @@ use futures::{ future::{BoxFuture, Shared}, FutureExt, TryFutureExt as _, }; -use gpui2::{AppContext, AsyncAppContext, BackgroundExecutor, Task}; +use gpui::{AppContext, AsyncAppContext, BackgroundExecutor, Task}; pub use highlight_map::HighlightMap; use lazy_static::lazy_static; -use lsp2::{CodeActionKind, LanguageServerBinary}; +use lsp::{CodeActionKind, LanguageServerBinary}; use parking_lot::{Mutex, RwLock}; use postage::watch; use regex::Regex; @@ -42,7 +42,7 @@ use std::{ }, }; use syntax_map::SyntaxSnapshot; -use theme2::{SyntaxTheme, ThemeVariant}; +use theme::{SyntaxTheme, ThemeVariant}; use tree_sitter::{self, Query}; use unicase::UniCase; use util::{http::HttpClient, paths::PathExt}; @@ -51,7 +51,7 @@ use util::{post_inc, ResultExt, TryFutureExt as _, UnwrapFuture}; pub use buffer::Operation; pub use buffer::*; pub use diagnostic_set::DiagnosticEntry; -pub use lsp2::LanguageServerId; +pub use lsp::LanguageServerId; pub use outline::{Outline, OutlineItem}; pub use syntax_map::{OwnedSyntaxLayerInfo, SyntaxLayerInfo}; pub use text::LineEnding; @@ -98,7 +98,7 @@ lazy_static! { } pub trait ToLspPosition { - fn to_lsp_position(self) -> lsp2::Position; + fn to_lsp_position(self) -> lsp::Position; } #[derive(Clone, Debug, PartialEq, Eq, Hash)] @@ -203,17 +203,17 @@ impl CachedLspAdapter { self.adapter.workspace_configuration(cx) } - pub fn process_diagnostics(&self, params: &mut lsp2::PublishDiagnosticsParams) { + pub fn process_diagnostics(&self, params: &mut lsp::PublishDiagnosticsParams) { self.adapter.process_diagnostics(params) } - pub async fn process_completion(&self, completion_item: &mut lsp2::CompletionItem) { + pub async fn process_completion(&self, completion_item: &mut lsp::CompletionItem) { self.adapter.process_completion(completion_item).await } pub async fn label_for_completion( &self, - completion_item: &lsp2::CompletionItem, + completion_item: &lsp::CompletionItem, language: &Arc, ) -> Option { self.adapter @@ -224,7 +224,7 @@ impl CachedLspAdapter { pub async fn label_for_symbol( &self, name: &str, - kind: lsp2::SymbolKind, + kind: lsp::SymbolKind, language: &Arc, ) -> Option { self.adapter.label_for_symbol(name, kind, language).await @@ -289,13 +289,13 @@ pub trait LspAdapter: 'static + Send + Sync { container_dir: PathBuf, ) -> Option; - fn process_diagnostics(&self, _: &mut lsp2::PublishDiagnosticsParams) {} + fn process_diagnostics(&self, _: &mut lsp::PublishDiagnosticsParams) {} - async fn process_completion(&self, _: &mut lsp2::CompletionItem) {} + async fn process_completion(&self, _: &mut lsp::CompletionItem) {} async fn label_for_completion( &self, - _: &lsp2::CompletionItem, + _: &lsp::CompletionItem, _: &Arc, ) -> Option { None @@ -304,7 +304,7 @@ pub trait LspAdapter: 'static + Send + Sync { async fn label_for_symbol( &self, _: &str, - _: lsp2::SymbolKind, + _: lsp::SymbolKind, _: &Arc, ) -> Option { None @@ -476,8 +476,8 @@ fn deserialize_regex<'de, D: Deserializer<'de>>(d: D) -> Result, D pub struct FakeLspAdapter { pub name: &'static str, pub initialization_options: Option, - pub capabilities: lsp2::ServerCapabilities, - pub initializer: Option>, + pub capabilities: lsp::ServerCapabilities, + pub initializer: Option>, pub disk_based_diagnostics_progress_token: Option, pub disk_based_diagnostics_sources: Vec, pub prettier_plugins: Vec<&'static str>, @@ -532,7 +532,7 @@ pub struct Language { #[cfg(any(test, feature = "test-support"))] fake_adapter: Option<( - mpsc::UnboundedSender, + mpsc::UnboundedSender, Arc, )>, } @@ -649,7 +649,7 @@ struct LanguageRegistryState { pub struct PendingLanguageServer { pub server_id: LanguageServerId, - pub task: Task>, + pub task: Task>, pub container_dir: Option>, } @@ -905,7 +905,7 @@ impl LanguageRegistry { if language.fake_adapter.is_some() { let task = cx.spawn(|cx| async move { let (servers_tx, fake_adapter) = language.fake_adapter.as_ref().unwrap(); - let (server, mut fake_server) = lsp2::LanguageServer::fake( + let (server, mut fake_server) = lsp::LanguageServer::fake( fake_adapter.name.to_string(), fake_adapter.capabilities.clone(), cx.clone(), @@ -919,7 +919,7 @@ impl LanguageRegistry { cx.background_executor() .spawn(async move { if fake_server - .try_receive_notification::() + .try_receive_notification::() .await .is_some() { @@ -988,7 +988,7 @@ impl LanguageRegistry { task.await?; } - lsp2::LanguageServer::new( + lsp::LanguageServer::new( stderr_capture, server_id, binary, @@ -1471,7 +1471,7 @@ impl Language { pub async fn set_fake_lsp_adapter( &mut self, fake_lsp_adapter: Arc, - ) -> mpsc::UnboundedReceiver { + ) -> mpsc::UnboundedReceiver { let (servers_tx, servers_rx) = mpsc::unbounded(); self.fake_adapter = Some((servers_tx, fake_lsp_adapter.clone())); let adapter = CachedLspAdapter::new(Arc::new(fake_lsp_adapter)).await; @@ -1501,7 +1501,7 @@ impl Language { None } - pub async fn process_completion(self: &Arc, completion: &mut lsp2::CompletionItem) { + pub async fn process_completion(self: &Arc, completion: &mut lsp::CompletionItem) { for adapter in &self.adapters { adapter.process_completion(completion).await; } @@ -1509,7 +1509,7 @@ impl Language { pub async fn label_for_completion( self: &Arc, - completion: &lsp2::CompletionItem, + completion: &lsp::CompletionItem, ) -> Option { self.adapters .first() @@ -1521,7 +1521,7 @@ impl Language { pub async fn label_for_symbol( self: &Arc, name: &str, - kind: lsp2::SymbolKind, + kind: lsp::SymbolKind, ) -> Option { self.adapters .first() @@ -1745,7 +1745,7 @@ impl Default for FakeLspAdapter { fn default() -> Self { Self { name: "the-fake-language-server", - capabilities: lsp2::LanguageServer::full_capabilities(), + capabilities: lsp::LanguageServer::full_capabilities(), initializer: None, disk_based_diagnostics_progress_token: None, initialization_options: None, @@ -1794,7 +1794,7 @@ impl LspAdapter for Arc { unreachable!(); } - fn process_diagnostics(&self, _: &mut lsp2::PublishDiagnosticsParams) {} + fn process_diagnostics(&self, _: &mut lsp::PublishDiagnosticsParams) {} async fn disk_based_diagnostic_sources(&self) -> Vec { self.disk_based_diagnostics_sources.clone() @@ -1824,22 +1824,22 @@ fn get_capture_indices(query: &Query, captures: &mut [(&str, &mut Option)]) } } -pub fn point_to_lsp(point: PointUtf16) -> lsp2::Position { - lsp2::Position::new(point.row, point.column) +pub fn point_to_lsp(point: PointUtf16) -> lsp::Position { + lsp::Position::new(point.row, point.column) } -pub fn point_from_lsp(point: lsp2::Position) -> Unclipped { +pub fn point_from_lsp(point: lsp::Position) -> Unclipped { Unclipped(PointUtf16::new(point.line, point.character)) } -pub fn range_to_lsp(range: Range) -> lsp2::Range { - lsp2::Range { +pub fn range_to_lsp(range: Range) -> lsp::Range { + lsp::Range { start: point_to_lsp(range.start), end: point_to_lsp(range.end), } } -pub fn range_from_lsp(range: lsp2::Range) -> Range> { +pub fn range_from_lsp(range: lsp::Range) -> Range> { let mut start = point_from_lsp(range.start); let mut end = point_from_lsp(range.end); if start > end { @@ -1851,9 +1851,9 @@ pub fn range_from_lsp(range: lsp2::Range) -> Range> { #[cfg(test)] mod tests { use super::*; - use gpui2::TestAppContext; + use gpui::TestAppContext; - #[gpui2::test(iterations = 10)] + #[gpui::test(iterations = 10)] async fn test_first_line_pattern(cx: &mut TestAppContext) { let mut languages = LanguageRegistry::test(); @@ -1891,7 +1891,7 @@ mod tests { ); } - #[gpui2::test(iterations = 10)] + #[gpui::test(iterations = 10)] async fn test_language_loading(cx: &mut TestAppContext) { let mut languages = LanguageRegistry::test(); languages.set_executor(cx.executor().clone()); diff --git a/crates/language2/src/language_settings.rs b/crates/language2/src/language_settings.rs index 4816e506db..49977f690c 100644 --- a/crates/language2/src/language_settings.rs +++ b/crates/language2/src/language_settings.rs @@ -2,13 +2,13 @@ use crate::{File, Language}; use anyhow::Result; use collections::{HashMap, HashSet}; use globset::GlobMatcher; -use gpui2::AppContext; +use gpui::AppContext; use schemars::{ schema::{InstanceType, ObjectValidation, Schema, SchemaObject}, JsonSchema, }; use serde::{Deserialize, Serialize}; -use settings2::Settings; +use settings::Settings; use std::{num::NonZeroU32, path::Path, sync::Arc}; pub fn init(cx: &mut AppContext) { @@ -255,7 +255,7 @@ impl InlayHintKind { } } -impl settings2::Settings for AllLanguageSettings { +impl settings::Settings for AllLanguageSettings { const KEY: Option<&'static str> = None; type FileContent = AllLanguageSettingsContent; @@ -332,7 +332,7 @@ impl settings2::Settings for AllLanguageSettings { fn json_schema( generator: &mut schemars::gen::SchemaGenerator, - params: &settings2::SettingsJsonSchemaParams, + params: &settings::SettingsJsonSchemaParams, _: &AppContext, ) -> schemars::schema::RootSchema { let mut root_schema = generator.root_schema_for::(); diff --git a/crates/language2/src/outline.rs b/crates/language2/src/outline.rs index 94dfaa0e11..4bcbdcd27f 100644 --- a/crates/language2/src/outline.rs +++ b/crates/language2/src/outline.rs @@ -1,5 +1,5 @@ -use fuzzy2::{StringMatch, StringMatchCandidate}; -use gpui2::{BackgroundExecutor, HighlightStyle}; +use fuzzy::{StringMatch, StringMatchCandidate}; +use gpui::{BackgroundExecutor, HighlightStyle}; use std::ops::Range; #[derive(Debug)] @@ -61,7 +61,7 @@ impl Outline { let query = query.trim_start(); let is_path_query = query.contains(' '); let smart_case = query.chars().any(|c| c.is_uppercase()); - let mut matches = fuzzy2::match_strings( + let mut matches = fuzzy::match_strings( if is_path_query { &self.path_candidates } else { diff --git a/crates/language2/src/proto.rs b/crates/language2/src/proto.rs index f90bb94742..c4abe39d47 100644 --- a/crates/language2/src/proto.rs +++ b/crates/language2/src/proto.rs @@ -4,8 +4,8 @@ use crate::{ }; use anyhow::{anyhow, Result}; use clock::ReplicaId; -use lsp2::{DiagnosticSeverity, LanguageServerId}; -use rpc2::proto; +use lsp::{DiagnosticSeverity, LanguageServerId}; +use rpc::proto; use std::{ops::Range, sync::Arc}; use text::*; diff --git a/crates/language2/src/syntax_map/syntax_map_tests.rs b/crates/language2/src/syntax_map/syntax_map_tests.rs index 732ed7e936..bd50608122 100644 --- a/crates/language2/src/syntax_map/syntax_map_tests.rs +++ b/crates/language2/src/syntax_map/syntax_map_tests.rs @@ -78,7 +78,7 @@ fn test_splice_included_ranges() { } } -#[gpui2::test] +#[gpui::test] fn test_syntax_map_layers_for_range() { let registry = Arc::new(LanguageRegistry::test()); let language = Arc::new(rust_lang()); @@ -175,7 +175,7 @@ fn test_syntax_map_layers_for_range() { ); } -#[gpui2::test] +#[gpui::test] fn test_dynamic_language_injection() { let registry = Arc::new(LanguageRegistry::test()); let markdown = Arc::new(markdown_lang()); @@ -253,7 +253,7 @@ fn test_dynamic_language_injection() { assert!(!syntax_map.contains_unknown_injections()); } -#[gpui2::test] +#[gpui::test] fn test_typing_multiple_new_injections() { let (buffer, syntax_map) = test_edit_sequence( "Rust", @@ -282,7 +282,7 @@ fn test_typing_multiple_new_injections() { ); } -#[gpui2::test] +#[gpui::test] fn test_pasting_new_injection_line_between_others() { let (buffer, syntax_map) = test_edit_sequence( "Rust", @@ -329,7 +329,7 @@ fn test_pasting_new_injection_line_between_others() { ); } -#[gpui2::test] +#[gpui::test] fn test_joining_injections_with_child_injections() { let (buffer, syntax_map) = test_edit_sequence( "Rust", @@ -373,7 +373,7 @@ fn test_joining_injections_with_child_injections() { ); } -#[gpui2::test] +#[gpui::test] fn test_editing_edges_of_injection() { test_edit_sequence( "Rust", @@ -402,7 +402,7 @@ fn test_editing_edges_of_injection() { ); } -#[gpui2::test] +#[gpui::test] fn test_edits_preceding_and_intersecting_injection() { test_edit_sequence( "Rust", @@ -414,7 +414,7 @@ fn test_edits_preceding_and_intersecting_injection() { ); } -#[gpui2::test] +#[gpui::test] fn test_non_local_changes_create_injections() { test_edit_sequence( "Rust", @@ -433,7 +433,7 @@ fn test_non_local_changes_create_injections() { ); } -#[gpui2::test] +#[gpui::test] fn test_creating_many_injections_in_one_edit() { test_edit_sequence( "Rust", @@ -463,7 +463,7 @@ fn test_creating_many_injections_in_one_edit() { ); } -#[gpui2::test] +#[gpui::test] fn test_editing_across_injection_boundary() { test_edit_sequence( "Rust", @@ -491,7 +491,7 @@ fn test_editing_across_injection_boundary() { ); } -#[gpui2::test] +#[gpui::test] fn test_removing_injection_by_replacing_across_boundary() { test_edit_sequence( "Rust", @@ -517,7 +517,7 @@ fn test_removing_injection_by_replacing_across_boundary() { ); } -#[gpui2::test] +#[gpui::test] fn test_combined_injections_simple() { let (buffer, syntax_map) = test_edit_sequence( "ERB", @@ -564,7 +564,7 @@ fn test_combined_injections_simple() { ); } -#[gpui2::test] +#[gpui::test] fn test_combined_injections_empty_ranges() { test_edit_sequence( "ERB", @@ -582,7 +582,7 @@ fn test_combined_injections_empty_ranges() { ); } -#[gpui2::test] +#[gpui::test] fn test_combined_injections_edit_edges_of_ranges() { let (buffer, syntax_map) = test_edit_sequence( "ERB", @@ -613,7 +613,7 @@ fn test_combined_injections_edit_edges_of_ranges() { ); } -#[gpui2::test] +#[gpui::test] fn test_combined_injections_splitting_some_injections() { let (_buffer, _syntax_map) = test_edit_sequence( "ERB", @@ -638,7 +638,7 @@ fn test_combined_injections_splitting_some_injections() { ); } -#[gpui2::test] +#[gpui::test] fn test_combined_injections_editing_after_last_injection() { test_edit_sequence( "ERB", @@ -658,7 +658,7 @@ fn test_combined_injections_editing_after_last_injection() { ); } -#[gpui2::test] +#[gpui::test] fn test_combined_injections_inside_injections() { let (buffer, syntax_map) = test_edit_sequence( "Markdown", @@ -734,7 +734,7 @@ fn test_combined_injections_inside_injections() { ); } -#[gpui2::test] +#[gpui::test] fn test_empty_combined_injections_inside_injections() { let (buffer, syntax_map) = test_edit_sequence( "Markdown", @@ -762,7 +762,7 @@ fn test_empty_combined_injections_inside_injections() { ); } -#[gpui2::test(iterations = 50)] +#[gpui::test(iterations = 50)] fn test_random_syntax_map_edits_rust_macros(rng: StdRng) { let text = r#" fn test_something() { @@ -788,7 +788,7 @@ fn test_random_syntax_map_edits_rust_macros(rng: StdRng) { test_random_edits(text, registry, language, rng); } -#[gpui2::test(iterations = 50)] +#[gpui::test(iterations = 50)] fn test_random_syntax_map_edits_with_erb(rng: StdRng) { let text = r#"
@@ -817,7 +817,7 @@ fn test_random_syntax_map_edits_with_erb(rng: StdRng) { test_random_edits(text, registry, language, rng); } -#[gpui2::test(iterations = 50)] +#[gpui::test(iterations = 50)] fn test_random_syntax_map_edits_with_heex(rng: StdRng) { let text = r#" defmodule TheModule do diff --git a/crates/live_kit_client2/Cargo.toml b/crates/live_kit_client2/Cargo.toml index b5b45a8d45..5adb711948 100644 --- a/crates/live_kit_client2/Cargo.toml +++ b/crates/live_kit_client2/Cargo.toml @@ -23,7 +23,7 @@ test-support = [ [dependencies] collections = { path = "../collections", optional = true } -gpui2 = { path = "../gpui2", optional = true } +gpui2 = { package = "gpui2", path = "../gpui2", optional = true } live_kit_server = { path = "../live_kit_server", optional = true } media = { path = "../media" } @@ -41,7 +41,7 @@ nanoid = { version ="0.4", optional = true} [dev-dependencies] collections = { path = "../collections", features = ["test-support"] } -gpui2 = { path = "../gpui2", features = ["test-support"] } +gpui2 = { package = "gpui2", path = "../gpui2", features = ["test-support"] } live_kit_server = { path = "../live_kit_server" } media = { path = "../media" } nanoid = "0.4" diff --git a/crates/lsp2/Cargo.toml b/crates/lsp2/Cargo.toml index a32dd2b6b2..12993eedb6 100644 --- a/crates/lsp2/Cargo.toml +++ b/crates/lsp2/Cargo.toml @@ -13,7 +13,7 @@ test-support = ["async-pipe"] [dependencies] collections = { path = "../collections" } -gpui2 = { path = "../gpui2" } +gpui = { package = "gpui2", path = "../gpui2" } util = { path = "../util" } anyhow.workspace = true @@ -29,7 +29,7 @@ serde_json.workspace = true smol.workspace = true [dev-dependencies] -gpui2 = { path = "../gpui2", features = ["test-support"] } +gpui = { package = "gpui2", path = "../gpui2", features = ["test-support"] } util = { path = "../util", features = ["test-support"] } async-pipe = { git = "https://github.com/zed-industries/async-pipe-rs", rev = "82d00a04211cf4e1236029aa03e6b6ce2a74c553" } diff --git a/crates/lsp2/src/lsp2.rs b/crates/lsp2/src/lsp2.rs index 8871c8eaef..356d029c58 100644 --- a/crates/lsp2/src/lsp2.rs +++ b/crates/lsp2/src/lsp2.rs @@ -5,7 +5,7 @@ pub use lsp_types::*; use anyhow::{anyhow, Context, Result}; use collections::HashMap; use futures::{channel::oneshot, io::BufWriter, AsyncRead, AsyncWrite, FutureExt}; -use gpui2::{AsyncAppContext, BackgroundExecutor, Task}; +use gpui::{AsyncAppContext, BackgroundExecutor, Task}; use parking_lot::Mutex; use postage::{barrier, prelude::Stream}; use serde::{de::DeserializeOwned, Deserialize, Serialize}; @@ -1038,7 +1038,7 @@ impl FakeLanguageServer { where T: 'static + request::Request, T::Params: 'static + Send, - F: 'static + Send + FnMut(T::Params, gpui2::AsyncAppContext) -> Fut, + F: 'static + Send + FnMut(T::Params, gpui::AsyncAppContext) -> Fut, Fut: 'static + Send + Future>, { let (responded_tx, responded_rx) = futures::channel::mpsc::unbounded(); @@ -1066,7 +1066,7 @@ impl FakeLanguageServer { where T: 'static + notification::Notification, T::Params: 'static + Send, - F: 'static + Send + FnMut(T::Params, gpui2::AsyncAppContext), + F: 'static + Send + FnMut(T::Params, gpui::AsyncAppContext), { let (handled_tx, handled_rx) = futures::channel::mpsc::unbounded(); self.server.remove_notification_handler::(); @@ -1110,7 +1110,7 @@ impl FakeLanguageServer { #[cfg(test)] mod tests { use super::*; - use gpui2::TestAppContext; + use gpui::TestAppContext; #[ctor::ctor] fn init_logger() { @@ -1119,7 +1119,7 @@ mod tests { } } - #[gpui2::test] + #[gpui::test] async fn test_fake(cx: &mut TestAppContext) { let (server, mut fake) = LanguageServer::fake("the-lsp".to_string(), Default::default(), cx.to_async()); diff --git a/crates/menu2/Cargo.toml b/crates/menu2/Cargo.toml index c366de6866..9bf61db82c 100644 --- a/crates/menu2/Cargo.toml +++ b/crates/menu2/Cargo.toml @@ -9,4 +9,4 @@ path = "src/menu2.rs" doctest = false [dependencies] -gpui2 = { path = "../gpui2" } +gpui = { package = "gpui2", path = "../gpui2" } diff --git a/crates/multi_buffer2/Cargo.toml b/crates/multi_buffer2/Cargo.toml index 4c56bab9dc..a57ef29531 100644 --- a/crates/multi_buffer2/Cargo.toml +++ b/crates/multi_buffer2/Cargo.toml @@ -10,29 +10,29 @@ doctest = false [features] test-support = [ - "copilot2/test-support", + "copilot/test-support", "text/test-support", - "language2/test-support", - "gpui2/test-support", + "language/test-support", + "gpui/test-support", "util/test-support", "tree-sitter-rust", "tree-sitter-typescript" ] [dependencies] -client2 = { path = "../client2" } +client = { package = "client2", path = "../client2" } clock = { path = "../clock" } collections = { path = "../collections" } git = { path = "../git" } -gpui2 = { path = "../gpui2" } -language2 = { path = "../language2" } -lsp2 = { path = "../lsp2" } +gpui = { package = "gpui2", path = "../gpui2" } +language = { package = "language2", path = "../language2" } +lsp = { package = "lsp2", path = "../lsp2" } rich_text = { path = "../rich_text" } -settings2 = { path = "../settings2" } +settings = { package = "settings2", path = "../settings2" } snippet = { path = "../snippet" } sum_tree = { path = "../sum_tree" } text = { path = "../text" } -theme2 = { path = "../theme2" } +theme = { package = "theme2", path = "../theme2" } util = { path = "../util" } aho-corasick = "1.1" @@ -59,14 +59,14 @@ tree-sitter-html = { workspace = true, optional = true } tree-sitter-typescript = { workspace = true, optional = true } [dev-dependencies] -copilot2 = { path = "../copilot2", features = ["test-support"] } +copilot = { package = "copilot2", path = "../copilot2", features = ["test-support"] } text = { path = "../text", features = ["test-support"] } -language2 = { path = "../language2", features = ["test-support"] } -lsp2 = { path = "../lsp2", features = ["test-support"] } -gpui2 = { path = "../gpui2", features = ["test-support"] } +language = { package = "language2", path = "../language2", features = ["test-support"] } +lsp = { package = "lsp2", path = "../lsp2", features = ["test-support"] } +gpui = { package = "gpui2", path = "../gpui2", features = ["test-support"] } util = { path = "../util", features = ["test-support"] } -project2 = { path = "../project2", features = ["test-support"] } -settings2 = { path = "../settings2", features = ["test-support"] } +project = { package = "project2", path = "../project2", features = ["test-support"] } +settings = { package = "settings2", path = "../settings2", features = ["test-support"] } ctor.workspace = true env_logger.workspace = true diff --git a/crates/multi_buffer2/src/anchor.rs b/crates/multi_buffer2/src/anchor.rs index fa65bfc800..39a8182da1 100644 --- a/crates/multi_buffer2/src/anchor.rs +++ b/crates/multi_buffer2/src/anchor.rs @@ -1,5 +1,5 @@ use super::{ExcerptId, MultiBufferSnapshot, ToOffset, ToOffsetUtf16, ToPoint}; -use language2::{OffsetUtf16, Point, TextDimension}; +use language::{OffsetUtf16, Point, TextDimension}; use std::{ cmp::Ordering, ops::{Range, Sub}, diff --git a/crates/multi_buffer2/src/multi_buffer2.rs b/crates/multi_buffer2/src/multi_buffer2.rs index b5a7ced517..df33f98b4b 100644 --- a/crates/multi_buffer2/src/multi_buffer2.rs +++ b/crates/multi_buffer2/src/multi_buffer2.rs @@ -6,9 +6,9 @@ use clock::ReplicaId; use collections::{BTreeMap, Bound, HashMap, HashSet}; use futures::{channel::mpsc, SinkExt}; use git::diff::DiffHunk; -use gpui2::{AppContext, EventEmitter, Model, ModelContext}; -pub use language2::Completion; -use language2::{ +use gpui::{AppContext, EventEmitter, Model, ModelContext}; +pub use language::Completion; +use language::{ char_kind, language_settings::{language_settings, LanguageSettings}, AutoindentMode, Buffer, BufferChunks, BufferSnapshot, CharKind, Chunk, CursorShape, @@ -35,11 +35,11 @@ use text::{ subscription::{Subscription, Topic}, Edit, TextSummary, }; -use theme2::SyntaxTheme; +use theme::SyntaxTheme; use util::post_inc; #[cfg(any(test, feature = "test-support"))] -use gpui2::Context; +use gpui::Context; const NEWLINES: &[u8] = &[b'\n'; u8::MAX as usize]; @@ -62,7 +62,7 @@ pub enum Event { ExcerptsAdded { buffer: Model, predecessor: ExcerptId, - excerpts: Vec<(ExcerptId, ExcerptRange)>, + excerpts: Vec<(ExcerptId, ExcerptRange)>, }, ExcerptsRemoved { ids: Vec, @@ -130,7 +130,7 @@ struct BufferState { last_file_update_count: usize, last_git_diff_update_count: usize, excerpts: Vec, - _subscriptions: [gpui2::Subscription; 2], + _subscriptions: [gpui::Subscription; 2], } #[derive(Clone, Default)] @@ -684,7 +684,7 @@ impl MultiBuffer { pub fn push_transaction<'a, T>(&mut self, buffer_transactions: T, cx: &mut ModelContext) where - T: IntoIterator, &'a language2::Transaction)>, + T: IntoIterator, &'a language::Transaction)>, { self.history .push_transaction(buffer_transactions, Instant::now(), cx); @@ -1383,7 +1383,7 @@ impl MultiBuffer { &self, position: T, cx: &AppContext, - ) -> Option<(Model, language2::Anchor)> { + ) -> Option<(Model, language::Anchor)> { let snapshot = self.read(cx); let anchor = snapshot.anchor_before(position); let buffer = self @@ -1398,25 +1398,25 @@ impl MultiBuffer { fn on_buffer_event( &mut self, _: Model, - event: &language2::Event, + event: &language::Event, cx: &mut ModelContext, ) { cx.emit(match event { - language2::Event::Edited => Event::Edited { + language::Event::Edited => Event::Edited { sigleton_buffer_edited: true, }, - language2::Event::DirtyChanged => Event::DirtyChanged, - language2::Event::Saved => Event::Saved, - language2::Event::FileHandleChanged => Event::FileHandleChanged, - language2::Event::Reloaded => Event::Reloaded, - language2::Event::DiffBaseChanged => Event::DiffBaseChanged, - language2::Event::LanguageChanged => Event::LanguageChanged, - language2::Event::Reparsed => Event::Reparsed, - language2::Event::DiagnosticsUpdated => Event::DiagnosticsUpdated, - language2::Event::Closed => Event::Closed, + language::Event::DirtyChanged => Event::DirtyChanged, + language::Event::Saved => Event::Saved, + language::Event::FileHandleChanged => Event::FileHandleChanged, + language::Event::Reloaded => Event::Reloaded, + language::Event::DiffBaseChanged => Event::DiffBaseChanged, + language::Event::LanguageChanged => Event::LanguageChanged, + language::Event::Reparsed => Event::Reparsed, + language::Event::DiagnosticsUpdated => Event::DiagnosticsUpdated, + language::Event::Closed => Event::Closed, // - language2::Event::Operation(_) => return, + language::Event::Operation(_) => return, }); } @@ -1648,14 +1648,14 @@ impl MultiBuffer { #[cfg(any(test, feature = "test-support"))] impl MultiBuffer { - pub fn build_simple(text: &str, cx: &mut gpui2::AppContext) -> Model { + pub fn build_simple(text: &str, cx: &mut gpui::AppContext) -> Model { let buffer = cx.build_model(|cx| Buffer::new(0, cx.entity_id().as_u64(), text)); cx.build_model(|cx| Self::singleton(buffer, cx)) } pub fn build_multi( excerpts: [(&str, Vec>); COUNT], - cx: &mut gpui2::AppContext, + cx: &mut gpui::AppContext, ) -> Model { let multi = cx.build_model(|_| Self::new(0)); for (text, ranges) in excerpts { @@ -1672,11 +1672,11 @@ impl MultiBuffer { multi } - pub fn build_from_buffer(buffer: Model, cx: &mut gpui2::AppContext) -> Model { + pub fn build_from_buffer(buffer: Model, cx: &mut gpui::AppContext) -> Model { cx.build_model(|cx| Self::singleton(buffer, cx)) } - pub fn build_random(rng: &mut impl rand::Rng, cx: &mut gpui2::AppContext) -> Model { + pub fn build_random(rng: &mut impl rand::Rng, cx: &mut gpui::AppContext) -> Model { cx.build_model(|cx| { let mut multibuffer = MultiBuffer::new(0); let mutation_count = rng.gen_range(1..=5); @@ -3409,7 +3409,7 @@ impl History { now: Instant, cx: &mut ModelContext, ) where - T: IntoIterator, &'a language2::Transaction)>, + T: IntoIterator, &'a language::Transaction)>, { assert_eq!(self.transaction_depth, 0); let transaction = Transaction { @@ -4135,15 +4135,15 @@ where mod tests { use super::*; use futures::StreamExt; - use gpui2::{AppContext, Context, TestAppContext}; - use language2::{Buffer, Rope}; + use gpui::{AppContext, Context, TestAppContext}; + use language::{Buffer, Rope}; use parking_lot::RwLock; use rand::prelude::*; - use settings2::SettingsStore; + use settings::SettingsStore; use std::env; use util::test::sample_text; - #[gpui2::test] + #[gpui::test] fn test_singleton(cx: &mut AppContext) { let buffer = cx.build_model(|cx| Buffer::new(0, cx.entity_id().as_u64(), sample_text(6, 6, 'a'))); @@ -4171,7 +4171,7 @@ mod tests { ); } - #[gpui2::test] + #[gpui::test] fn test_remote(cx: &mut AppContext) { let host_buffer = cx.build_model(|cx| Buffer::new(0, cx.entity_id().as_u64(), "a")); let guest_buffer = cx.build_model(|cx| { @@ -4183,7 +4183,7 @@ mod tests { buffer .apply_ops( ops.into_iter() - .map(|op| language2::proto::deserialize_operation(op).unwrap()), + .map(|op| language::proto::deserialize_operation(op).unwrap()), cx, ) .unwrap(); @@ -4202,7 +4202,7 @@ mod tests { assert_eq!(snapshot.text(), "abc"); } - #[gpui2::test] + #[gpui::test] fn test_excerpt_boundaries_and_clipping(cx: &mut AppContext) { let buffer_1 = cx.build_model(|cx| Buffer::new(0, cx.entity_id().as_u64(), sample_text(6, 6, 'a'))); @@ -4438,7 +4438,7 @@ mod tests { } } - #[gpui2::test] + #[gpui::test] fn test_excerpt_events(cx: &mut AppContext) { let buffer_1 = cx.build_model(|cx| Buffer::new(0, cx.entity_id().as_u64(), sample_text(10, 3, 'a'))); @@ -4546,7 +4546,7 @@ mod tests { assert_eq!(*follower_edit_event_count.read(), 4); } - #[gpui2::test] + #[gpui::test] fn test_push_excerpts_with_context_lines(cx: &mut AppContext) { let buffer = cx.build_model(|cx| Buffer::new(0, cx.entity_id().as_u64(), sample_text(20, 3, 'a'))); @@ -4583,7 +4583,7 @@ mod tests { ); } - #[gpui2::test] + #[gpui::test] async fn test_stream_excerpts_with_context_lines(cx: &mut TestAppContext) { let buffer = cx.build_model(|cx| Buffer::new(0, cx.entity_id().as_u64(), sample_text(20, 3, 'a'))); @@ -4620,7 +4620,7 @@ mod tests { ); } - #[gpui2::test] + #[gpui::test] fn test_empty_multibuffer(cx: &mut AppContext) { let multibuffer = cx.build_model(|_| MultiBuffer::new(0)); @@ -4630,7 +4630,7 @@ mod tests { assert_eq!(snapshot.buffer_rows(1).collect::>(), &[]); } - #[gpui2::test] + #[gpui::test] fn test_singleton_multibuffer_anchors(cx: &mut AppContext) { let buffer = cx.build_model(|cx| Buffer::new(0, cx.entity_id().as_u64(), "abcd")); let multibuffer = cx.build_model(|cx| MultiBuffer::singleton(buffer.clone(), cx)); @@ -4650,7 +4650,7 @@ mod tests { assert_eq!(old_snapshot.anchor_after(4).to_offset(&new_snapshot), 6); } - #[gpui2::test] + #[gpui::test] fn test_multibuffer_anchors(cx: &mut AppContext) { let buffer_1 = cx.build_model(|cx| Buffer::new(0, cx.entity_id().as_u64(), "abcd")); let buffer_2 = cx.build_model(|cx| Buffer::new(0, cx.entity_id().as_u64(), "efghi")); @@ -4708,7 +4708,7 @@ mod tests { assert_eq!(old_snapshot.anchor_after(10).to_offset(&new_snapshot), 14); } - #[gpui2::test] + #[gpui::test] fn test_resolving_anchors_after_replacing_their_excerpts(cx: &mut AppContext) { let buffer_1 = cx.build_model(|cx| Buffer::new(0, cx.entity_id().as_u64(), "abcd")); let buffer_2 = @@ -4840,7 +4840,7 @@ mod tests { ); } - #[gpui2::test(iterations = 100)] + #[gpui::test(iterations = 100)] fn test_random_multibuffer(cx: &mut AppContext, mut rng: StdRng) { let operations = env::var("OPERATIONS") .map(|i| i.parse().expect("invalid `OPERATIONS` variable")) @@ -5262,7 +5262,7 @@ mod tests { } } - #[gpui2::test] + #[gpui::test] fn test_history(cx: &mut AppContext) { let test_settings = SettingsStore::test(cx); cx.set_global(test_settings); diff --git a/crates/prettier2/Cargo.toml b/crates/prettier2/Cargo.toml index b98124f72c..de229dcc70 100644 --- a/crates/prettier2/Cargo.toml +++ b/crates/prettier2/Cargo.toml @@ -12,12 +12,12 @@ doctest = false test-support = [] [dependencies] -client2 = { path = "../client2" } +client = { package = "client2", path = "../client2" } collections = { path = "../collections"} -language2 = { path = "../language2" } -gpui2 = { path = "../gpui2" } -fs2 = { path = "../fs2" } -lsp2 = { path = "../lsp2" } +language = { package = "language2", path = "../language2" } +gpui = { package = "gpui2", path = "../gpui2" } +fs = { package = "fs2", path = "../fs2" } +lsp = { package = "lsp2", path = "../lsp2" } node_runtime = { path = "../node_runtime"} util = { path = "../util" } @@ -30,6 +30,6 @@ futures.workspace = true parking_lot.workspace = true [dev-dependencies] -language2 = { path = "../language2", features = ["test-support"] } -gpui2 = { path = "../gpui2", features = ["test-support"] } -fs2 = { path = "../fs2", features = ["test-support"] } +language = { package = "language2", path = "../language2", features = ["test-support"] } +gpui = { package = "gpui2", path = "../gpui2", features = ["test-support"] } +fs = { package = "fs2", path = "../fs2", features = ["test-support"] } diff --git a/crates/prettier2/src/prettier2.rs b/crates/prettier2/src/prettier2.rs index 6d9664b234..d9b6f9eab7 100644 --- a/crates/prettier2/src/prettier2.rs +++ b/crates/prettier2/src/prettier2.rs @@ -1,9 +1,9 @@ use anyhow::Context; use collections::HashMap; -use fs2::Fs; -use gpui2::{AsyncAppContext, Model}; -use language2::{language_settings::language_settings, Buffer, Diff}; -use lsp2::{LanguageServer, LanguageServerId}; +use fs::Fs; +use gpui::{AsyncAppContext, Model}; +use language::{language_settings::language_settings, Buffer, Diff}; +use lsp::{LanguageServer, LanguageServerId}; use node_runtime::NodeRuntime; use serde::{Deserialize, Serialize}; use std::{ @@ -141,7 +141,7 @@ impl Prettier { node: Arc, cx: AsyncAppContext, ) -> anyhow::Result { - use lsp2::LanguageServerBinary; + use lsp::LanguageServerBinary; let executor = cx.background_executor().clone(); anyhow::ensure!( @@ -453,7 +453,7 @@ struct FormatResult { text: String, } -impl lsp2::request::Request for Format { +impl lsp::request::Request for Format { type Params = FormatParams; type Result = FormatResult; const METHOD: &'static str = "prettier/format"; @@ -461,7 +461,7 @@ impl lsp2::request::Request for Format { enum ClearCache {} -impl lsp2::request::Request for ClearCache { +impl lsp::request::Request for ClearCache { type Params = (); type Result = (); const METHOD: &'static str = "prettier/clear_cache"; diff --git a/crates/project2/Cargo.toml b/crates/project2/Cargo.toml index f1c0716d58..7aae9fb007 100644 --- a/crates/project2/Cargo.toml +++ b/crates/project2/Cargo.toml @@ -10,35 +10,35 @@ doctest = false [features] test-support = [ - "client2/test-support", - "db2/test-support", - "language2/test-support", - "settings2/test-support", + "client/test-support", + "db/test-support", + "language/test-support", + "settings/test-support", "text/test-support", - "prettier2/test-support", - "gpui2/test-support", + "prettier/test-support", + "gpui/test-support", ] [dependencies] text = { path = "../text" } -copilot2 = { path = "../copilot2" } -client2 = { path = "../client2" } +copilot = { package = "copilot2", path = "../copilot2" } +client = { package = "client2", path = "../client2" } clock = { path = "../clock" } collections = { path = "../collections" } -db2 = { path = "../db2" } -fs2 = { path = "../fs2" } +db = { package = "db2", path = "../db2" } +fs = { package = "fs2", path = "../fs2" } fsevent = { path = "../fsevent" } -fuzzy2 = { path = "../fuzzy2" } +fuzzy = { package = "fuzzy2", path = "../fuzzy2" } git = { path = "../git" } -gpui2 = { path = "../gpui2" } -language2 = { path = "../language2" } -lsp2 = { path = "../lsp2" } +gpui = { package = "gpui2", path = "../gpui2" } +language = { package = "language2", path = "../language2" } +lsp = { package = "lsp2", path = "../lsp2" } node_runtime = { path = "../node_runtime" } -prettier2 = { path = "../prettier2" } -rpc2 = { path = "../rpc2" } -settings2 = { path = "../settings2" } +prettier = { package = "prettier2", path = "../prettier2" } +rpc = { package = "rpc2", path = "../rpc2" } +settings = { package = "settings2", path = "../settings2" } sum_tree = { path = "../sum_tree" } -terminal2 = { path = "../terminal2" } +terminal = { package = "terminal2", path = "../terminal2" } util = { path = "../util" } aho-corasick = "1.1" @@ -69,17 +69,17 @@ itertools = "0.10" ctor.workspace = true env_logger.workspace = true pretty_assertions.workspace = true -client2 = { path = "../client2", features = ["test-support"] } +client = { package = "client2", path = "../client2", features = ["test-support"] } collections = { path = "../collections", features = ["test-support"] } -db2 = { path = "../db2", features = ["test-support"] } -fs2 = { path = "../fs2", features = ["test-support"] } -gpui2 = { path = "../gpui2", features = ["test-support"] } -language2 = { path = "../language2", features = ["test-support"] } -lsp2 = { path = "../lsp2", features = ["test-support"] } -settings2 = { path = "../settings2", features = ["test-support"] } -prettier2 = { path = "../prettier2", features = ["test-support"] } +db = { package = "db2", path = "../db2", features = ["test-support"] } +fs = { package = "fs2", path = "../fs2", features = ["test-support"] } +gpui = { package = "gpui2", path = "../gpui2", features = ["test-support"] } +language = { package = "language2", path = "../language2", features = ["test-support"] } +lsp = { package = "lsp2", path = "../lsp2", features = ["test-support"] } +settings = { package = "settings2", path = "../settings2", features = ["test-support"] } +prettier = { package = "prettier2", path = "../prettier2", features = ["test-support"] } util = { path = "../util", features = ["test-support"] } -rpc2 = { path = "../rpc2", features = ["test-support"] } +rpc = { package = "rpc2", path = "../rpc2", features = ["test-support"] } git2.workspace = true tempdir.workspace = true unindent.workspace = true diff --git a/crates/project2/src/lsp_command.rs b/crates/project2/src/lsp_command.rs index 9e6a96e15e..cc1821d3ff 100644 --- a/crates/project2/src/lsp_command.rs +++ b/crates/project2/src/lsp_command.rs @@ -5,10 +5,10 @@ use crate::{ }; use anyhow::{anyhow, Context, Result}; use async_trait::async_trait; -use client2::proto::{self, PeerId}; +use client::proto::{self, PeerId}; use futures::future; -use gpui2::{AppContext, AsyncAppContext, Model}; -use language2::{ +use gpui::{AppContext, AsyncAppContext, Model}; +use language::{ language_settings::{language_settings, InlayHintKind}, point_from_lsp, point_to_lsp, proto::{deserialize_anchor, deserialize_version, serialize_anchor, serialize_version}, @@ -16,29 +16,29 @@ use language2::{ CodeAction, Completion, OffsetRangeExt, PointUtf16, ToOffset, ToPointUtf16, Transaction, Unclipped, }; -use lsp2::{ +use lsp::{ CompletionListItemDefaultsEditRange, DocumentHighlightKind, LanguageServer, LanguageServerId, OneOf, ServerCapabilities, }; use std::{cmp::Reverse, ops::Range, path::Path, sync::Arc}; use text::LineEnding; -pub fn lsp_formatting_options(tab_size: u32) -> lsp2::FormattingOptions { - lsp2::FormattingOptions { +pub fn lsp_formatting_options(tab_size: u32) -> lsp::FormattingOptions { + lsp::FormattingOptions { tab_size, insert_spaces: true, insert_final_newline: Some(true), - ..lsp2::FormattingOptions::default() + ..lsp::FormattingOptions::default() } } #[async_trait(?Send)] pub(crate) trait LspCommand: 'static + Sized + Send { type Response: 'static + Default + Send; - type LspRequest: 'static + Send + lsp2::request::Request; + type LspRequest: 'static + Send + lsp::request::Request; type ProtoRequest: 'static + Send + proto::RequestMessage; - fn check_capabilities(&self, _: &lsp2::ServerCapabilities) -> bool { + fn check_capabilities(&self, _: &lsp::ServerCapabilities) -> bool { true } @@ -48,11 +48,11 @@ pub(crate) trait LspCommand: 'static + Sized + Send { buffer: &Buffer, language_server: &Arc, cx: &AppContext, - ) -> ::Params; + ) -> ::Params; async fn response_from_lsp( self, - message: ::Result, + message: ::Result, project: Model, buffer: Model, server_id: LanguageServerId, @@ -140,8 +140,8 @@ pub(crate) struct FormattingOptions { tab_size: u32, } -impl From for FormattingOptions { - fn from(value: lsp2::FormattingOptions) -> Self { +impl From for FormattingOptions { + fn from(value: lsp::FormattingOptions) -> Self { Self { tab_size: value.tab_size, } @@ -151,11 +151,11 @@ impl From for FormattingOptions { #[async_trait(?Send)] impl LspCommand for PrepareRename { type Response = Option>; - type LspRequest = lsp2::request::PrepareRenameRequest; + type LspRequest = lsp::request::PrepareRenameRequest; type ProtoRequest = proto::PrepareRename; fn check_capabilities(&self, capabilities: &ServerCapabilities) -> bool { - if let Some(lsp2::OneOf::Right(rename)) = &capabilities.rename_provider { + if let Some(lsp::OneOf::Right(rename)) = &capabilities.rename_provider { rename.prepare_provider == Some(true) } else { false @@ -168,10 +168,10 @@ impl LspCommand for PrepareRename { _: &Buffer, _: &Arc, _: &AppContext, - ) -> lsp2::TextDocumentPositionParams { - lsp2::TextDocumentPositionParams { - text_document: lsp2::TextDocumentIdentifier { - uri: lsp2::Url::from_file_path(path).unwrap(), + ) -> lsp::TextDocumentPositionParams { + lsp::TextDocumentPositionParams { + text_document: lsp::TextDocumentIdentifier { + uri: lsp::Url::from_file_path(path).unwrap(), }, position: point_to_lsp(self.position), } @@ -179,7 +179,7 @@ impl LspCommand for PrepareRename { async fn response_from_lsp( self, - message: Option, + message: Option, _: Model, buffer: Model, _: LanguageServerId, @@ -187,8 +187,8 @@ impl LspCommand for PrepareRename { ) -> Result>> { buffer.update(&mut cx, |buffer, _| { if let Some( - lsp2::PrepareRenameResponse::Range(range) - | lsp2::PrepareRenameResponse::RangeWithPlaceholder { range, .. }, + lsp::PrepareRenameResponse::Range(range) + | lsp::PrepareRenameResponse::RangeWithPlaceholder { range, .. }, ) = message { let Range { start, end } = range_from_lsp(range); @@ -206,7 +206,7 @@ impl LspCommand for PrepareRename { proto::PrepareRename { project_id, buffer_id: buffer.remote_id(), - position: Some(language2::proto::serialize_anchor( + position: Some(language::proto::serialize_anchor( &buffer.anchor_before(self.position), )), version: serialize_version(&buffer.version()), @@ -245,10 +245,10 @@ impl LspCommand for PrepareRename { can_rename: range.is_some(), start: range .as_ref() - .map(|range| language2::proto::serialize_anchor(&range.start)), + .map(|range| language::proto::serialize_anchor(&range.start)), end: range .as_ref() - .map(|range| language2::proto::serialize_anchor(&range.end)), + .map(|range| language::proto::serialize_anchor(&range.end)), version: serialize_version(buffer_version), } } @@ -282,7 +282,7 @@ impl LspCommand for PrepareRename { #[async_trait(?Send)] impl LspCommand for PerformRename { type Response = ProjectTransaction; - type LspRequest = lsp2::request::Rename; + type LspRequest = lsp::request::Rename; type ProtoRequest = proto::PerformRename; fn to_lsp( @@ -291,11 +291,11 @@ impl LspCommand for PerformRename { _: &Buffer, _: &Arc, _: &AppContext, - ) -> lsp2::RenameParams { - lsp2::RenameParams { - text_document_position: lsp2::TextDocumentPositionParams { - text_document: lsp2::TextDocumentIdentifier { - uri: lsp2::Url::from_file_path(path).unwrap(), + ) -> lsp::RenameParams { + lsp::RenameParams { + text_document_position: lsp::TextDocumentPositionParams { + text_document: lsp::TextDocumentIdentifier { + uri: lsp::Url::from_file_path(path).unwrap(), }, position: point_to_lsp(self.position), }, @@ -306,7 +306,7 @@ impl LspCommand for PerformRename { async fn response_from_lsp( self, - message: Option, + message: Option, project: Model, buffer: Model, server_id: LanguageServerId, @@ -333,7 +333,7 @@ impl LspCommand for PerformRename { proto::PerformRename { project_id, buffer_id: buffer.remote_id(), - position: Some(language2::proto::serialize_anchor( + position: Some(language::proto::serialize_anchor( &buffer.anchor_before(self.position), )), new_name: self.new_name.clone(), @@ -401,7 +401,7 @@ impl LspCommand for PerformRename { #[async_trait(?Send)] impl LspCommand for GetDefinition { type Response = Vec; - type LspRequest = lsp2::request::GotoDefinition; + type LspRequest = lsp::request::GotoDefinition; type ProtoRequest = proto::GetDefinition; fn to_lsp( @@ -410,11 +410,11 @@ impl LspCommand for GetDefinition { _: &Buffer, _: &Arc, _: &AppContext, - ) -> lsp2::GotoDefinitionParams { - lsp2::GotoDefinitionParams { - text_document_position_params: lsp2::TextDocumentPositionParams { - text_document: lsp2::TextDocumentIdentifier { - uri: lsp2::Url::from_file_path(path).unwrap(), + ) -> lsp::GotoDefinitionParams { + lsp::GotoDefinitionParams { + text_document_position_params: lsp::TextDocumentPositionParams { + text_document: lsp::TextDocumentIdentifier { + uri: lsp::Url::from_file_path(path).unwrap(), }, position: point_to_lsp(self.position), }, @@ -425,7 +425,7 @@ impl LspCommand for GetDefinition { async fn response_from_lsp( self, - message: Option, + message: Option, project: Model, buffer: Model, server_id: LanguageServerId, @@ -438,7 +438,7 @@ impl LspCommand for GetDefinition { proto::GetDefinition { project_id, buffer_id: buffer.remote_id(), - position: Some(language2::proto::serialize_anchor( + position: Some(language::proto::serialize_anchor( &buffer.anchor_before(self.position), )), version: serialize_version(&buffer.version()), @@ -494,13 +494,13 @@ impl LspCommand for GetDefinition { #[async_trait(?Send)] impl LspCommand for GetTypeDefinition { type Response = Vec; - type LspRequest = lsp2::request::GotoTypeDefinition; + type LspRequest = lsp::request::GotoTypeDefinition; type ProtoRequest = proto::GetTypeDefinition; fn check_capabilities(&self, capabilities: &ServerCapabilities) -> bool { match &capabilities.type_definition_provider { None => false, - Some(lsp2::TypeDefinitionProviderCapability::Simple(false)) => false, + Some(lsp::TypeDefinitionProviderCapability::Simple(false)) => false, _ => true, } } @@ -511,11 +511,11 @@ impl LspCommand for GetTypeDefinition { _: &Buffer, _: &Arc, _: &AppContext, - ) -> lsp2::GotoTypeDefinitionParams { - lsp2::GotoTypeDefinitionParams { - text_document_position_params: lsp2::TextDocumentPositionParams { - text_document: lsp2::TextDocumentIdentifier { - uri: lsp2::Url::from_file_path(path).unwrap(), + ) -> lsp::GotoTypeDefinitionParams { + lsp::GotoTypeDefinitionParams { + text_document_position_params: lsp::TextDocumentPositionParams { + text_document: lsp::TextDocumentIdentifier { + uri: lsp::Url::from_file_path(path).unwrap(), }, position: point_to_lsp(self.position), }, @@ -526,7 +526,7 @@ impl LspCommand for GetTypeDefinition { async fn response_from_lsp( self, - message: Option, + message: Option, project: Model, buffer: Model, server_id: LanguageServerId, @@ -539,7 +539,7 @@ impl LspCommand for GetTypeDefinition { proto::GetTypeDefinition { project_id, buffer_id: buffer.remote_id(), - position: Some(language2::proto::serialize_anchor( + position: Some(language::proto::serialize_anchor( &buffer.anchor_before(self.position), )), version: serialize_version(&buffer.version()), @@ -670,7 +670,7 @@ async fn location_links_from_proto( } async fn location_links_from_lsp( - message: Option, + message: Option, project: Model, buffer: Model, server_id: LanguageServerId, @@ -683,15 +683,15 @@ async fn location_links_from_lsp( let mut unresolved_links = Vec::new(); match message { - lsp2::GotoDefinitionResponse::Scalar(loc) => { + lsp::GotoDefinitionResponse::Scalar(loc) => { unresolved_links.push((None, loc.uri, loc.range)); } - lsp2::GotoDefinitionResponse::Array(locs) => { + lsp::GotoDefinitionResponse::Array(locs) => { unresolved_links.extend(locs.into_iter().map(|l| (None, l.uri, l.range))); } - lsp2::GotoDefinitionResponse::Link(links) => { + lsp::GotoDefinitionResponse::Link(links) => { unresolved_links.extend(links.into_iter().map(|l| { ( l.origin_selection_range, @@ -786,7 +786,7 @@ fn location_links_to_proto( #[async_trait(?Send)] impl LspCommand for GetReferences { type Response = Vec; - type LspRequest = lsp2::request::References; + type LspRequest = lsp::request::References; type ProtoRequest = proto::GetReferences; fn to_lsp( @@ -795,17 +795,17 @@ impl LspCommand for GetReferences { _: &Buffer, _: &Arc, _: &AppContext, - ) -> lsp2::ReferenceParams { - lsp2::ReferenceParams { - text_document_position: lsp2::TextDocumentPositionParams { - text_document: lsp2::TextDocumentIdentifier { - uri: lsp2::Url::from_file_path(path).unwrap(), + ) -> lsp::ReferenceParams { + lsp::ReferenceParams { + text_document_position: lsp::TextDocumentPositionParams { + text_document: lsp::TextDocumentIdentifier { + uri: lsp::Url::from_file_path(path).unwrap(), }, position: point_to_lsp(self.position), }, work_done_progress_params: Default::default(), partial_result_params: Default::default(), - context: lsp2::ReferenceContext { + context: lsp::ReferenceContext { include_declaration: true, }, } @@ -813,7 +813,7 @@ impl LspCommand for GetReferences { async fn response_from_lsp( self, - locations: Option>, + locations: Option>, project: Model, buffer: Model, server_id: LanguageServerId, @@ -859,7 +859,7 @@ impl LspCommand for GetReferences { proto::GetReferences { project_id, buffer_id: buffer.remote_id(), - position: Some(language2::proto::serialize_anchor( + position: Some(language::proto::serialize_anchor( &buffer.anchor_before(self.position), )), version: serialize_version(&buffer.version()), @@ -948,7 +948,7 @@ impl LspCommand for GetReferences { #[async_trait(?Send)] impl LspCommand for GetDocumentHighlights { type Response = Vec; - type LspRequest = lsp2::request::DocumentHighlightRequest; + type LspRequest = lsp::request::DocumentHighlightRequest; type ProtoRequest = proto::GetDocumentHighlights; fn check_capabilities(&self, capabilities: &ServerCapabilities) -> bool { @@ -961,11 +961,11 @@ impl LspCommand for GetDocumentHighlights { _: &Buffer, _: &Arc, _: &AppContext, - ) -> lsp2::DocumentHighlightParams { - lsp2::DocumentHighlightParams { - text_document_position_params: lsp2::TextDocumentPositionParams { - text_document: lsp2::TextDocumentIdentifier { - uri: lsp2::Url::from_file_path(path).unwrap(), + ) -> lsp::DocumentHighlightParams { + lsp::DocumentHighlightParams { + text_document_position_params: lsp::TextDocumentPositionParams { + text_document: lsp::TextDocumentIdentifier { + uri: lsp::Url::from_file_path(path).unwrap(), }, position: point_to_lsp(self.position), }, @@ -976,7 +976,7 @@ impl LspCommand for GetDocumentHighlights { async fn response_from_lsp( self, - lsp_highlights: Option>, + lsp_highlights: Option>, _: Model, buffer: Model, _: LanguageServerId, @@ -996,7 +996,7 @@ impl LspCommand for GetDocumentHighlights { range: buffer.anchor_after(start)..buffer.anchor_before(end), kind: lsp_highlight .kind - .unwrap_or(lsp2::DocumentHighlightKind::READ), + .unwrap_or(lsp::DocumentHighlightKind::READ), } }) .collect() @@ -1007,7 +1007,7 @@ impl LspCommand for GetDocumentHighlights { proto::GetDocumentHighlights { project_id, buffer_id: buffer.remote_id(), - position: Some(language2::proto::serialize_anchor( + position: Some(language::proto::serialize_anchor( &buffer.anchor_before(self.position), )), version: serialize_version(&buffer.version()), @@ -1099,7 +1099,7 @@ impl LspCommand for GetDocumentHighlights { #[async_trait(?Send)] impl LspCommand for GetHover { type Response = Option; - type LspRequest = lsp2::request::HoverRequest; + type LspRequest = lsp::request::HoverRequest; type ProtoRequest = proto::GetHover; fn to_lsp( @@ -1108,11 +1108,11 @@ impl LspCommand for GetHover { _: &Buffer, _: &Arc, _: &AppContext, - ) -> lsp2::HoverParams { - lsp2::HoverParams { - text_document_position_params: lsp2::TextDocumentPositionParams { - text_document: lsp2::TextDocumentIdentifier { - uri: lsp2::Url::from_file_path(path).unwrap(), + ) -> lsp::HoverParams { + lsp::HoverParams { + text_document_position_params: lsp::TextDocumentPositionParams { + text_document: lsp::TextDocumentIdentifier { + uri: lsp::Url::from_file_path(path).unwrap(), }, position: point_to_lsp(self.position), }, @@ -1122,7 +1122,7 @@ impl LspCommand for GetHover { async fn response_from_lsp( self, - message: Option, + message: Option, _: Model, buffer: Model, _: LanguageServerId, @@ -1144,15 +1144,13 @@ impl LspCommand for GetHover { ) })?; - fn hover_blocks_from_marked_string( - marked_string: lsp2::MarkedString, - ) -> Option { + fn hover_blocks_from_marked_string(marked_string: lsp::MarkedString) -> Option { let block = match marked_string { - lsp2::MarkedString::String(content) => HoverBlock { + lsp::MarkedString::String(content) => HoverBlock { text: content, kind: HoverBlockKind::Markdown, }, - lsp2::MarkedString::LanguageString(lsp2::LanguageString { language, value }) => { + lsp::MarkedString::LanguageString(lsp::LanguageString { language, value }) => { HoverBlock { text: value, kind: HoverBlockKind::Code { language }, @@ -1167,18 +1165,18 @@ impl LspCommand for GetHover { } let contents = match hover.contents { - lsp2::HoverContents::Scalar(marked_string) => { + lsp::HoverContents::Scalar(marked_string) => { hover_blocks_from_marked_string(marked_string) .into_iter() .collect() } - lsp2::HoverContents::Array(marked_strings) => marked_strings + lsp::HoverContents::Array(marked_strings) => marked_strings .into_iter() .filter_map(hover_blocks_from_marked_string) .collect(), - lsp2::HoverContents::Markup(markup_content) => vec![HoverBlock { + lsp::HoverContents::Markup(markup_content) => vec![HoverBlock { text: markup_content.value, - kind: if markup_content.kind == lsp2::MarkupKind::Markdown { + kind: if markup_content.kind == lsp::MarkupKind::Markdown { HoverBlockKind::Markdown } else { HoverBlockKind::PlainText @@ -1197,7 +1195,7 @@ impl LspCommand for GetHover { proto::GetHover { project_id, buffer_id: buffer.remote_id(), - position: Some(language2::proto::serialize_anchor( + position: Some(language::proto::serialize_anchor( &buffer.anchor_before(self.position), )), version: serialize_version(&buffer.version), @@ -1234,8 +1232,8 @@ impl LspCommand for GetHover { if let Some(response) = response { let (start, end) = if let Some(range) = response.range { ( - Some(language2::proto::serialize_anchor(&range.start)), - Some(language2::proto::serialize_anchor(&range.end)), + Some(language::proto::serialize_anchor(&range.start)), + Some(language::proto::serialize_anchor(&range.end)), ) } else { (None, None) @@ -1296,8 +1294,8 @@ impl LspCommand for GetHover { let language = buffer.update(&mut cx, |buffer, _| buffer.language().cloned())?; let range = if let (Some(start), Some(end)) = (message.start, message.end) { - language2::proto::deserialize_anchor(start) - .and_then(|start| language2::proto::deserialize_anchor(end).map(|end| start..end)) + language::proto::deserialize_anchor(start) + .and_then(|start| language::proto::deserialize_anchor(end).map(|end| start..end)) } else { None }; @@ -1317,7 +1315,7 @@ impl LspCommand for GetHover { #[async_trait(?Send)] impl LspCommand for GetCompletions { type Response = Vec; - type LspRequest = lsp2::request::Completion; + type LspRequest = lsp::request::Completion; type ProtoRequest = proto::GetCompletions; fn to_lsp( @@ -1326,10 +1324,10 @@ impl LspCommand for GetCompletions { _: &Buffer, _: &Arc, _: &AppContext, - ) -> lsp2::CompletionParams { - lsp2::CompletionParams { - text_document_position: lsp2::TextDocumentPositionParams::new( - lsp2::TextDocumentIdentifier::new(lsp2::Url::from_file_path(path).unwrap()), + ) -> lsp::CompletionParams { + lsp::CompletionParams { + text_document_position: lsp::TextDocumentPositionParams::new( + lsp::TextDocumentIdentifier::new(lsp::Url::from_file_path(path).unwrap()), point_to_lsp(self.position), ), context: Default::default(), @@ -1340,7 +1338,7 @@ impl LspCommand for GetCompletions { async fn response_from_lsp( self, - completions: Option, + completions: Option, _: Model, buffer: Model, server_id: LanguageServerId, @@ -1349,9 +1347,9 @@ impl LspCommand for GetCompletions { let mut response_list = None; let completions = if let Some(completions) = completions { match completions { - lsp2::CompletionResponse::Array(completions) => completions, + lsp::CompletionResponse::Array(completions) => completions, - lsp2::CompletionResponse::List(mut list) => { + lsp::CompletionResponse::List(mut list) => { let items = std::mem::take(&mut list.items); response_list = Some(list); items @@ -1373,7 +1371,7 @@ impl LspCommand for GetCompletions { let (old_range, mut new_text) = match lsp_completion.text_edit.as_ref() { // If the language server provides a range to overwrite, then // check that the range is valid. - Some(lsp2::CompletionTextEdit::Edit(edit)) => { + Some(lsp::CompletionTextEdit::Edit(edit)) => { let range = range_from_lsp(edit.range); let start = snapshot.clip_point_utf16(range.start, Bias::Left); let end = snapshot.clip_point_utf16(range.end, Bias::Left); @@ -1439,7 +1437,7 @@ impl LspCommand for GetCompletions { (range, text) } - Some(lsp2::CompletionTextEdit::InsertAndReplace(_)) => { + Some(lsp::CompletionTextEdit::InsertAndReplace(_)) => { log::info!("unsupported insert/replace completion"); return None; } @@ -1457,7 +1455,7 @@ impl LspCommand for GetCompletions { old_range, new_text, label: label.unwrap_or_else(|| { - language2::CodeLabel::plain( + language::CodeLabel::plain( lsp_completion.label.clone(), lsp_completion.filter_text.as_deref(), ) @@ -1477,7 +1475,7 @@ impl LspCommand for GetCompletions { proto::GetCompletions { project_id, buffer_id: buffer.remote_id(), - position: Some(language2::proto::serialize_anchor(&anchor)), + position: Some(language::proto::serialize_anchor(&anchor)), version: serialize_version(&buffer.version()), } } @@ -1494,7 +1492,7 @@ impl LspCommand for GetCompletions { .await?; let position = message .position - .and_then(language2::proto::deserialize_anchor) + .and_then(language::proto::deserialize_anchor) .map(|p| { buffer.update(&mut cx, |buffer, _| { buffer.clip_point_utf16(Unclipped(p.to_point_utf16(buffer)), Bias::Left) @@ -1514,7 +1512,7 @@ impl LspCommand for GetCompletions { proto::GetCompletionsResponse { completions: completions .iter() - .map(language2::proto::serialize_completion) + .map(language::proto::serialize_completion) .collect(), version: serialize_version(&buffer_version), } @@ -1535,7 +1533,7 @@ impl LspCommand for GetCompletions { let language = buffer.update(&mut cx, |buffer, _| buffer.language().cloned())?; let completions = message.completions.into_iter().map(|completion| { - language2::proto::deserialize_completion(completion, language.clone()) + language::proto::deserialize_completion(completion, language.clone()) }); future::try_join_all(completions).await } @@ -1548,13 +1546,13 @@ impl LspCommand for GetCompletions { #[async_trait(?Send)] impl LspCommand for GetCodeActions { type Response = Vec; - type LspRequest = lsp2::request::CodeActionRequest; + type LspRequest = lsp::request::CodeActionRequest; type ProtoRequest = proto::GetCodeActions; fn check_capabilities(&self, capabilities: &ServerCapabilities) -> bool { match &capabilities.code_action_provider { None => false, - Some(lsp2::CodeActionProviderCapability::Simple(false)) => false, + Some(lsp::CodeActionProviderCapability::Simple(false)) => false, _ => true, } } @@ -1565,30 +1563,30 @@ impl LspCommand for GetCodeActions { buffer: &Buffer, language_server: &Arc, _: &AppContext, - ) -> lsp2::CodeActionParams { + ) -> lsp::CodeActionParams { let relevant_diagnostics = buffer .snapshot() .diagnostics_in_range::<_, usize>(self.range.clone(), false) .map(|entry| entry.to_lsp_diagnostic_stub()) .collect(); - lsp2::CodeActionParams { - text_document: lsp2::TextDocumentIdentifier::new( - lsp2::Url::from_file_path(path).unwrap(), + lsp::CodeActionParams { + text_document: lsp::TextDocumentIdentifier::new( + lsp::Url::from_file_path(path).unwrap(), ), range: range_to_lsp(self.range.to_point_utf16(buffer)), work_done_progress_params: Default::default(), partial_result_params: Default::default(), - context: lsp2::CodeActionContext { + context: lsp::CodeActionContext { diagnostics: relevant_diagnostics, only: language_server.code_action_kinds(), - ..lsp2::CodeActionContext::default() + ..lsp::CodeActionContext::default() }, } } async fn response_from_lsp( self, - actions: Option, + actions: Option, _: Model, _: Model, server_id: LanguageServerId, @@ -1598,7 +1596,7 @@ impl LspCommand for GetCodeActions { .unwrap_or_default() .into_iter() .filter_map(|entry| { - if let lsp2::CodeActionOrCommand::CodeAction(lsp_action) = entry { + if let lsp::CodeActionOrCommand::CodeAction(lsp_action) = entry { Some(CodeAction { server_id, range: self.range.clone(), @@ -1615,8 +1613,8 @@ impl LspCommand for GetCodeActions { proto::GetCodeActions { project_id, buffer_id: buffer.remote_id(), - start: Some(language2::proto::serialize_anchor(&self.range.start)), - end: Some(language2::proto::serialize_anchor(&self.range.end)), + start: Some(language::proto::serialize_anchor(&self.range.start)), + end: Some(language::proto::serialize_anchor(&self.range.end)), version: serialize_version(&buffer.version()), } } @@ -1629,11 +1627,11 @@ impl LspCommand for GetCodeActions { ) -> Result { let start = message .start - .and_then(language2::proto::deserialize_anchor) + .and_then(language::proto::deserialize_anchor) .ok_or_else(|| anyhow!("invalid start"))?; let end = message .end - .and_then(language2::proto::deserialize_anchor) + .and_then(language::proto::deserialize_anchor) .ok_or_else(|| anyhow!("invalid end"))?; buffer .update(&mut cx, |buffer, _| { @@ -1654,7 +1652,7 @@ impl LspCommand for GetCodeActions { proto::GetCodeActionsResponse { actions: code_actions .iter() - .map(language2::proto::serialize_code_action) + .map(language::proto::serialize_code_action) .collect(), version: serialize_version(&buffer_version), } @@ -1675,7 +1673,7 @@ impl LspCommand for GetCodeActions { message .actions .into_iter() - .map(language2::proto::deserialize_code_action) + .map(language::proto::deserialize_code_action) .collect() } @@ -1687,10 +1685,10 @@ impl LspCommand for GetCodeActions { #[async_trait(?Send)] impl LspCommand for OnTypeFormatting { type Response = Option; - type LspRequest = lsp2::request::OnTypeFormatting; + type LspRequest = lsp::request::OnTypeFormatting; type ProtoRequest = proto::OnTypeFormatting; - fn check_capabilities(&self, server_capabilities: &lsp2::ServerCapabilities) -> bool { + fn check_capabilities(&self, server_capabilities: &lsp::ServerCapabilities) -> bool { let Some(on_type_formatting_options) = &server_capabilities.document_on_type_formatting_provider else { @@ -1712,10 +1710,10 @@ impl LspCommand for OnTypeFormatting { _: &Buffer, _: &Arc, _: &AppContext, - ) -> lsp2::DocumentOnTypeFormattingParams { - lsp2::DocumentOnTypeFormattingParams { - text_document_position: lsp2::TextDocumentPositionParams::new( - lsp2::TextDocumentIdentifier::new(lsp2::Url::from_file_path(path).unwrap()), + ) -> lsp::DocumentOnTypeFormattingParams { + lsp::DocumentOnTypeFormattingParams { + text_document_position: lsp::TextDocumentPositionParams::new( + lsp::TextDocumentIdentifier::new(lsp::Url::from_file_path(path).unwrap()), point_to_lsp(self.position), ), ch: self.trigger.clone(), @@ -1725,7 +1723,7 @@ impl LspCommand for OnTypeFormatting { async fn response_from_lsp( self, - message: Option>, + message: Option>, project: Model, buffer: Model, server_id: LanguageServerId, @@ -1753,7 +1751,7 @@ impl LspCommand for OnTypeFormatting { proto::OnTypeFormatting { project_id, buffer_id: buffer.remote_id(), - position: Some(language2::proto::serialize_anchor( + position: Some(language::proto::serialize_anchor( &buffer.anchor_before(self.position), )), trigger: self.trigger.clone(), @@ -1798,7 +1796,7 @@ impl LspCommand for OnTypeFormatting { ) -> proto::OnTypeFormattingResponse { proto::OnTypeFormattingResponse { transaction: response - .map(|transaction| language2::proto::serialize_transaction(&transaction)), + .map(|transaction| language::proto::serialize_transaction(&transaction)), } } @@ -1812,9 +1810,7 @@ impl LspCommand for OnTypeFormatting { let Some(transaction) = message.transaction else { return Ok(None); }; - Ok(Some(language2::proto::deserialize_transaction( - transaction, - )?)) + Ok(Some(language::proto::deserialize_transaction(transaction)?)) } fn buffer_id_from_proto(message: &proto::OnTypeFormatting) -> u64 { @@ -1824,7 +1820,7 @@ impl LspCommand for OnTypeFormatting { impl InlayHints { pub async fn lsp_to_project_hint( - lsp_hint: lsp2::InlayHint, + lsp_hint: lsp::InlayHint, buffer_handle: &Model, server_id: LanguageServerId, resolve_state: ResolveState, @@ -1832,8 +1828,8 @@ impl InlayHints { cx: &mut AsyncAppContext, ) -> anyhow::Result { let kind = lsp_hint.kind.and_then(|kind| match kind { - lsp2::InlayHintKind::TYPE => Some(InlayHintKind::Type), - lsp2::InlayHintKind::PARAMETER => Some(InlayHintKind::Parameter), + lsp::InlayHintKind::TYPE => Some(InlayHintKind::Type), + lsp::InlayHintKind::PARAMETER => Some(InlayHintKind::Parameter), _ => None, }); @@ -1861,12 +1857,12 @@ impl InlayHints { label, kind, tooltip: lsp_hint.tooltip.map(|tooltip| match tooltip { - lsp2::InlayHintTooltip::String(s) => InlayHintTooltip::String(s), - lsp2::InlayHintTooltip::MarkupContent(markup_content) => { + lsp::InlayHintTooltip::String(s) => InlayHintTooltip::String(s), + lsp::InlayHintTooltip::MarkupContent(markup_content) => { InlayHintTooltip::MarkupContent(MarkupContent { kind: match markup_content.kind { - lsp2::MarkupKind::PlainText => HoverBlockKind::PlainText, - lsp2::MarkupKind::Markdown => HoverBlockKind::Markdown, + lsp::MarkupKind::PlainText => HoverBlockKind::PlainText, + lsp::MarkupKind::Markdown => HoverBlockKind::Markdown, }, value: markup_content.value, }) @@ -1877,25 +1873,25 @@ impl InlayHints { } async fn lsp_inlay_label_to_project( - lsp_label: lsp2::InlayHintLabel, + lsp_label: lsp::InlayHintLabel, server_id: LanguageServerId, ) -> anyhow::Result { let label = match lsp_label { - lsp2::InlayHintLabel::String(s) => InlayHintLabel::String(s), - lsp2::InlayHintLabel::LabelParts(lsp_parts) => { + lsp::InlayHintLabel::String(s) => InlayHintLabel::String(s), + lsp::InlayHintLabel::LabelParts(lsp_parts) => { let mut parts = Vec::with_capacity(lsp_parts.len()); for lsp_part in lsp_parts { parts.push(InlayHintLabelPart { value: lsp_part.value, tooltip: lsp_part.tooltip.map(|tooltip| match tooltip { - lsp2::InlayHintLabelPartTooltip::String(s) => { + lsp::InlayHintLabelPartTooltip::String(s) => { InlayHintLabelPartTooltip::String(s) } - lsp2::InlayHintLabelPartTooltip::MarkupContent(markup_content) => { + lsp::InlayHintLabelPartTooltip::MarkupContent(markup_content) => { InlayHintLabelPartTooltip::MarkupContent(MarkupContent { kind: match markup_content.kind { - lsp2::MarkupKind::PlainText => HoverBlockKind::PlainText, - lsp2::MarkupKind::Markdown => HoverBlockKind::Markdown, + lsp::MarkupKind::PlainText => HoverBlockKind::PlainText, + lsp::MarkupKind::Markdown => HoverBlockKind::Markdown, }, value: markup_content.value, }) @@ -1933,7 +1929,7 @@ impl InlayHints { lsp_resolve_state, }); proto::InlayHint { - position: Some(language2::proto::serialize_anchor(&response_hint.position)), + position: Some(language::proto::serialize_anchor(&response_hint.position)), padding_left: response_hint.padding_left, padding_right: response_hint.padding_right, label: Some(proto::InlayHintLabel { @@ -1992,7 +1988,7 @@ impl InlayHints { let resolve_state_data = resolve_state .lsp_resolve_state.as_ref() .map(|lsp_resolve_state| { - serde_json::from_str::>(&lsp_resolve_state.value) + serde_json::from_str::>(&lsp_resolve_state.value) .with_context(|| format!("incorrect proto inlay hint message: non-json resolve state {lsp_resolve_state:?}")) .map(|state| (LanguageServerId(lsp_resolve_state.server_id as usize), state)) }) @@ -2015,7 +2011,7 @@ impl InlayHints { Ok(InlayHint { position: message_hint .position - .and_then(language2::proto::deserialize_anchor) + .and_then(language::proto::deserialize_anchor) .context("invalid position")?, label: match message_hint .label @@ -2058,10 +2054,10 @@ impl InlayHints { { Some(((uri, range), server_id)) => Some(( LanguageServerId(server_id as usize), - lsp2::Location { - uri: lsp2::Url::parse(&uri) + lsp::Location { + uri: lsp::Url::parse(&uri) .context("invalid uri in hint part {part:?}")?, - range: lsp2::Range::new( + range: lsp::Range::new( point_to_lsp(PointUtf16::new( range.start.row, range.start.column, @@ -2107,22 +2103,22 @@ impl InlayHints { }) } - pub fn project_to_lsp_hint(hint: InlayHint, snapshot: &BufferSnapshot) -> lsp2::InlayHint { - lsp2::InlayHint { + pub fn project_to_lsp_hint(hint: InlayHint, snapshot: &BufferSnapshot) -> lsp::InlayHint { + lsp::InlayHint { position: point_to_lsp(hint.position.to_point_utf16(snapshot)), kind: hint.kind.map(|kind| match kind { - InlayHintKind::Type => lsp2::InlayHintKind::TYPE, - InlayHintKind::Parameter => lsp2::InlayHintKind::PARAMETER, + InlayHintKind::Type => lsp::InlayHintKind::TYPE, + InlayHintKind::Parameter => lsp::InlayHintKind::PARAMETER, }), text_edits: None, tooltip: hint.tooltip.and_then(|tooltip| { Some(match tooltip { - InlayHintTooltip::String(s) => lsp2::InlayHintTooltip::String(s), + InlayHintTooltip::String(s) => lsp::InlayHintTooltip::String(s), InlayHintTooltip::MarkupContent(markup_content) => { - lsp2::InlayHintTooltip::MarkupContent(lsp2::MarkupContent { + lsp::InlayHintTooltip::MarkupContent(lsp::MarkupContent { kind: match markup_content.kind { - HoverBlockKind::PlainText => lsp2::MarkupKind::PlainText, - HoverBlockKind::Markdown => lsp2::MarkupKind::Markdown, + HoverBlockKind::PlainText => lsp::MarkupKind::PlainText, + HoverBlockKind::Markdown => lsp::MarkupKind::Markdown, HoverBlockKind::Code { .. } => return None, }, value: markup_content.value, @@ -2131,26 +2127,26 @@ impl InlayHints { }) }), label: match hint.label { - InlayHintLabel::String(s) => lsp2::InlayHintLabel::String(s), - InlayHintLabel::LabelParts(label_parts) => lsp2::InlayHintLabel::LabelParts( + InlayHintLabel::String(s) => lsp::InlayHintLabel::String(s), + InlayHintLabel::LabelParts(label_parts) => lsp::InlayHintLabel::LabelParts( label_parts .into_iter() - .map(|part| lsp2::InlayHintLabelPart { + .map(|part| lsp::InlayHintLabelPart { value: part.value, tooltip: part.tooltip.and_then(|tooltip| { Some(match tooltip { InlayHintLabelPartTooltip::String(s) => { - lsp2::InlayHintLabelPartTooltip::String(s) + lsp::InlayHintLabelPartTooltip::String(s) } InlayHintLabelPartTooltip::MarkupContent(markup_content) => { - lsp2::InlayHintLabelPartTooltip::MarkupContent( - lsp2::MarkupContent { + lsp::InlayHintLabelPartTooltip::MarkupContent( + lsp::MarkupContent { kind: match markup_content.kind { HoverBlockKind::PlainText => { - lsp2::MarkupKind::PlainText + lsp::MarkupKind::PlainText } HoverBlockKind::Markdown => { - lsp2::MarkupKind::Markdown + lsp::MarkupKind::Markdown } HoverBlockKind::Code { .. } => return None, }, @@ -2182,8 +2178,8 @@ impl InlayHints { .and_then(|options| match options { OneOf::Left(_is_supported) => None, OneOf::Right(capabilities) => match capabilities { - lsp2::InlayHintServerCapabilities::Options(o) => o.resolve_provider, - lsp2::InlayHintServerCapabilities::RegistrationOptions(o) => { + lsp::InlayHintServerCapabilities::Options(o) => o.resolve_provider, + lsp::InlayHintServerCapabilities::RegistrationOptions(o) => { o.inlay_hint_options.resolve_provider } }, @@ -2195,18 +2191,18 @@ impl InlayHints { #[async_trait(?Send)] impl LspCommand for InlayHints { type Response = Vec; - type LspRequest = lsp2::InlayHintRequest; + type LspRequest = lsp::InlayHintRequest; type ProtoRequest = proto::InlayHints; - fn check_capabilities(&self, server_capabilities: &lsp2::ServerCapabilities) -> bool { + fn check_capabilities(&self, server_capabilities: &lsp::ServerCapabilities) -> bool { let Some(inlay_hint_provider) = &server_capabilities.inlay_hint_provider else { return false; }; match inlay_hint_provider { - lsp2::OneOf::Left(enabled) => *enabled, - lsp2::OneOf::Right(inlay_hint_capabilities) => match inlay_hint_capabilities { - lsp2::InlayHintServerCapabilities::Options(_) => true, - lsp2::InlayHintServerCapabilities::RegistrationOptions(_) => false, + lsp::OneOf::Left(enabled) => *enabled, + lsp::OneOf::Right(inlay_hint_capabilities) => match inlay_hint_capabilities { + lsp::InlayHintServerCapabilities::Options(_) => true, + lsp::InlayHintServerCapabilities::RegistrationOptions(_) => false, }, } } @@ -2217,10 +2213,10 @@ impl LspCommand for InlayHints { buffer: &Buffer, _: &Arc, _: &AppContext, - ) -> lsp2::InlayHintParams { - lsp2::InlayHintParams { - text_document: lsp2::TextDocumentIdentifier { - uri: lsp2::Url::from_file_path(path).unwrap(), + ) -> lsp::InlayHintParams { + lsp::InlayHintParams { + text_document: lsp::TextDocumentIdentifier { + uri: lsp::Url::from_file_path(path).unwrap(), }, range: range_to_lsp(self.range.to_point_utf16(buffer)), work_done_progress_params: Default::default(), @@ -2229,7 +2225,7 @@ impl LspCommand for InlayHints { async fn response_from_lsp( self, - message: Option>, + message: Option>, project: Model, buffer: Model, server_id: LanguageServerId, @@ -2278,8 +2274,8 @@ impl LspCommand for InlayHints { proto::InlayHints { project_id, buffer_id: buffer.remote_id(), - start: Some(language2::proto::serialize_anchor(&self.range.start)), - end: Some(language2::proto::serialize_anchor(&self.range.end)), + start: Some(language::proto::serialize_anchor(&self.range.start)), + end: Some(language::proto::serialize_anchor(&self.range.end)), version: serialize_version(&buffer.version()), } } @@ -2292,11 +2288,11 @@ impl LspCommand for InlayHints { ) -> Result { let start = message .start - .and_then(language2::proto::deserialize_anchor) + .and_then(language::proto::deserialize_anchor) .context("invalid start")?; let end = message .end - .and_then(language2::proto::deserialize_anchor) + .and_then(language::proto::deserialize_anchor) .context("invalid end")?; buffer .update(&mut cx, |buffer, _| { diff --git a/crates/project2/src/project2.rs b/crates/project2/src/project2.rs index 05434b93b4..65d1aba820 100644 --- a/crates/project2/src/project2.rs +++ b/crates/project2/src/project2.rs @@ -11,10 +11,10 @@ mod project_tests; mod worktree_tests; use anyhow::{anyhow, Context as _, Result}; -use client2::{proto, Client, Collaborator, TypedEnvelope, UserStore}; +use client::{proto, Client, Collaborator, TypedEnvelope, UserStore}; use clock::ReplicaId; use collections::{hash_map, BTreeMap, HashMap, HashSet}; -use copilot2::Copilot; +use copilot::Copilot; use futures::{ channel::{ mpsc::{self, UnboundedReceiver}, @@ -25,12 +25,12 @@ use futures::{ AsyncWriteExt, Future, FutureExt, StreamExt, TryFutureExt, }; use globset::{Glob, GlobSet, GlobSetBuilder}; -use gpui2::{ +use gpui::{ AnyModel, AppContext, AsyncAppContext, BackgroundExecutor, Context, Entity, EventEmitter, Model, ModelContext, Task, WeakModel, }; use itertools::Itertools; -use language2::{ +use language::{ language_settings::{ language_settings, FormatOnSave, Formatter, InlayHintKind, LanguageSettings, }, @@ -46,7 +46,7 @@ use language2::{ ToOffset, ToPointUtf16, Transaction, Unclipped, }; use log::error; -use lsp2::{ +use lsp::{ DiagnosticSeverity, DiagnosticTag, DidChangeWatchedFilesRegistrationOptions, DocumentHighlightKind, LanguageServer, LanguageServerBinary, LanguageServerId, OneOf, }; @@ -54,12 +54,12 @@ use lsp_command::*; use node_runtime::NodeRuntime; use parking_lot::Mutex; use postage::watch; -use prettier2::{LocateStart, Prettier}; +use prettier::{LocateStart, Prettier}; use project_settings::{LspSettings, ProjectSettings}; use rand::prelude::*; use search::SearchQuery; use serde::Serialize; -use settings2::{Settings, SettingsStore}; +use settings::{Settings, SettingsStore}; use sha2::{Digest, Sha256}; use similar::{ChangeTag, TextDiff}; use smol::channel::{Receiver, Sender}; @@ -86,9 +86,9 @@ use util::{ paths::LOCAL_SETTINGS_RELATIVE_PATH, post_inc, ResultExt, TryFutureExt as _, }; -pub use fs2::*; +pub use fs::*; #[cfg(any(test, feature = "test-support"))] -pub use prettier2::FORMAT_SUFFIX as TEST_PRETTIER_FORMAT_SUFFIX; +pub use prettier::FORMAT_SUFFIX as TEST_PRETTIER_FORMAT_SUFFIX; pub use worktree::*; const MAX_SERVER_REINSTALL_ATTEMPT_COUNT: u64 = 4; @@ -123,7 +123,7 @@ pub struct Project { language_server_ids: HashMap<(WorktreeId, LanguageServerName), LanguageServerId>, language_server_statuses: BTreeMap, last_workspace_edits_by_language_server: HashMap, - client: Arc, + client: Arc, next_entry_id: Arc, join_project_response_message_id: u32, next_diagnostic_group_id: usize, @@ -131,8 +131,8 @@ pub struct Project { fs: Arc, client_state: Option, collaborators: HashMap, - client_subscriptions: Vec, - _subscriptions: Vec, + client_subscriptions: Vec, + _subscriptions: Vec, next_buffer_id: u64, opened_buffer: (watch::Sender<()>, watch::Receiver<()>), shared_buffers: HashMap>, @@ -158,8 +158,8 @@ pub struct Project { _maintain_buffer_languages: Task<()>, _maintain_workspace_config: Task>, terminals: Terminals, - copilot_lsp_subscription: Option, - copilot_log_subscription: Option, + copilot_lsp_subscription: Option, + copilot_log_subscription: Option, current_lsp_settings: HashMap, LspSettings>, node: Option>, #[cfg(not(any(test, feature = "test-support")))] @@ -352,12 +352,12 @@ pub struct DiagnosticSummary { #[derive(Debug, Clone, PartialEq, Eq, Hash)] pub struct Location { pub buffer: Model, - pub range: Range, + pub range: Range, } #[derive(Debug, Clone, PartialEq, Eq)] pub struct InlayHint { - pub position: language2::Anchor, + pub position: language::Anchor, pub label: InlayHintLabel, pub kind: Option, pub padding_left: bool, @@ -369,7 +369,7 @@ pub struct InlayHint { #[derive(Debug, Clone, PartialEq, Eq)] pub enum ResolveState { Resolved, - CanResolve(LanguageServerId, Option), + CanResolve(LanguageServerId, Option), Resolving, } @@ -392,7 +392,7 @@ pub enum InlayHintLabel { pub struct InlayHintLabelPart { pub value: String, pub tooltip: Option, - pub location: Option<(LanguageServerId, lsp2::Location)>, + pub location: Option<(LanguageServerId, lsp::Location)>, } #[derive(Debug, Clone, PartialEq, Eq)] @@ -421,7 +421,7 @@ pub struct LocationLink { #[derive(Debug)] pub struct DocumentHighlight { - pub range: Range, + pub range: Range, pub kind: DocumentHighlightKind, } @@ -432,7 +432,7 @@ pub struct Symbol { pub path: ProjectPath, pub label: CodeLabel, pub name: String, - pub kind: lsp2::SymbolKind, + pub kind: lsp::SymbolKind, pub range: Range>, pub signature: [u8; 32], } @@ -453,7 +453,7 @@ pub enum HoverBlockKind { #[derive(Debug)] pub struct Hover { pub contents: Vec, - pub range: Option>, + pub range: Option>, pub language: Option>, } @@ -464,7 +464,7 @@ impl Hover { } #[derive(Default)] -pub struct ProjectTransaction(pub HashMap, language2::Transaction>); +pub struct ProjectTransaction(pub HashMap, language::Transaction>); impl DiagnosticSummary { fn new<'a, T: 'a>(diagnostics: impl IntoIterator>) -> Self { @@ -859,12 +859,12 @@ impl Project { pub async fn test( fs: Arc, root_paths: impl IntoIterator, - cx: &mut gpui2::TestAppContext, + cx: &mut gpui::TestAppContext, ) -> Model { let mut languages = LanguageRegistry::test(); languages.set_executor(cx.executor().clone()); let http_client = util::http::FakeHttpClient::with_404_response(); - let client = cx.update(|cx| client2::Client::new(http_client.clone(), cx)); + let client = cx.update(|cx| client::Client::new(http_client.clone(), cx)); let user_store = cx.build_model(|cx| UserStore::new(client.clone(), http_client, cx)); let project = cx.update(|cx| { Project::local( @@ -1669,10 +1669,8 @@ impl Project { } let id = post_inc(&mut self.next_buffer_id); let buffer = cx.build_model(|cx| { - Buffer::new(self.replica_id(), id, text).with_language( - language.unwrap_or_else(|| language2::PLAIN_TEXT.clone()), - cx, - ) + Buffer::new(self.replica_id(), id, text) + .with_language(language.unwrap_or_else(|| language::PLAIN_TEXT.clone()), cx) }); self.register_buffer(&buffer, cx)?; Ok(buffer) @@ -1812,7 +1810,7 @@ impl Project { /// LanguageServerName is owned, because it is inserted into a map pub fn open_local_buffer_via_lsp( &mut self, - abs_path: lsp2::Url, + abs_path: lsp::Url, language_server_id: LanguageServerId, language_server_name: LanguageServerName, cx: &mut ModelContext, @@ -2019,13 +2017,13 @@ impl Project { cx.observe_release(buffer, |this, buffer, cx| { if let Some(file) = File::from_dyn(buffer.file()) { if file.is_local() { - let uri = lsp2::Url::from_file_path(file.abs_path(cx)).unwrap(); + let uri = lsp::Url::from_file_path(file.abs_path(cx)).unwrap(); for server in this.language_servers_for_buffer(buffer, cx) { server .1 - .notify::( - lsp2::DidCloseTextDocumentParams { - text_document: lsp2::TextDocumentIdentifier::new(uri.clone()), + .notify::( + lsp::DidCloseTextDocumentParams { + text_document: lsp::TextDocumentIdentifier::new(uri.clone()), }, ) .log_err(); @@ -2053,7 +2051,7 @@ impl Project { } let abs_path = file.abs_path(cx); - let uri = lsp2::Url::from_file_path(&abs_path) + let uri = lsp::Url::from_file_path(&abs_path) .unwrap_or_else(|()| panic!("Failed to register file {abs_path:?}")); let initial_snapshot = buffer.text_snapshot(); let language = buffer.language().cloned(); @@ -2086,9 +2084,9 @@ impl Project { }; server - .notify::( - lsp2::DidOpenTextDocumentParams { - text_document: lsp2::TextDocumentItem::new( + .notify::( + lsp::DidOpenTextDocumentParams { + text_document: lsp::TextDocumentItem::new( uri.clone(), language_id.unwrap_or_default(), 0, @@ -2145,12 +2143,12 @@ impl Project { } self.buffer_snapshots.remove(&buffer.remote_id()); - let file_url = lsp2::Url::from_file_path(old_path).unwrap(); + let file_url = lsp::Url::from_file_path(old_path).unwrap(); for (_, language_server) in self.language_servers_for_buffer(buffer, cx) { language_server - .notify::( - lsp2::DidCloseTextDocumentParams { - text_document: lsp2::TextDocumentIdentifier::new(file_url.clone()), + .notify::( + lsp::DidCloseTextDocumentParams { + text_document: lsp::TextDocumentIdentifier::new(file_url.clone()), }, ) .log_err(); @@ -2294,7 +2292,7 @@ impl Project { self.buffer_ordered_messages_tx .unbounded_send(BufferOrderedMessage::Operation { buffer_id: buffer.read(cx).remote_id(), - operation: language2::proto::serialize_operation(operation), + operation: language::proto::serialize_operation(operation), }) .ok(); } @@ -2303,7 +2301,7 @@ impl Project { let buffer = buffer.read(cx); let file = File::from_dyn(buffer.file())?; let abs_path = file.as_local()?.abs_path(cx); - let uri = lsp2::Url::from_file_path(abs_path).unwrap(); + let uri = lsp::Url::from_file_path(abs_path).unwrap(); let next_snapshot = buffer.text_snapshot(); let language_servers: Vec<_> = self @@ -2331,8 +2329,8 @@ impl Project { let new_text = next_snapshot .text_for_range(edit.new.start.1..edit.new.end.1) .collect(); - lsp2::TextDocumentContentChangeEvent { - range: Some(lsp2::Range::new( + lsp::TextDocumentContentChangeEvent { + range: Some(lsp::Range::new( point_to_lsp(edit_start), point_to_lsp(edit_end), )), @@ -2348,19 +2346,19 @@ impl Project { .text_document_sync .as_ref() .and_then(|sync| match sync { - lsp2::TextDocumentSyncCapability::Kind(kind) => Some(*kind), - lsp2::TextDocumentSyncCapability::Options(options) => options.change, + lsp::TextDocumentSyncCapability::Kind(kind) => Some(*kind), + lsp::TextDocumentSyncCapability::Options(options) => options.change, }); let content_changes: Vec<_> = match document_sync_kind { - Some(lsp2::TextDocumentSyncKind::FULL) => { - vec![lsp2::TextDocumentContentChangeEvent { + Some(lsp::TextDocumentSyncKind::FULL) => { + vec![lsp::TextDocumentContentChangeEvent { range: None, range_length: None, text: next_snapshot.text(), }] } - Some(lsp2::TextDocumentSyncKind::INCREMENTAL) => build_incremental_change(), + Some(lsp::TextDocumentSyncKind::INCREMENTAL) => build_incremental_change(), _ => { #[cfg(any(test, feature = "test-support"))] { @@ -2382,9 +2380,9 @@ impl Project { }); language_server - .notify::( - lsp2::DidChangeTextDocumentParams { - text_document: lsp2::VersionedTextDocumentIdentifier::new( + .notify::( + lsp::DidChangeTextDocumentParams { + text_document: lsp::VersionedTextDocumentIdentifier::new( uri.clone(), next_version, ), @@ -2399,16 +2397,16 @@ impl Project { let file = File::from_dyn(buffer.read(cx).file())?; let worktree_id = file.worktree_id(cx); let abs_path = file.as_local()?.abs_path(cx); - let text_document = lsp2::TextDocumentIdentifier { - uri: lsp2::Url::from_file_path(abs_path).unwrap(), + let text_document = lsp::TextDocumentIdentifier { + uri: lsp::Url::from_file_path(abs_path).unwrap(), }; for (_, _, server) in self.language_servers_for_worktree(worktree_id) { let text = include_text(server.as_ref()).then(|| buffer.read(cx).text()); server - .notify::( - lsp2::DidSaveTextDocumentParams { + .notify::( + lsp::DidSaveTextDocumentParams { text_document: text_document.clone(), text, }, @@ -2621,7 +2619,7 @@ impl Project { if let Some(handle) = buffer.upgrade() { let buffer = &handle.read(cx); if buffer.language().is_none() - || buffer.language() == Some(&*language2::PLAIN_TEXT) + || buffer.language() == Some(&*language::PLAIN_TEXT) { plain_text_buffers.push(handle); } else if buffer.contains_unknown_injections() { @@ -2671,8 +2669,8 @@ impl Project { let workspace_config = cx.update(|cx| adapter.workspace_configuration(cx))?.await; server - .notify::( - lsp2::DidChangeConfigurationParams { + .notify::( + lsp::DidChangeConfigurationParams { settings: workspace_config.clone(), }, ) @@ -2992,7 +2990,7 @@ impl Project { let language_server = pending_server.task.await?; language_server - .on_notification::({ + .on_notification::({ let adapter = adapter.clone(); let this = this.clone(); move |mut params, mut cx| { @@ -3015,7 +3013,7 @@ impl Project { .detach(); language_server - .on_request::({ + .on_request::({ let adapter = adapter.clone(); move |params, cx| { let adapter = adapter.clone(); @@ -3045,7 +3043,7 @@ impl Project { // avoid stalling any language server like `gopls` which waits for a response // to these requests when initializing. language_server - .on_request::({ + .on_request::({ let this = this.clone(); move |params, mut cx| { let this = this.clone(); @@ -3053,7 +3051,7 @@ impl Project { this.update(&mut cx, |this, _| { if let Some(status) = this.language_server_statuses.get_mut(&server_id) { - if let lsp2::NumberOrString::String(token) = params.token { + if let lsp::NumberOrString::String(token) = params.token { status.progress_tokens.insert(token); } } @@ -3066,7 +3064,7 @@ impl Project { .detach(); language_server - .on_request::({ + .on_request::({ let this = this.clone(); move |params, mut cx| { let this = this.clone(); @@ -3090,7 +3088,7 @@ impl Project { .detach(); language_server - .on_request::({ + .on_request::({ let adapter = adapter.clone(); let this = this.clone(); move |params, cx| { @@ -3106,7 +3104,7 @@ impl Project { .detach(); language_server - .on_request::({ + .on_request::({ let this = this.clone(); move |(), mut cx| { let this = this.clone(); @@ -3128,7 +3126,7 @@ impl Project { adapter.disk_based_diagnostics_progress_token.clone(); language_server - .on_notification::(move |params, mut cx| { + .on_notification::(move |params, mut cx| { if let Some(this) = this.upgrade() { this.update(&mut cx, |this, cx| { this.on_lsp_progress( @@ -3146,8 +3144,8 @@ impl Project { let language_server = language_server.initialize(initialization_options).await?; language_server - .notify::( - lsp2::DidChangeConfigurationParams { + .notify::( + lsp::DidChangeConfigurationParams { settings: workspace_config, }, ) @@ -3250,10 +3248,10 @@ impl Project { let snapshot = versions.last().unwrap(); let version = snapshot.version; let initial_snapshot = &snapshot.snapshot; - let uri = lsp2::Url::from_file_path(file.abs_path(cx)).unwrap(); - language_server.notify::( - lsp2::DidOpenTextDocumentParams { - text_document: lsp2::TextDocumentItem::new( + let uri = lsp::Url::from_file_path(file.abs_path(cx)).unwrap(); + language_server.notify::( + lsp::DidOpenTextDocumentParams { + text_document: lsp::TextDocumentItem::new( uri, adapter .language_ids @@ -3516,19 +3514,19 @@ impl Project { fn on_lsp_progress( &mut self, - progress: lsp2::ProgressParams, + progress: lsp::ProgressParams, language_server_id: LanguageServerId, disk_based_diagnostics_progress_token: Option, cx: &mut ModelContext, ) { let token = match progress.token { - lsp2::NumberOrString::String(token) => token, - lsp2::NumberOrString::Number(token) => { + lsp::NumberOrString::String(token) => token, + lsp::NumberOrString::Number(token) => { log::info!("skipping numeric progress token {}", token); return; } }; - let lsp2::ProgressParamsValue::WorkDone(progress) = progress.value; + let lsp::ProgressParamsValue::WorkDone(progress) = progress.value; let language_server_status = if let Some(status) = self.language_server_statuses.get_mut(&language_server_id) { status @@ -3547,7 +3545,7 @@ impl Project { }); match progress { - lsp2::WorkDoneProgress::Begin(report) => { + lsp::WorkDoneProgress::Begin(report) => { if is_disk_based_diagnostics_progress { language_server_status.has_pending_diagnostic_updates = true; self.disk_based_diagnostics_started(language_server_id, cx); @@ -3582,7 +3580,7 @@ impl Project { .ok(); } } - lsp2::WorkDoneProgress::Report(report) => { + lsp::WorkDoneProgress::Report(report) => { if !is_disk_based_diagnostics_progress { self.on_lsp_work_progress( language_server_id, @@ -3608,7 +3606,7 @@ impl Project { .ok(); } } - lsp2::WorkDoneProgress::End(_) => { + lsp::WorkDoneProgress::End(_) => { language_server_status.progress_tokens.remove(&token); if is_disk_based_diagnostics_progress { @@ -3707,15 +3705,15 @@ impl Project { let glob_is_inside_worktree = worktree.update(cx, |tree, _| { if let Some(abs_path) = tree.abs_path().to_str() { let relative_glob_pattern = match &watcher.glob_pattern { - lsp2::GlobPattern::String(s) => s + lsp::GlobPattern::String(s) => s .strip_prefix(abs_path) .and_then(|s| s.strip_prefix(std::path::MAIN_SEPARATOR)), - lsp2::GlobPattern::Relative(rp) => { + lsp::GlobPattern::Relative(rp) => { let base_uri = match &rp.base_uri { - lsp2::OneOf::Left(workspace_folder) => { + lsp::OneOf::Left(workspace_folder) => { &workspace_folder.uri } - lsp2::OneOf::Right(base_uri) => base_uri, + lsp::OneOf::Right(base_uri) => base_uri, }; base_uri.to_file_path().ok().and_then(|file_path| { (file_path.to_str() == Some(abs_path)) @@ -3760,11 +3758,11 @@ impl Project { async fn on_lsp_workspace_edit( this: WeakModel, - params: lsp2::ApplyWorkspaceEditParams, + params: lsp::ApplyWorkspaceEditParams, server_id: LanguageServerId, adapter: Arc, mut cx: AsyncAppContext, - ) -> Result { + ) -> Result { let this = this .upgrade() .ok_or_else(|| anyhow!("project project closed"))?; @@ -3787,7 +3785,7 @@ impl Project { .insert(server_id, transaction); } })?; - Ok(lsp2::ApplyWorkspaceEditResponse { + Ok(lsp::ApplyWorkspaceEditResponse { applied: true, failed_change: None, failure_reason: None, @@ -3803,7 +3801,7 @@ impl Project { pub fn update_diagnostics( &mut self, language_server_id: LanguageServerId, - mut params: lsp2::PublishDiagnosticsParams, + mut params: lsp::PublishDiagnosticsParams, disk_based_sources: &[String], cx: &mut ModelContext, ) -> Result<()> { @@ -3822,8 +3820,8 @@ impl Project { for diagnostic in ¶ms.diagnostics { let source = diagnostic.source.as_ref(); let code = diagnostic.code.as_ref().map(|code| match code { - lsp2::NumberOrString::Number(code) => code.to_string(), - lsp2::NumberOrString::String(code) => code.clone(), + lsp::NumberOrString::Number(code) => code.to_string(), + lsp::NumberOrString::String(code) => code.clone(), }); let range = range_from_lsp(diagnostic.range); let is_supporting = diagnostic @@ -4378,9 +4376,9 @@ impl Project { tab_size: NonZeroU32, cx: &mut AsyncAppContext, ) -> Result, String)>> { - let uri = lsp2::Url::from_file_path(abs_path) + let uri = lsp::Url::from_file_path(abs_path) .map_err(|_| anyhow!("failed to convert abs path to uri"))?; - let text_document = lsp2::TextDocumentIdentifier::new(uri); + let text_document = lsp::TextDocumentIdentifier::new(uri); let capabilities = &language_server.capabilities(); let formatting_provider = capabilities.document_formatting_provider.as_ref(); @@ -4388,20 +4386,20 @@ impl Project { let lsp_edits = if matches!(formatting_provider, Some(p) if *p != OneOf::Left(false)) { language_server - .request::(lsp2::DocumentFormattingParams { + .request::(lsp::DocumentFormattingParams { text_document, options: lsp_command::lsp_formatting_options(tab_size.get()), work_done_progress_params: Default::default(), }) .await? } else if matches!(range_formatting_provider, Some(p) if *p != OneOf::Left(false)) { - let buffer_start = lsp2::Position::new(0, 0); + let buffer_start = lsp::Position::new(0, 0); let buffer_end = buffer.update(cx, |b, _| point_to_lsp(b.max_point_utf16()))?; language_server - .request::(lsp2::DocumentRangeFormattingParams { + .request::(lsp::DocumentRangeFormattingParams { text_document, - range: lsp2::Range::new(buffer_start, buffer_end), + range: lsp::Range::new(buffer_start, buffer_end), options: lsp_command::lsp_formatting_options(tab_size.get()), work_done_progress_params: Default::default(), }) @@ -4564,8 +4562,8 @@ impl Project { requests.push( server - .request::( - lsp2::WorkspaceSymbolParams { + .request::( + lsp::WorkspaceSymbolParams { query: query.to_string(), ..Default::default() }, @@ -4573,12 +4571,12 @@ impl Project { .log_err() .map(move |response| { let lsp_symbols = response.flatten().map(|symbol_response| match symbol_response { - lsp2::WorkspaceSymbolResponse::Flat(flat_responses) => { + lsp::WorkspaceSymbolResponse::Flat(flat_responses) => { flat_responses.into_iter().map(|lsp_symbol| { (lsp_symbol.name, lsp_symbol.kind, lsp_symbol.location) }).collect::>() } - lsp2::WorkspaceSymbolResponse::Nested(nested_responses) => { + lsp::WorkspaceSymbolResponse::Nested(nested_responses) => { nested_responses.into_iter().filter_map(|lsp_symbol| { let location = match lsp_symbol.location { OneOf::Left(location) => location, @@ -4728,7 +4726,7 @@ impl Project { return Task::ready(Err(anyhow!("worktree not found for symbol"))); }; let symbol_abs_path = worktree_abs_path.join(&symbol.path.path); - let symbol_uri = if let Ok(uri) = lsp2::Url::from_file_path(symbol_abs_path) { + let symbol_uri = if let Ok(uri) = lsp::Url::from_file_path(symbol_abs_path) { uri } else { return Task::ready(Err(anyhow!("invalid symbol path"))); @@ -4852,7 +4850,7 @@ impl Project { .unwrap_or(false); let additional_text_edits = if can_resolve { lang_server - .request::(completion.lsp_completion) + .request::(completion.lsp_completion) .await? .additional_text_edits } else { @@ -4911,12 +4909,12 @@ impl Project { .request(proto::ApplyCompletionAdditionalEdits { project_id, buffer_id, - completion: Some(language2::proto::serialize_completion(&completion)), + completion: Some(language::proto::serialize_completion(&completion)), }) .await?; if let Some(transaction) = response.transaction { - let transaction = language2::proto::deserialize_transaction(transaction)?; + let transaction = language::proto::deserialize_transaction(transaction)?; buffer_handle .update(&mut cx, |buffer, _| { buffer.wait_for_edits(transaction.edit_ids.iter().copied()) @@ -4981,7 +4979,7 @@ impl Project { { *lsp_range = serde_json::to_value(&range_to_lsp(range)).unwrap(); action.lsp_action = lang_server - .request::(action.lsp_action) + .request::(action.lsp_action) .await?; } else { let actions = this @@ -5017,7 +5015,7 @@ impl Project { })?; let result = lang_server - .request::(lsp2::ExecuteCommandParams { + .request::(lsp::ExecuteCommandParams { command: command.command, arguments: command.arguments.unwrap_or_default(), ..Default::default() @@ -5043,7 +5041,7 @@ impl Project { let request = proto::ApplyCodeAction { project_id, buffer_id: buffer_handle.read(cx).remote_id(), - action: Some(language2::proto::serialize_code_action(&action)), + action: Some(language::proto::serialize_code_action(&action)), }; cx.spawn(move |this, mut cx| async move { let response = client @@ -5115,7 +5113,7 @@ impl Project { .request(request) .await? .transaction - .map(language2::proto::deserialize_transaction) + .map(language::proto::deserialize_transaction) .transpose() }) } else { @@ -5126,7 +5124,7 @@ impl Project { async fn deserialize_edits( this: Model, buffer_to_edit: Model, - edits: Vec, + edits: Vec, push_to_history: bool, _: Arc, language_server: Arc, @@ -5167,7 +5165,7 @@ impl Project { async fn deserialize_workspace_edit( this: Model, - edit: lsp2::WorkspaceEdit, + edit: lsp::WorkspaceEdit, push_to_history: bool, lsp_adapter: Arc, language_server: Arc, @@ -5177,15 +5175,15 @@ impl Project { let mut operations = Vec::new(); if let Some(document_changes) = edit.document_changes { match document_changes { - lsp2::DocumentChanges::Edits(edits) => { - operations.extend(edits.into_iter().map(lsp2::DocumentChangeOperation::Edit)) + lsp::DocumentChanges::Edits(edits) => { + operations.extend(edits.into_iter().map(lsp::DocumentChangeOperation::Edit)) } - lsp2::DocumentChanges::Operations(ops) => operations = ops, + lsp::DocumentChanges::Operations(ops) => operations = ops, } } else if let Some(changes) = edit.changes { operations.extend(changes.into_iter().map(|(uri, edits)| { - lsp2::DocumentChangeOperation::Edit(lsp2::TextDocumentEdit { - text_document: lsp2::OptionalVersionedTextDocumentIdentifier { + lsp::DocumentChangeOperation::Edit(lsp::TextDocumentEdit { + text_document: lsp::OptionalVersionedTextDocumentIdentifier { uri, version: None, }, @@ -5197,7 +5195,7 @@ impl Project { let mut project_transaction = ProjectTransaction::default(); for operation in operations { match operation { - lsp2::DocumentChangeOperation::Op(lsp2::ResourceOp::Create(op)) => { + lsp::DocumentChangeOperation::Op(lsp::ResourceOp::Create(op)) => { let abs_path = op .uri .to_file_path() @@ -5212,7 +5210,7 @@ impl Project { fs.create_file( &abs_path, op.options - .map(|options| fs2::CreateOptions { + .map(|options| fs::CreateOptions { overwrite: options.overwrite.unwrap_or(false), ignore_if_exists: options.ignore_if_exists.unwrap_or(false), }) @@ -5222,7 +5220,7 @@ impl Project { } } - lsp2::DocumentChangeOperation::Op(lsp2::ResourceOp::Rename(op)) => { + lsp::DocumentChangeOperation::Op(lsp::ResourceOp::Rename(op)) => { let source_abs_path = op .old_uri .to_file_path() @@ -5235,7 +5233,7 @@ impl Project { &source_abs_path, &target_abs_path, op.options - .map(|options| fs2::RenameOptions { + .map(|options| fs::RenameOptions { overwrite: options.overwrite.unwrap_or(false), ignore_if_exists: options.ignore_if_exists.unwrap_or(false), }) @@ -5244,14 +5242,14 @@ impl Project { .await?; } - lsp2::DocumentChangeOperation::Op(lsp2::ResourceOp::Delete(op)) => { + lsp::DocumentChangeOperation::Op(lsp::ResourceOp::Delete(op)) => { let abs_path = op .uri .to_file_path() .map_err(|_| anyhow!("can't convert URI to path"))?; let options = op .options - .map(|options| fs2::RemoveOptions { + .map(|options| fs::RemoveOptions { recursive: options.recursive.unwrap_or(false), ignore_if_not_exists: options.ignore_if_not_exists.unwrap_or(false), }) @@ -5263,7 +5261,7 @@ impl Project { } } - lsp2::DocumentChangeOperation::Edit(op) => { + lsp::DocumentChangeOperation::Edit(op) => { let buffer_to_edit = this .update(cx, |this, cx| { this.open_local_buffer_via_lsp( @@ -5466,7 +5464,7 @@ impl Project { let buffer_snapshot = buffer.snapshot(); cx.spawn(move |_, mut cx| async move { - let resolve_task = lang_server.request::( + let resolve_task = lang_server.request::( InlayHints::project_to_lsp_hint(hint, &buffer_snapshot), ); let resolved_hint = resolve_task @@ -5846,8 +5844,8 @@ impl Project { cx: &mut ModelContext, ) -> Task> where - ::Result: Send, - ::Params: Send, + ::Result: Send, + ::Params: Send, { let buffer = buffer_handle.read(cx); if self.is_local() { @@ -6281,7 +6279,7 @@ impl Project { }) = self.language_servers.get(server_id) { if let Some(watched_paths) = watched_paths.get(&worktree_id) { - let params = lsp2::DidChangeWatchedFilesParams { + let params = lsp::DidChangeWatchedFilesParams { changes: changes .iter() .filter_map(|(path, _, change)| { @@ -6290,13 +6288,13 @@ impl Project { } let typ = match change { PathChange::Loaded => return None, - PathChange::Added => lsp2::FileChangeType::CREATED, - PathChange::Removed => lsp2::FileChangeType::DELETED, - PathChange::Updated => lsp2::FileChangeType::CHANGED, - PathChange::AddedOrUpdated => lsp2::FileChangeType::CHANGED, + PathChange::Added => lsp::FileChangeType::CREATED, + PathChange::Removed => lsp::FileChangeType::DELETED, + PathChange::Updated => lsp::FileChangeType::CHANGED, + PathChange::AddedOrUpdated => lsp::FileChangeType::CHANGED, }; - Some(lsp2::FileEvent { - uri: lsp2::Url::from_file_path(abs_path.join(path)).unwrap(), + Some(lsp::FileEvent { + uri: lsp::Url::from_file_path(abs_path.join(path)).unwrap(), typ, }) }) @@ -6305,7 +6303,7 @@ impl Project { if !params.changes.is_empty() { server - .notify::(params) + .notify::(params) .log_err(); } } @@ -7080,7 +7078,7 @@ impl Project { let ops = payload .operations .into_iter() - .map(language2::proto::deserialize_operation) + .map(language::proto::deserialize_operation) .collect::, _>>()?; let is_remote = this.is_remote(); match this.opened_buffers.entry(buffer_id) { @@ -7124,7 +7122,7 @@ impl Project { anyhow!("no worktree found for id {}", file.worktree_id) })?; buffer_file = Some(Arc::new(File::from_proto(file, worktree.clone(), cx)?) - as Arc); + as Arc); } let buffer_id = state.id; @@ -7149,7 +7147,7 @@ impl Project { let operations = chunk .operations .into_iter() - .map(language2::proto::deserialize_operation) + .map(language::proto::deserialize_operation) .collect::>>()?; buffer.update(cx, |buffer, cx| buffer.apply_ops(operations, cx))?; @@ -7255,9 +7253,7 @@ impl Project { buffer_id, version: serialize_version(buffer.saved_version()), mtime: Some(buffer.saved_mtime().into()), - fingerprint: language2::proto::serialize_fingerprint( - buffer.saved_version_fingerprint(), - ), + fingerprint: language::proto::serialize_fingerprint(buffer.saved_version_fingerprint()), })?) } @@ -7310,7 +7306,7 @@ impl Project { this.shared_buffers.entry(guest_id).or_default().clear(); for buffer in envelope.payload.buffers { let buffer_id = buffer.id; - let remote_version = language2::proto::deserialize_version(&buffer.version); + let remote_version = language::proto::deserialize_version(&buffer.version); if let Some(buffer) = this.buffer_for_id(buffer_id) { this.shared_buffers .entry(guest_id) @@ -7320,7 +7316,7 @@ impl Project { let buffer = buffer.read(cx); response.buffers.push(proto::BufferVersion { id: buffer_id, - version: language2::proto::serialize_version(&buffer.version), + version: language::proto::serialize_version(&buffer.version), }); let operations = buffer.serialize_ops(Some(remote_version), cx); @@ -7347,12 +7343,12 @@ impl Project { .send(proto::BufferReloaded { project_id, buffer_id, - version: language2::proto::serialize_version(buffer.saved_version()), + version: language::proto::serialize_version(buffer.saved_version()), mtime: Some(buffer.saved_mtime().into()), - fingerprint: language2::proto::serialize_fingerprint( + fingerprint: language::proto::serialize_fingerprint( buffer.saved_version_fingerprint(), ), - line_ending: language2::proto::serialize_line_ending( + line_ending: language::proto::serialize_line_ending( buffer.line_ending(), ) as i32, }) @@ -7426,7 +7422,7 @@ impl Project { .and_then(|buffer| buffer.upgrade()) .ok_or_else(|| anyhow!("unknown buffer id {}", envelope.payload.buffer_id))?; let language = buffer.read(cx).language(); - let completion = language2::proto::deserialize_completion( + let completion = language::proto::deserialize_completion( envelope .payload .completion @@ -7446,7 +7442,7 @@ impl Project { transaction: apply_additional_edits .await? .as_ref() - .map(language2::proto::serialize_transaction), + .map(language::proto::serialize_transaction), }) } @@ -7457,7 +7453,7 @@ impl Project { mut cx: AsyncAppContext, ) -> Result { let sender_id = envelope.original_sender_id()?; - let action = language2::proto::deserialize_code_action( + let action = language::proto::deserialize_code_action( envelope .payload .action @@ -7509,7 +7505,7 @@ impl Project { let transaction = on_type_formatting .await? .as_ref() - .map(language2::proto::serialize_transaction); + .map(language::proto::serialize_transaction); Ok(proto::OnTypeFormattingResponse { transaction }) } @@ -7616,8 +7612,8 @@ impl Project { mut cx: AsyncAppContext, ) -> Result<::Response> where - ::Params: Send, - ::Result: Send, + ::Params: Send, + ::Result: Send, { let sender_id = envelope.original_sender_id()?; let buffer_id = T::buffer_id_from_proto(&envelope.payload); @@ -7801,7 +7797,7 @@ impl Project { .push(self.create_buffer_for_peer(&buffer, peer_id, cx)); serialized_transaction .transactions - .push(language2::proto::serialize_transaction(&transaction)); + .push(language::proto::serialize_transaction(&transaction)); } serialized_transaction } @@ -7821,7 +7817,7 @@ impl Project { this.wait_for_remote_buffer(buffer_id, cx) })? .await?; - let transaction = language2::proto::deserialize_transaction(transaction)?; + let transaction = language::proto::deserialize_transaction(transaction)?; project_transaction.0.insert(buffer, transaction); } @@ -7930,7 +7926,7 @@ impl Project { let buffer = buffer.upgrade()?; Some(proto::BufferVersion { id: *id, - version: language2::proto::serialize_version(&buffer.read(cx).version), + version: language::proto::serialize_version(&buffer.read(cx).version), }) }) .collect(); @@ -7956,7 +7952,7 @@ impl Project { .map(|buffer| { let client = client.clone(); let buffer_id = buffer.id; - let remote_version = language2::proto::deserialize_version(&buffer.version); + let remote_version = language::proto::deserialize_version(&buffer.version); if let Some(buffer) = this.buffer_for_id(buffer_id) { let operations = buffer.read(cx).serialize_ops(Some(remote_version), cx); @@ -8192,7 +8188,7 @@ impl Project { fn edits_from_lsp( &mut self, buffer: &Model, - lsp_edits: impl 'static + Send + IntoIterator, + lsp_edits: impl 'static + Send + IntoIterator, server_id: LanguageServerId, version: Option, cx: &mut ModelContext, @@ -8669,10 +8665,10 @@ impl Project { } cx.spawn(move |_| async move { - let prettier_wrapper_path = default_prettier_dir.join(prettier2::PRETTIER_SERVER_FILE); + let prettier_wrapper_path = default_prettier_dir.join(prettier::PRETTIER_SERVER_FILE); // method creates parent directory if it doesn't exist - fs.save(&prettier_wrapper_path, &text::Rope::from(prettier2::PRETTIER_SERVER_JS), text::LineEnding::Unix).await - .with_context(|| format!("writing {} file at {prettier_wrapper_path:?}", prettier2::PRETTIER_SERVER_FILE))?; + fs.save(&prettier_wrapper_path, &text::Rope::from(prettier::PRETTIER_SERVER_JS), text::LineEnding::Unix).await + .with_context(|| format!("writing {} file at {prettier_wrapper_path:?}", prettier::PRETTIER_SERVER_FILE))?; let packages_to_versions = future::try_join_all( plugins_to_install @@ -8714,19 +8710,19 @@ impl Project { fn subscribe_for_copilot_events( copilot: &Model, cx: &mut ModelContext<'_, Project>, -) -> gpui2::Subscription { +) -> gpui::Subscription { cx.subscribe( copilot, |project, copilot, copilot_event, cx| match copilot_event { - copilot2::Event::CopilotLanguageServerStarted => { + copilot::Event::CopilotLanguageServerStarted => { match copilot.read(cx).language_server() { Some((name, copilot_server)) => { // Another event wants to re-add the server that was already added and subscribed to, avoid doing it again. - if !copilot_server.has_notification_handler::() { + if !copilot_server.has_notification_handler::() { let new_server_id = copilot_server.server_id(); let weak_project = cx.weak_model(); let copilot_log_subscription = copilot_server - .on_notification::( + .on_notification::( move |params, mut cx| { weak_project.update(&mut cx, |_, cx| { cx.emit(Event::LanguageServerLog( @@ -8796,7 +8792,7 @@ pub struct PathMatchCandidateSet { pub include_root_name: bool, } -impl<'a> fuzzy2::PathMatchCandidateSet<'a> for PathMatchCandidateSet { +impl<'a> fuzzy::PathMatchCandidateSet<'a> for PathMatchCandidateSet { type Candidates = PathMatchCandidateSetIter<'a>; fn id(&self) -> usize { @@ -8833,12 +8829,12 @@ pub struct PathMatchCandidateSetIter<'a> { } impl<'a> Iterator for PathMatchCandidateSetIter<'a> { - type Item = fuzzy2::PathMatchCandidate<'a>; + type Item = fuzzy::PathMatchCandidate<'a>; fn next(&mut self) -> Option { self.traversal.next().map(|entry| { if let EntryKind::File(char_bag) = entry.kind { - fuzzy2::PathMatchCandidate { + fuzzy::PathMatchCandidate { path: &entry.path, char_bag, } @@ -8958,18 +8954,18 @@ async fn wait_for_loading_buffer( } } -fn include_text(server: &lsp2::LanguageServer) -> bool { +fn include_text(server: &lsp::LanguageServer) -> bool { server .capabilities() .text_document_sync .as_ref() .and_then(|sync| match sync { - lsp2::TextDocumentSyncCapability::Kind(_) => None, - lsp2::TextDocumentSyncCapability::Options(options) => options.save.as_ref(), + lsp::TextDocumentSyncCapability::Kind(_) => None, + lsp::TextDocumentSyncCapability::Options(options) => options.save.as_ref(), }) .and_then(|save_options| match save_options { - lsp2::TextDocumentSyncSaveOptions::Supported(_) => None, - lsp2::TextDocumentSyncSaveOptions::SaveOptions(options) => options.include_text, + lsp::TextDocumentSyncSaveOptions::Supported(_) => None, + lsp::TextDocumentSyncSaveOptions::SaveOptions(options) => options.include_text, }) .unwrap_or(false) } diff --git a/crates/project2/src/project_settings.rs b/crates/project2/src/project_settings.rs index b85226f7cc..028a564b9c 100644 --- a/crates/project2/src/project_settings.rs +++ b/crates/project2/src/project_settings.rs @@ -1,8 +1,8 @@ use collections::HashMap; -use gpui2::AppContext; +use gpui::AppContext; use schemars::JsonSchema; use serde::{Deserialize, Serialize}; -use settings2::Settings; +use settings::Settings; use std::sync::Arc; #[derive(Clone, Default, Serialize, Deserialize, JsonSchema)] diff --git a/crates/project2/src/project_tests.rs b/crates/project2/src/project_tests.rs index 5a2f82c375..490b3a0788 100644 --- a/crates/project2/src/project_tests.rs +++ b/crates/project2/src/project_tests.rs @@ -1,13 +1,13 @@ use crate::{search::PathMatcher, Event, *}; -use fs2::FakeFs; +use fs::FakeFs; use futures::{future, StreamExt}; -use gpui2::AppContext; -use language2::{ +use gpui::AppContext; +use language::{ language_settings::{AllLanguageSettings, LanguageSettingsContent}, tree_sitter_rust, tree_sitter_typescript, Diagnostic, FakeLspAdapter, LanguageConfig, LineEnding, OffsetRangeExt, Point, ToPoint, }; -use lsp2::Url; +use lsp::Url; use parking_lot::Mutex; use pretty_assertions::assert_eq; use serde_json::json; @@ -15,8 +15,8 @@ use std::{os, task::Poll}; use unindent::Unindent as _; use util::{assert_set_eq, test::temp_tree}; -#[gpui2::test] -async fn test_block_via_channel(cx: &mut gpui2::TestAppContext) { +#[gpui::test] +async fn test_block_via_channel(cx: &mut gpui::TestAppContext) { cx.executor().allow_parking(); let (tx, mut rx) = futures::channel::mpsc::unbounded(); @@ -28,8 +28,8 @@ async fn test_block_via_channel(cx: &mut gpui2::TestAppContext) { rx.next().await.unwrap(); } -#[gpui2::test] -async fn test_block_via_smol(cx: &mut gpui2::TestAppContext) { +#[gpui::test] +async fn test_block_via_smol(cx: &mut gpui::TestAppContext) { cx.executor().allow_parking(); let io_task = smol::unblock(move || { @@ -45,8 +45,8 @@ async fn test_block_via_smol(cx: &mut gpui2::TestAppContext) { task.await; } -#[gpui2::test] -async fn test_symlinks(cx: &mut gpui2::TestAppContext) { +#[gpui::test] +async fn test_symlinks(cx: &mut gpui::TestAppContext) { init_test(cx); cx.executor().allow_parking(); @@ -85,8 +85,8 @@ async fn test_symlinks(cx: &mut gpui2::TestAppContext) { }); } -#[gpui2::test] -async fn test_managing_project_specific_settings(cx: &mut gpui2::TestAppContext) { +#[gpui::test] +async fn test_managing_project_specific_settings(cx: &mut gpui::TestAppContext) { init_test(cx); let fs = FakeFs::new(cx.executor().clone()); @@ -142,8 +142,8 @@ async fn test_managing_project_specific_settings(cx: &mut gpui2::TestAppContext) }); } -#[gpui2::test] -async fn test_managing_language_servers(cx: &mut gpui2::TestAppContext) { +#[gpui::test] +async fn test_managing_language_servers(cx: &mut gpui::TestAppContext) { init_test(cx); let mut rust_language = Language::new( @@ -165,8 +165,8 @@ async fn test_managing_language_servers(cx: &mut gpui2::TestAppContext) { let mut fake_rust_servers = rust_language .set_fake_lsp_adapter(Arc::new(FakeLspAdapter { name: "the-rust-language-server", - capabilities: lsp2::ServerCapabilities { - completion_provider: Some(lsp2::CompletionOptions { + capabilities: lsp::ServerCapabilities { + completion_provider: Some(lsp::CompletionOptions { trigger_characters: Some(vec![".".to_string(), "::".to_string()]), ..Default::default() }), @@ -178,8 +178,8 @@ async fn test_managing_language_servers(cx: &mut gpui2::TestAppContext) { let mut fake_json_servers = json_language .set_fake_lsp_adapter(Arc::new(FakeLspAdapter { name: "the-json-language-server", - capabilities: lsp2::ServerCapabilities { - completion_provider: Some(lsp2::CompletionOptions { + capabilities: lsp::ServerCapabilities { + completion_provider: Some(lsp::CompletionOptions { trigger_characters: Some(vec![":".to_string()]), ..Default::default() }), @@ -237,11 +237,11 @@ async fn test_managing_language_servers(cx: &mut gpui2::TestAppContext) { let mut fake_rust_server = fake_rust_servers.next().await.unwrap(); assert_eq!( fake_rust_server - .receive_notification::() + .receive_notification::() .await .text_document, - lsp2::TextDocumentItem { - uri: lsp2::Url::from_file_path("/the-root/test.rs").unwrap(), + lsp::TextDocumentItem { + uri: lsp::Url::from_file_path("/the-root/test.rs").unwrap(), version: 0, text: "const A: i32 = 1;".to_string(), language_id: Default::default() @@ -263,11 +263,11 @@ async fn test_managing_language_servers(cx: &mut gpui2::TestAppContext) { rust_buffer.update(cx, |buffer, cx| buffer.edit([(16..16, "2")], None, cx)); assert_eq!( fake_rust_server - .receive_notification::() + .receive_notification::() .await .text_document, - lsp2::VersionedTextDocumentIdentifier::new( - lsp2::Url::from_file_path("/the-root/test.rs").unwrap(), + lsp::VersionedTextDocumentIdentifier::new( + lsp::Url::from_file_path("/the-root/test.rs").unwrap(), 1 ) ); @@ -284,11 +284,11 @@ async fn test_managing_language_servers(cx: &mut gpui2::TestAppContext) { let mut fake_json_server = fake_json_servers.next().await.unwrap(); assert_eq!( fake_json_server - .receive_notification::() + .receive_notification::() .await .text_document, - lsp2::TextDocumentItem { - uri: lsp2::Url::from_file_path("/the-root/package.json").unwrap(), + lsp::TextDocumentItem { + uri: lsp::Url::from_file_path("/the-root/package.json").unwrap(), version: 0, text: "{\"a\": 1}".to_string(), language_id: Default::default() @@ -323,11 +323,11 @@ async fn test_managing_language_servers(cx: &mut gpui2::TestAppContext) { }); assert_eq!( fake_rust_server - .receive_notification::() + .receive_notification::() .await .text_document, - lsp2::VersionedTextDocumentIdentifier::new( - lsp2::Url::from_file_path("/the-root/test2.rs").unwrap(), + lsp::VersionedTextDocumentIdentifier::new( + lsp::Url::from_file_path("/the-root/test2.rs").unwrap(), 1 ) ); @@ -339,21 +339,17 @@ async fn test_managing_language_servers(cx: &mut gpui2::TestAppContext) { .unwrap(); assert_eq!( fake_rust_server - .receive_notification::() + .receive_notification::() .await .text_document, - lsp2::TextDocumentIdentifier::new( - lsp2::Url::from_file_path("/the-root/Cargo.toml").unwrap() - ) + lsp::TextDocumentIdentifier::new(lsp::Url::from_file_path("/the-root/Cargo.toml").unwrap()) ); assert_eq!( fake_json_server - .receive_notification::() + .receive_notification::() .await .text_document, - lsp2::TextDocumentIdentifier::new( - lsp2::Url::from_file_path("/the-root/Cargo.toml").unwrap() - ) + lsp::TextDocumentIdentifier::new(lsp::Url::from_file_path("/the-root/Cargo.toml").unwrap()) ); // Renames are reported only to servers matching the buffer's language. @@ -366,18 +362,18 @@ async fn test_managing_language_servers(cx: &mut gpui2::TestAppContext) { .unwrap(); assert_eq!( fake_rust_server - .receive_notification::() + .receive_notification::() .await .text_document, - lsp2::TextDocumentIdentifier::new(lsp2::Url::from_file_path("/the-root/test2.rs").unwrap()), + lsp::TextDocumentIdentifier::new(lsp::Url::from_file_path("/the-root/test2.rs").unwrap()), ); assert_eq!( fake_rust_server - .receive_notification::() + .receive_notification::() .await .text_document, - lsp2::TextDocumentItem { - uri: lsp2::Url::from_file_path("/the-root/test3.rs").unwrap(), + lsp::TextDocumentItem { + uri: lsp::Url::from_file_path("/the-root/test3.rs").unwrap(), version: 0, text: rust_buffer2.update(cx, |buffer, _| buffer.text()), language_id: Default::default() @@ -416,18 +412,18 @@ async fn test_managing_language_servers(cx: &mut gpui2::TestAppContext) { .unwrap(); assert_eq!( fake_rust_server - .receive_notification::() + .receive_notification::() .await .text_document, - lsp2::TextDocumentIdentifier::new(lsp2::Url::from_file_path("/the-root/test3.rs").unwrap(),), + lsp::TextDocumentIdentifier::new(lsp::Url::from_file_path("/the-root/test3.rs").unwrap(),), ); assert_eq!( fake_json_server - .receive_notification::() + .receive_notification::() .await .text_document, - lsp2::TextDocumentItem { - uri: lsp2::Url::from_file_path("/the-root/test3.json").unwrap(), + lsp::TextDocumentItem { + uri: lsp::Url::from_file_path("/the-root/test3.json").unwrap(), version: 0, text: rust_buffer2.update(cx, |buffer, _| buffer.text()), language_id: Default::default() @@ -449,11 +445,11 @@ async fn test_managing_language_servers(cx: &mut gpui2::TestAppContext) { rust_buffer2.update(cx, |buffer, cx| buffer.edit([(0..0, "// ")], None, cx)); assert_eq!( fake_json_server - .receive_notification::() + .receive_notification::() .await .text_document, - lsp2::VersionedTextDocumentIdentifier::new( - lsp2::Url::from_file_path("/the-root/test3.json").unwrap(), + lsp::VersionedTextDocumentIdentifier::new( + lsp::Url::from_file_path("/the-root/test3.json").unwrap(), 1 ) ); @@ -467,9 +463,9 @@ async fn test_managing_language_servers(cx: &mut gpui2::TestAppContext) { }); let mut rust_shutdown_requests = fake_rust_server - .handle_request::(|_, _| future::ready(Ok(()))); + .handle_request::(|_, _| future::ready(Ok(()))); let mut json_shutdown_requests = fake_json_server - .handle_request::(|_, _| future::ready(Ok(()))); + .handle_request::(|_, _| future::ready(Ok(()))); futures::join!(rust_shutdown_requests.next(), json_shutdown_requests.next()); let mut fake_rust_server = fake_rust_servers.next().await.unwrap(); @@ -478,11 +474,11 @@ async fn test_managing_language_servers(cx: &mut gpui2::TestAppContext) { // Ensure rust document is reopened in new rust language server assert_eq!( fake_rust_server - .receive_notification::() + .receive_notification::() .await .text_document, - lsp2::TextDocumentItem { - uri: lsp2::Url::from_file_path("/the-root/test.rs").unwrap(), + lsp::TextDocumentItem { + uri: lsp::Url::from_file_path("/the-root/test.rs").unwrap(), version: 0, text: rust_buffer.update(cx, |buffer, _| buffer.text()), language_id: Default::default() @@ -493,23 +489,23 @@ async fn test_managing_language_servers(cx: &mut gpui2::TestAppContext) { assert_set_eq!( [ fake_json_server - .receive_notification::() + .receive_notification::() .await .text_document, fake_json_server - .receive_notification::() + .receive_notification::() .await .text_document, ], [ - lsp2::TextDocumentItem { - uri: lsp2::Url::from_file_path("/the-root/package.json").unwrap(), + lsp::TextDocumentItem { + uri: lsp::Url::from_file_path("/the-root/package.json").unwrap(), version: 0, text: json_buffer.update(cx, |buffer, _| buffer.text()), language_id: Default::default() }, - lsp2::TextDocumentItem { - uri: lsp2::Url::from_file_path("/the-root/test3.json").unwrap(), + lsp::TextDocumentItem { + uri: lsp::Url::from_file_path("/the-root/test3.json").unwrap(), version: 0, text: rust_buffer2.update(cx, |buffer, _| buffer.text()), language_id: Default::default() @@ -519,21 +515,21 @@ async fn test_managing_language_servers(cx: &mut gpui2::TestAppContext) { // Close notifications are reported only to servers matching the buffer's language. cx.update(|_| drop(json_buffer)); - let close_message = lsp2::DidCloseTextDocumentParams { - text_document: lsp2::TextDocumentIdentifier::new( - lsp2::Url::from_file_path("/the-root/package.json").unwrap(), + let close_message = lsp::DidCloseTextDocumentParams { + text_document: lsp::TextDocumentIdentifier::new( + lsp::Url::from_file_path("/the-root/package.json").unwrap(), ), }; assert_eq!( fake_json_server - .receive_notification::() + .receive_notification::() .await, close_message, ); } -#[gpui2::test] -async fn test_reporting_fs_changes_to_language_servers(cx: &mut gpui2::TestAppContext) { +#[gpui::test] +async fn test_reporting_fs_changes_to_language_servers(cx: &mut gpui::TestAppContext) { init_test(cx); let mut language = Language::new( @@ -622,27 +618,27 @@ async fn test_reporting_fs_changes_to_language_servers(cx: &mut gpui2::TestAppCo let fake_server = fake_servers.next().await.unwrap(); let file_changes = Arc::new(Mutex::new(Vec::new())); fake_server - .request::(lsp2::RegistrationParams { - registrations: vec![lsp2::Registration { + .request::(lsp::RegistrationParams { + registrations: vec![lsp::Registration { id: Default::default(), method: "workspace/didChangeWatchedFiles".to_string(), register_options: serde_json::to_value( - lsp2::DidChangeWatchedFilesRegistrationOptions { + lsp::DidChangeWatchedFilesRegistrationOptions { watchers: vec![ - lsp2::FileSystemWatcher { - glob_pattern: lsp2::GlobPattern::String( + lsp::FileSystemWatcher { + glob_pattern: lsp::GlobPattern::String( "/the-root/Cargo.toml".to_string(), ), kind: None, }, - lsp2::FileSystemWatcher { - glob_pattern: lsp2::GlobPattern::String( + lsp::FileSystemWatcher { + glob_pattern: lsp::GlobPattern::String( "/the-root/src/*.{rs,c}".to_string(), ), kind: None, }, - lsp2::FileSystemWatcher { - glob_pattern: lsp2::GlobPattern::String( + lsp::FileSystemWatcher { + glob_pattern: lsp::GlobPattern::String( "/the-root/target/y/**/*.rs".to_string(), ), kind: None, @@ -655,7 +651,7 @@ async fn test_reporting_fs_changes_to_language_servers(cx: &mut gpui2::TestAppCo }) .await .unwrap(); - fake_server.handle_notification::({ + fake_server.handle_notification::({ let file_changes = file_changes.clone(); move |params, _| { let mut file_changes = file_changes.lock(); @@ -718,24 +714,24 @@ async fn test_reporting_fs_changes_to_language_servers(cx: &mut gpui2::TestAppCo assert_eq!( &*file_changes.lock(), &[ - lsp2::FileEvent { - uri: lsp2::Url::from_file_path("/the-root/src/b.rs").unwrap(), - typ: lsp2::FileChangeType::DELETED, + lsp::FileEvent { + uri: lsp::Url::from_file_path("/the-root/src/b.rs").unwrap(), + typ: lsp::FileChangeType::DELETED, }, - lsp2::FileEvent { - uri: lsp2::Url::from_file_path("/the-root/src/c.rs").unwrap(), - typ: lsp2::FileChangeType::CREATED, + lsp::FileEvent { + uri: lsp::Url::from_file_path("/the-root/src/c.rs").unwrap(), + typ: lsp::FileChangeType::CREATED, }, - lsp2::FileEvent { - uri: lsp2::Url::from_file_path("/the-root/target/y/out/y2.rs").unwrap(), - typ: lsp2::FileChangeType::CREATED, + lsp::FileEvent { + uri: lsp::Url::from_file_path("/the-root/target/y/out/y2.rs").unwrap(), + typ: lsp::FileChangeType::CREATED, }, ] ); } -#[gpui2::test] -async fn test_single_file_worktrees_diagnostics(cx: &mut gpui2::TestAppContext) { +#[gpui::test] +async fn test_single_file_worktrees_diagnostics(cx: &mut gpui::TestAppContext) { init_test(cx); let fs = FakeFs::new(cx.executor().clone()); @@ -763,15 +759,12 @@ async fn test_single_file_worktrees_diagnostics(cx: &mut gpui2::TestAppContext) project .update_diagnostics( LanguageServerId(0), - lsp2::PublishDiagnosticsParams { + lsp::PublishDiagnosticsParams { uri: Url::from_file_path("/dir/a.rs").unwrap(), version: None, - diagnostics: vec![lsp2::Diagnostic { - range: lsp2::Range::new( - lsp2::Position::new(0, 4), - lsp2::Position::new(0, 5), - ), - severity: Some(lsp2::DiagnosticSeverity::ERROR), + diagnostics: vec![lsp::Diagnostic { + range: lsp::Range::new(lsp::Position::new(0, 4), lsp::Position::new(0, 5)), + severity: Some(lsp::DiagnosticSeverity::ERROR), message: "error 1".to_string(), ..Default::default() }], @@ -783,15 +776,12 @@ async fn test_single_file_worktrees_diagnostics(cx: &mut gpui2::TestAppContext) project .update_diagnostics( LanguageServerId(0), - lsp2::PublishDiagnosticsParams { + lsp::PublishDiagnosticsParams { uri: Url::from_file_path("/dir/b.rs").unwrap(), version: None, - diagnostics: vec![lsp2::Diagnostic { - range: lsp2::Range::new( - lsp2::Position::new(0, 4), - lsp2::Position::new(0, 5), - ), - severity: Some(lsp2::DiagnosticSeverity::WARNING), + diagnostics: vec![lsp::Diagnostic { + range: lsp::Range::new(lsp::Position::new(0, 4), lsp::Position::new(0, 5)), + severity: Some(lsp::DiagnosticSeverity::WARNING), message: "error 2".to_string(), ..Default::default() }], @@ -832,8 +822,8 @@ async fn test_single_file_worktrees_diagnostics(cx: &mut gpui2::TestAppContext) }); } -#[gpui2::test] -async fn test_hidden_worktrees_diagnostics(cx: &mut gpui2::TestAppContext) { +#[gpui::test] +async fn test_hidden_worktrees_diagnostics(cx: &mut gpui::TestAppContext) { init_test(cx); let fs = FakeFs::new(cx.executor().clone()); @@ -862,15 +852,12 @@ async fn test_hidden_worktrees_diagnostics(cx: &mut gpui2::TestAppContext) { project .update_diagnostics( LanguageServerId(0), - lsp2::PublishDiagnosticsParams { + lsp::PublishDiagnosticsParams { uri: Url::from_file_path("/root/other.rs").unwrap(), version: None, - diagnostics: vec![lsp2::Diagnostic { - range: lsp2::Range::new( - lsp2::Position::new(0, 8), - lsp2::Position::new(0, 9), - ), - severity: Some(lsp2::DiagnosticSeverity::ERROR), + diagnostics: vec![lsp::Diagnostic { + range: lsp::Range::new(lsp::Position::new(0, 8), lsp::Position::new(0, 9)), + severity: Some(lsp::DiagnosticSeverity::ERROR), message: "unknown variable 'c'".to_string(), ..Default::default() }], @@ -906,8 +893,8 @@ async fn test_hidden_worktrees_diagnostics(cx: &mut gpui2::TestAppContext) { }); } -#[gpui2::test] -async fn test_disk_based_diagnostics_progress(cx: &mut gpui2::TestAppContext) { +#[gpui::test] +async fn test_disk_based_diagnostics_progress(cx: &mut gpui::TestAppContext) { init_test(cx); let progress_token = "the-progress-token"; @@ -965,12 +952,12 @@ async fn test_disk_based_diagnostics_progress(cx: &mut gpui2::TestAppContext) { } ); - fake_server.notify::(lsp2::PublishDiagnosticsParams { + fake_server.notify::(lsp::PublishDiagnosticsParams { uri: Url::from_file_path("/dir/a.rs").unwrap(), version: None, - diagnostics: vec![lsp2::Diagnostic { - range: lsp2::Range::new(lsp2::Position::new(0, 9), lsp2::Position::new(0, 10)), - severity: Some(lsp2::DiagnosticSeverity::ERROR), + diagnostics: vec![lsp::Diagnostic { + range: lsp::Range::new(lsp::Position::new(0, 9), lsp::Position::new(0, 10)), + severity: Some(lsp::DiagnosticSeverity::ERROR), message: "undefined variable 'A'".to_string(), ..Default::default() }], @@ -1006,7 +993,7 @@ async fn test_disk_based_diagnostics_progress(cx: &mut gpui2::TestAppContext) { &[DiagnosticEntry { range: Point::new(0, 9)..Point::new(0, 10), diagnostic: Diagnostic { - severity: lsp2::DiagnosticSeverity::ERROR, + severity: lsp::DiagnosticSeverity::ERROR, message: "undefined variable 'A'".to_string(), group_id: 0, is_primary: true, @@ -1017,7 +1004,7 @@ async fn test_disk_based_diagnostics_progress(cx: &mut gpui2::TestAppContext) { }); // Ensure publishing empty diagnostics twice only results in one update event. - fake_server.notify::(lsp2::PublishDiagnosticsParams { + fake_server.notify::(lsp::PublishDiagnosticsParams { uri: Url::from_file_path("/dir/a.rs").unwrap(), version: None, diagnostics: Default::default(), @@ -1030,7 +1017,7 @@ async fn test_disk_based_diagnostics_progress(cx: &mut gpui2::TestAppContext) { } ); - fake_server.notify::(lsp2::PublishDiagnosticsParams { + fake_server.notify::(lsp::PublishDiagnosticsParams { uri: Url::from_file_path("/dir/a.rs").unwrap(), version: None, diagnostics: Default::default(), @@ -1039,8 +1026,8 @@ async fn test_disk_based_diagnostics_progress(cx: &mut gpui2::TestAppContext) { assert_eq!(futures::poll!(events.next()), Poll::Pending); } -#[gpui2::test] -async fn test_restarting_server_with_diagnostics_running(cx: &mut gpui2::TestAppContext) { +#[gpui::test] +async fn test_restarting_server_with_diagnostics_running(cx: &mut gpui::TestAppContext) { init_test(cx); let progress_token = "the-progress-token"; @@ -1121,8 +1108,8 @@ async fn test_restarting_server_with_diagnostics_running(cx: &mut gpui2::TestApp }); } -#[gpui2::test] -async fn test_restarting_server_with_diagnostics_published(cx: &mut gpui2::TestAppContext) { +#[gpui::test] +async fn test_restarting_server_with_diagnostics_published(cx: &mut gpui::TestAppContext) { init_test(cx); let mut language = Language::new( @@ -1151,12 +1138,12 @@ async fn test_restarting_server_with_diagnostics_published(cx: &mut gpui2::TestA // Publish diagnostics let fake_server = fake_servers.next().await.unwrap(); - fake_server.notify::(lsp2::PublishDiagnosticsParams { + fake_server.notify::(lsp::PublishDiagnosticsParams { uri: Url::from_file_path("/dir/a.rs").unwrap(), version: None, - diagnostics: vec![lsp2::Diagnostic { - range: lsp2::Range::new(lsp2::Position::new(0, 0), lsp2::Position::new(0, 0)), - severity: Some(lsp2::DiagnosticSeverity::ERROR), + diagnostics: vec![lsp::Diagnostic { + range: lsp::Range::new(lsp::Position::new(0, 0), lsp::Position::new(0, 0)), + severity: Some(lsp::DiagnosticSeverity::ERROR), message: "the message".to_string(), ..Default::default() }], @@ -1210,8 +1197,8 @@ async fn test_restarting_server_with_diagnostics_published(cx: &mut gpui2::TestA }); } -#[gpui2::test] -async fn test_restarted_server_reporting_invalid_buffer_version(cx: &mut gpui2::TestAppContext) { +#[gpui::test] +async fn test_restarted_server_reporting_invalid_buffer_version(cx: &mut gpui::TestAppContext) { init_test(cx); let mut language = Language::new( @@ -1241,8 +1228,8 @@ async fn test_restarted_server_reporting_invalid_buffer_version(cx: &mut gpui2:: // Before restarting the server, report diagnostics with an unknown buffer version. let fake_server = fake_servers.next().await.unwrap(); - fake_server.notify::(lsp2::PublishDiagnosticsParams { - uri: lsp2::Url::from_file_path("/dir/a.rs").unwrap(), + fake_server.notify::(lsp::PublishDiagnosticsParams { + uri: lsp::Url::from_file_path("/dir/a.rs").unwrap(), version: Some(10000), diagnostics: Vec::new(), }); @@ -1253,14 +1240,14 @@ async fn test_restarted_server_reporting_invalid_buffer_version(cx: &mut gpui2:: }); let mut fake_server = fake_servers.next().await.unwrap(); let notification = fake_server - .receive_notification::() + .receive_notification::() .await .text_document; assert_eq!(notification.version, 0); } -#[gpui2::test] -async fn test_toggling_enable_language_server(cx: &mut gpui2::TestAppContext) { +#[gpui::test] +async fn test_toggling_enable_language_server(cx: &mut gpui::TestAppContext) { init_test(cx); let mut rust = Language::new( @@ -1314,7 +1301,7 @@ async fn test_toggling_enable_language_server(cx: &mut gpui2::TestAppContext) { let mut fake_rust_server_1 = fake_rust_servers.next().await.unwrap(); assert_eq!( fake_rust_server_1 - .receive_notification::() + .receive_notification::() .await .text_document .uri @@ -1325,7 +1312,7 @@ async fn test_toggling_enable_language_server(cx: &mut gpui2::TestAppContext) { let mut fake_js_server = fake_js_servers.next().await.unwrap(); assert_eq!( fake_js_server - .receive_notification::() + .receive_notification::() .await .text_document .uri @@ -1348,7 +1335,7 @@ async fn test_toggling_enable_language_server(cx: &mut gpui2::TestAppContext) { }) }); fake_rust_server_1 - .receive_notification::() + .receive_notification::() .await; // Enable Rust and disable JavaScript language servers, ensuring that the @@ -1376,7 +1363,7 @@ async fn test_toggling_enable_language_server(cx: &mut gpui2::TestAppContext) { let mut fake_rust_server_2 = fake_rust_servers.next().await.unwrap(); assert_eq!( fake_rust_server_2 - .receive_notification::() + .receive_notification::() .await .text_document .uri @@ -1384,12 +1371,12 @@ async fn test_toggling_enable_language_server(cx: &mut gpui2::TestAppContext) { "file:///dir/a.rs" ); fake_js_server - .receive_notification::() + .receive_notification::() .await; } -#[gpui2::test(iterations = 3)] -async fn test_transforming_diagnostics(cx: &mut gpui2::TestAppContext) { +#[gpui::test(iterations = 3)] +async fn test_transforming_diagnostics(cx: &mut gpui::TestAppContext) { init_test(cx); let mut language = Language::new( @@ -1427,37 +1414,37 @@ async fn test_transforming_diagnostics(cx: &mut gpui2::TestAppContext) { let mut fake_server = fake_servers.next().await.unwrap(); let open_notification = fake_server - .receive_notification::() + .receive_notification::() .await; // Edit the buffer, moving the content down buffer.update(cx, |buffer, cx| buffer.edit([(0..0, "\n\n")], None, cx)); let change_notification_1 = fake_server - .receive_notification::() + .receive_notification::() .await; assert!(change_notification_1.text_document.version > open_notification.text_document.version); // Report some diagnostics for the initial version of the buffer - fake_server.notify::(lsp2::PublishDiagnosticsParams { - uri: lsp2::Url::from_file_path("/dir/a.rs").unwrap(), + fake_server.notify::(lsp::PublishDiagnosticsParams { + uri: lsp::Url::from_file_path("/dir/a.rs").unwrap(), version: Some(open_notification.text_document.version), diagnostics: vec![ - lsp2::Diagnostic { - range: lsp2::Range::new(lsp2::Position::new(0, 9), lsp2::Position::new(0, 10)), + lsp::Diagnostic { + range: lsp::Range::new(lsp::Position::new(0, 9), lsp::Position::new(0, 10)), severity: Some(DiagnosticSeverity::ERROR), message: "undefined variable 'A'".to_string(), source: Some("disk".to_string()), ..Default::default() }, - lsp2::Diagnostic { - range: lsp2::Range::new(lsp2::Position::new(1, 9), lsp2::Position::new(1, 11)), + lsp::Diagnostic { + range: lsp::Range::new(lsp::Position::new(1, 9), lsp::Position::new(1, 11)), severity: Some(DiagnosticSeverity::ERROR), message: "undefined variable 'BB'".to_string(), source: Some("disk".to_string()), ..Default::default() }, - lsp2::Diagnostic { - range: lsp2::Range::new(lsp2::Position::new(2, 9), lsp2::Position::new(2, 12)), + lsp::Diagnostic { + range: lsp::Range::new(lsp::Position::new(2, 9), lsp::Position::new(2, 12)), severity: Some(DiagnosticSeverity::ERROR), source: Some("disk".to_string()), message: "undefined variable 'CCC'".to_string(), @@ -1524,19 +1511,19 @@ async fn test_transforming_diagnostics(cx: &mut gpui2::TestAppContext) { }); // Ensure overlapping diagnostics are highlighted correctly. - fake_server.notify::(lsp2::PublishDiagnosticsParams { - uri: lsp2::Url::from_file_path("/dir/a.rs").unwrap(), + fake_server.notify::(lsp::PublishDiagnosticsParams { + uri: lsp::Url::from_file_path("/dir/a.rs").unwrap(), version: Some(open_notification.text_document.version), diagnostics: vec![ - lsp2::Diagnostic { - range: lsp2::Range::new(lsp2::Position::new(0, 9), lsp2::Position::new(0, 10)), + lsp::Diagnostic { + range: lsp::Range::new(lsp::Position::new(0, 9), lsp::Position::new(0, 10)), severity: Some(DiagnosticSeverity::ERROR), message: "undefined variable 'A'".to_string(), source: Some("disk".to_string()), ..Default::default() }, - lsp2::Diagnostic { - range: lsp2::Range::new(lsp2::Position::new(0, 9), lsp2::Position::new(0, 12)), + lsp::Diagnostic { + range: lsp::Range::new(lsp::Position::new(0, 9), lsp::Position::new(0, 12)), severity: Some(DiagnosticSeverity::WARNING), message: "unreachable statement".to_string(), source: Some("disk".to_string()), @@ -1609,26 +1596,26 @@ async fn test_transforming_diagnostics(cx: &mut gpui2::TestAppContext) { buffer.edit([(Point::new(3, 10)..Point::new(3, 10), "xxx")], None, cx); }); let change_notification_2 = fake_server - .receive_notification::() + .receive_notification::() .await; assert!( change_notification_2.text_document.version > change_notification_1.text_document.version ); // Handle out-of-order diagnostics - fake_server.notify::(lsp2::PublishDiagnosticsParams { - uri: lsp2::Url::from_file_path("/dir/a.rs").unwrap(), + fake_server.notify::(lsp::PublishDiagnosticsParams { + uri: lsp::Url::from_file_path("/dir/a.rs").unwrap(), version: Some(change_notification_2.text_document.version), diagnostics: vec![ - lsp2::Diagnostic { - range: lsp2::Range::new(lsp2::Position::new(1, 9), lsp2::Position::new(1, 11)), + lsp::Diagnostic { + range: lsp::Range::new(lsp::Position::new(1, 9), lsp::Position::new(1, 11)), severity: Some(DiagnosticSeverity::ERROR), message: "undefined variable 'BB'".to_string(), source: Some("disk".to_string()), ..Default::default() }, - lsp2::Diagnostic { - range: lsp2::Range::new(lsp2::Position::new(0, 9), lsp2::Position::new(0, 10)), + lsp::Diagnostic { + range: lsp::Range::new(lsp::Position::new(0, 9), lsp::Position::new(0, 10)), severity: Some(DiagnosticSeverity::WARNING), message: "undefined variable 'A'".to_string(), source: Some("disk".to_string()), @@ -1674,8 +1661,8 @@ async fn test_transforming_diagnostics(cx: &mut gpui2::TestAppContext) { }); } -#[gpui2::test] -async fn test_empty_diagnostic_ranges(cx: &mut gpui2::TestAppContext) { +#[gpui::test] +async fn test_empty_diagnostic_ranges(cx: &mut gpui::TestAppContext) { init_test(cx); let text = concat!( @@ -1743,8 +1730,8 @@ async fn test_empty_diagnostic_ranges(cx: &mut gpui2::TestAppContext) { }); } -#[gpui2::test] -async fn test_diagnostics_from_multiple_language_servers(cx: &mut gpui2::TestAppContext) { +#[gpui::test] +async fn test_diagnostics_from_multiple_language_servers(cx: &mut gpui::TestAppContext) { init_test(cx); let fs = FakeFs::new(cx.executor().clone()); @@ -1799,8 +1786,8 @@ async fn test_diagnostics_from_multiple_language_servers(cx: &mut gpui2::TestApp }); } -#[gpui2::test] -async fn test_edits_from_lsp2_with_past_version(cx: &mut gpui2::TestAppContext) { +#[gpui::test] +async fn test_edits_from_lsp2_with_past_version(cx: &mut gpui::TestAppContext) { init_test(cx); let mut language = Language::new( @@ -1844,7 +1831,7 @@ async fn test_edits_from_lsp2_with_past_version(cx: &mut gpui2::TestAppContext) let mut fake_server = fake_servers.next().await.unwrap(); let lsp_document_version = fake_server - .receive_notification::() + .receive_notification::() .await .text_document .version; @@ -1901,11 +1888,8 @@ async fn test_edits_from_lsp2_with_past_version(cx: &mut gpui2::TestAppContext) &buffer, vec![ // replace body of first function - lsp2::TextEdit { - range: lsp2::Range::new( - lsp2::Position::new(0, 0), - lsp2::Position::new(3, 0), - ), + lsp::TextEdit { + range: lsp::Range::new(lsp::Position::new(0, 0), lsp::Position::new(3, 0)), new_text: " fn a() { f10(); @@ -1914,26 +1898,17 @@ async fn test_edits_from_lsp2_with_past_version(cx: &mut gpui2::TestAppContext) .unindent(), }, // edit inside second function - lsp2::TextEdit { - range: lsp2::Range::new( - lsp2::Position::new(4, 6), - lsp2::Position::new(4, 6), - ), + lsp::TextEdit { + range: lsp::Range::new(lsp::Position::new(4, 6), lsp::Position::new(4, 6)), new_text: "00".into(), }, // edit inside third function via two distinct edits - lsp2::TextEdit { - range: lsp2::Range::new( - lsp2::Position::new(7, 5), - lsp2::Position::new(7, 5), - ), + lsp::TextEdit { + range: lsp::Range::new(lsp::Position::new(7, 5), lsp::Position::new(7, 5)), new_text: "4000".into(), }, - lsp2::TextEdit { - range: lsp2::Range::new( - lsp2::Position::new(7, 5), - lsp2::Position::new(7, 6), - ), + lsp::TextEdit { + range: lsp::Range::new(lsp::Position::new(7, 5), lsp::Position::new(7, 6)), new_text: "".into(), }, ], @@ -1969,8 +1944,8 @@ async fn test_edits_from_lsp2_with_past_version(cx: &mut gpui2::TestAppContext) }); } -#[gpui2::test] -async fn test_edits_from_lsp2_with_edits_on_adjacent_lines(cx: &mut gpui2::TestAppContext) { +#[gpui::test] +async fn test_edits_from_lsp2_with_edits_on_adjacent_lines(cx: &mut gpui::TestAppContext) { init_test(cx); let text = " @@ -2007,27 +1982,18 @@ async fn test_edits_from_lsp2_with_edits_on_adjacent_lines(cx: &mut gpui2::TestA &buffer, [ // Replace the first use statement without editing the semicolon. - lsp2::TextEdit { - range: lsp2::Range::new( - lsp2::Position::new(0, 4), - lsp2::Position::new(0, 8), - ), + lsp::TextEdit { + range: lsp::Range::new(lsp::Position::new(0, 4), lsp::Position::new(0, 8)), new_text: "a::{b, c}".into(), }, // Reinsert the remainder of the file between the semicolon and the final // newline of the file. - lsp2::TextEdit { - range: lsp2::Range::new( - lsp2::Position::new(0, 9), - lsp2::Position::new(0, 9), - ), + lsp::TextEdit { + range: lsp::Range::new(lsp::Position::new(0, 9), lsp::Position::new(0, 9)), new_text: "\n\n".into(), }, - lsp2::TextEdit { - range: lsp2::Range::new( - lsp2::Position::new(0, 9), - lsp2::Position::new(0, 9), - ), + lsp::TextEdit { + range: lsp::Range::new(lsp::Position::new(0, 9), lsp::Position::new(0, 9)), new_text: " fn f() { b(); @@ -2036,11 +2002,8 @@ async fn test_edits_from_lsp2_with_edits_on_adjacent_lines(cx: &mut gpui2::TestA .unindent(), }, // Delete everything after the first newline of the file. - lsp2::TextEdit { - range: lsp2::Range::new( - lsp2::Position::new(1, 0), - lsp2::Position::new(7, 0), - ), + lsp::TextEdit { + range: lsp::Range::new(lsp::Position::new(1, 0), lsp::Position::new(7, 0)), new_text: "".into(), }, ], @@ -2089,8 +2052,8 @@ async fn test_edits_from_lsp2_with_edits_on_adjacent_lines(cx: &mut gpui2::TestA }); } -#[gpui2::test] -async fn test_invalid_edits_from_lsp2(cx: &mut gpui2::TestAppContext) { +#[gpui::test] +async fn test_invalid_edits_from_lsp2(cx: &mut gpui::TestAppContext) { init_test(cx); let text = " @@ -2126,32 +2089,20 @@ async fn test_invalid_edits_from_lsp2(cx: &mut gpui2::TestAppContext) { project.edits_from_lsp( &buffer, [ - lsp2::TextEdit { - range: lsp2::Range::new( - lsp2::Position::new(0, 9), - lsp2::Position::new(0, 9), - ), + lsp::TextEdit { + range: lsp::Range::new(lsp::Position::new(0, 9), lsp::Position::new(0, 9)), new_text: "\n\n".into(), }, - lsp2::TextEdit { - range: lsp2::Range::new( - lsp2::Position::new(0, 8), - lsp2::Position::new(0, 4), - ), + lsp::TextEdit { + range: lsp::Range::new(lsp::Position::new(0, 8), lsp::Position::new(0, 4)), new_text: "a::{b, c}".into(), }, - lsp2::TextEdit { - range: lsp2::Range::new( - lsp2::Position::new(1, 0), - lsp2::Position::new(99, 0), - ), + lsp::TextEdit { + range: lsp::Range::new(lsp::Position::new(1, 0), lsp::Position::new(99, 0)), new_text: "".into(), }, - lsp2::TextEdit { - range: lsp2::Range::new( - lsp2::Position::new(0, 9), - lsp2::Position::new(0, 9), - ), + lsp::TextEdit { + range: lsp::Range::new(lsp::Position::new(0, 9), lsp::Position::new(0, 9)), new_text: " fn f() { b(); @@ -2222,8 +2173,8 @@ fn chunks_with_diagnostics( chunks } -#[gpui2::test(iterations = 10)] -async fn test_definition(cx: &mut gpui2::TestAppContext) { +#[gpui::test(iterations = 10)] +async fn test_definition(cx: &mut gpui::TestAppContext) { init_test(cx); let mut language = Language::new( @@ -2255,18 +2206,18 @@ async fn test_definition(cx: &mut gpui2::TestAppContext) { .unwrap(); let fake_server = fake_servers.next().await.unwrap(); - fake_server.handle_request::(|params, _| async move { + fake_server.handle_request::(|params, _| async move { let params = params.text_document_position_params; assert_eq!( params.text_document.uri.to_file_path().unwrap(), Path::new("/dir/b.rs"), ); - assert_eq!(params.position, lsp2::Position::new(0, 22)); + assert_eq!(params.position, lsp::Position::new(0, 22)); - Ok(Some(lsp2::GotoDefinitionResponse::Scalar( - lsp2::Location::new( - lsp2::Url::from_file_path("/dir/a.rs").unwrap(), - lsp2::Range::new(lsp2::Position::new(0, 9), lsp2::Position::new(0, 10)), + Ok(Some(lsp::GotoDefinitionResponse::Scalar( + lsp::Location::new( + lsp::Url::from_file_path("/dir/a.rs").unwrap(), + lsp::Range::new(lsp::Position::new(0, 9), lsp::Position::new(0, 10)), ), ))) }); @@ -2323,8 +2274,8 @@ async fn test_definition(cx: &mut gpui2::TestAppContext) { } } -#[gpui2::test] -async fn test_completions_without_edit_ranges(cx: &mut gpui2::TestAppContext) { +#[gpui::test] +async fn test_completions_without_edit_ranges(cx: &mut gpui::TestAppContext) { init_test(cx); let mut language = Language::new( @@ -2337,8 +2288,8 @@ async fn test_completions_without_edit_ranges(cx: &mut gpui2::TestAppContext) { ); let mut fake_language_servers = language .set_fake_lsp_adapter(Arc::new(FakeLspAdapter { - capabilities: lsp2::ServerCapabilities { - completion_provider: Some(lsp2::CompletionOptions { + capabilities: lsp::ServerCapabilities { + completion_provider: Some(lsp::CompletionOptions { trigger_characters: Some(vec![":".to_string()]), ..Default::default() }), @@ -2373,9 +2324,9 @@ async fn test_completions_without_edit_ranges(cx: &mut gpui2::TestAppContext) { }); fake_server - .handle_request::(|_, _| async move { - Ok(Some(lsp2::CompletionResponse::Array(vec![ - lsp2::CompletionItem { + .handle_request::(|_, _| async move { + Ok(Some(lsp::CompletionResponse::Array(vec![ + lsp::CompletionItem { label: "fullyQualifiedName?".into(), insert_text: Some("fullyQualifiedName".into()), ..Default::default() @@ -2400,9 +2351,9 @@ async fn test_completions_without_edit_ranges(cx: &mut gpui2::TestAppContext) { }); fake_server - .handle_request::(|_, _| async move { - Ok(Some(lsp2::CompletionResponse::Array(vec![ - lsp2::CompletionItem { + .handle_request::(|_, _| async move { + Ok(Some(lsp::CompletionResponse::Array(vec![ + lsp::CompletionItem { label: "component".into(), ..Default::default() }, @@ -2420,8 +2371,8 @@ async fn test_completions_without_edit_ranges(cx: &mut gpui2::TestAppContext) { ); } -#[gpui2::test] -async fn test_completions_with_carriage_returns(cx: &mut gpui2::TestAppContext) { +#[gpui::test] +async fn test_completions_with_carriage_returns(cx: &mut gpui::TestAppContext) { init_test(cx); let mut language = Language::new( @@ -2434,8 +2385,8 @@ async fn test_completions_with_carriage_returns(cx: &mut gpui2::TestAppContext) ); let mut fake_language_servers = language .set_fake_lsp_adapter(Arc::new(FakeLspAdapter { - capabilities: lsp2::ServerCapabilities { - completion_provider: Some(lsp2::CompletionOptions { + capabilities: lsp::ServerCapabilities { + completion_provider: Some(lsp::CompletionOptions { trigger_characters: Some(vec![":".to_string()]), ..Default::default() }), @@ -2470,9 +2421,9 @@ async fn test_completions_with_carriage_returns(cx: &mut gpui2::TestAppContext) }); fake_server - .handle_request::(|_, _| async move { - Ok(Some(lsp2::CompletionResponse::Array(vec![ - lsp2::CompletionItem { + .handle_request::(|_, _| async move { + Ok(Some(lsp::CompletionResponse::Array(vec![ + lsp::CompletionItem { label: "fullyQualifiedName?".into(), insert_text: Some("fully\rQualified\r\nName".into()), ..Default::default() @@ -2486,8 +2437,8 @@ async fn test_completions_with_carriage_returns(cx: &mut gpui2::TestAppContext) assert_eq!(completions[0].new_text, "fully\nQualified\nName"); } -#[gpui2::test(iterations = 10)] -async fn test_apply_code_actions_with_commands(cx: &mut gpui2::TestAppContext) { +#[gpui::test(iterations = 10)] +async fn test_apply_code_actions_with_commands(cx: &mut gpui::TestAppContext) { init_test(cx); let mut language = Language::new( @@ -2521,18 +2472,18 @@ async fn test_apply_code_actions_with_commands(cx: &mut gpui2::TestAppContext) { // Language server returns code actions that contain commands, and not edits. let actions = project.update(cx, |project, cx| project.code_actions(&buffer, 0..0, cx)); fake_server - .handle_request::(|_, _| async move { + .handle_request::(|_, _| async move { Ok(Some(vec![ - lsp2::CodeActionOrCommand::CodeAction(lsp2::CodeAction { + lsp::CodeActionOrCommand::CodeAction(lsp::CodeAction { title: "The code action".into(), - command: Some(lsp2::Command { + command: Some(lsp::Command { title: "The command".into(), command: "_the/command".into(), arguments: Some(vec![json!("the-argument")]), }), ..Default::default() }), - lsp2::CodeActionOrCommand::CodeAction(lsp2::CodeAction { + lsp::CodeActionOrCommand::CodeAction(lsp::CodeAction { title: "two".into(), ..Default::default() }), @@ -2548,31 +2499,31 @@ async fn test_apply_code_actions_with_commands(cx: &mut gpui2::TestAppContext) { // Resolving the code action does not populate its edits. In absence of // edits, we must execute the given command. - fake_server.handle_request::( + fake_server.handle_request::( |action, _| async move { Ok(action) }, ); // While executing the command, the language server sends the editor // a `workspaceEdit` request. fake_server - .handle_request::({ + .handle_request::({ let fake = fake_server.clone(); move |params, _| { assert_eq!(params.command, "_the/command"); let fake = fake.clone(); async move { fake.server - .request::( - lsp2::ApplyWorkspaceEditParams { + .request::( + lsp::ApplyWorkspaceEditParams { label: None, - edit: lsp2::WorkspaceEdit { + edit: lsp::WorkspaceEdit { changes: Some( [( - lsp2::Url::from_file_path("/dir/a.ts").unwrap(), - vec![lsp2::TextEdit { - range: lsp2::Range::new( - lsp2::Position::new(0, 0), - lsp2::Position::new(0, 0), + lsp::Url::from_file_path("/dir/a.ts").unwrap(), + vec![lsp::TextEdit { + range: lsp::Range::new( + lsp::Position::new(0, 0), + lsp::Position::new(0, 0), ), new_text: "X".into(), }], @@ -2604,8 +2555,8 @@ async fn test_apply_code_actions_with_commands(cx: &mut gpui2::TestAppContext) { }); } -#[gpui2::test(iterations = 10)] -async fn test_save_file(cx: &mut gpui2::TestAppContext) { +#[gpui::test(iterations = 10)] +async fn test_save_file(cx: &mut gpui::TestAppContext) { init_test(cx); let fs = FakeFs::new(cx.executor().clone()); @@ -2636,8 +2587,8 @@ async fn test_save_file(cx: &mut gpui2::TestAppContext) { assert_eq!(new_text, buffer.update(cx, |buffer, _| buffer.text())); } -#[gpui2::test] -async fn test_save_in_single_file_worktree(cx: &mut gpui2::TestAppContext) { +#[gpui::test] +async fn test_save_in_single_file_worktree(cx: &mut gpui::TestAppContext) { init_test(cx); let fs = FakeFs::new(cx.executor().clone()); @@ -2667,8 +2618,8 @@ async fn test_save_in_single_file_worktree(cx: &mut gpui2::TestAppContext) { assert_eq!(new_text, buffer.update(cx, |buffer, _| buffer.text())); } -#[gpui2::test] -async fn test_save_as(cx: &mut gpui2::TestAppContext) { +#[gpui::test] +async fn test_save_as(cx: &mut gpui::TestAppContext) { init_test(cx); let fs = FakeFs::new(cx.executor().clone()); @@ -2726,8 +2677,8 @@ async fn test_save_as(cx: &mut gpui2::TestAppContext) { assert_eq!(opened_buffer, buffer); } -#[gpui2::test(retries = 5)] -async fn test_rescan_and_remote_updates(cx: &mut gpui2::TestAppContext) { +#[gpui::test(retries = 5)] +async fn test_rescan_and_remote_updates(cx: &mut gpui::TestAppContext) { init_test(cx); cx.executor().allow_parking(); @@ -2748,11 +2699,11 @@ async fn test_rescan_and_remote_updates(cx: &mut gpui2::TestAppContext) { let project = Project::test(Arc::new(RealFs), [dir.path()], cx).await; let rpc = project.update(cx, |p, _| p.client.clone()); - let buffer_for_path = |path: &'static str, cx: &mut gpui2::TestAppContext| { + let buffer_for_path = |path: &'static str, cx: &mut gpui::TestAppContext| { let buffer = project.update(cx, |p, cx| p.open_local_buffer(dir.path().join(path), cx)); async move { buffer.await.unwrap() } }; - let id_for_path = |path: &'static str, cx: &mut gpui2::TestAppContext| { + let id_for_path = |path: &'static str, cx: &mut gpui::TestAppContext| { project.update(cx, |project, cx| { let tree = project.worktrees().next().unwrap(); tree.read(cx) @@ -2875,8 +2826,8 @@ async fn test_rescan_and_remote_updates(cx: &mut gpui2::TestAppContext) { }); } -#[gpui2::test(iterations = 10)] -async fn test_buffer_identity_across_renames(cx: &mut gpui2::TestAppContext) { +#[gpui::test(iterations = 10)] +async fn test_buffer_identity_across_renames(cx: &mut gpui::TestAppContext) { init_test(cx); let fs = FakeFs::new(cx.executor().clone()); @@ -2894,7 +2845,7 @@ async fn test_buffer_identity_across_renames(cx: &mut gpui2::TestAppContext) { let tree = project.update(cx, |project, _| project.worktrees().next().unwrap()); let tree_id = tree.update(cx, |tree, _| tree.id()); - let id_for_path = |path: &'static str, cx: &mut gpui2::TestAppContext| { + let id_for_path = |path: &'static str, cx: &mut gpui::TestAppContext| { project.update(cx, |project, cx| { let tree = project.worktrees().next().unwrap(); tree.read(cx) @@ -2926,8 +2877,8 @@ async fn test_buffer_identity_across_renames(cx: &mut gpui2::TestAppContext) { buffer.update(cx, |buffer, _| assert!(!buffer.is_dirty())); } -#[gpui2::test] -async fn test_buffer_deduping(cx: &mut gpui2::TestAppContext) { +#[gpui::test] +async fn test_buffer_deduping(cx: &mut gpui::TestAppContext) { init_test(cx); let fs = FakeFs::new(cx.executor().clone()); @@ -2972,8 +2923,8 @@ async fn test_buffer_deduping(cx: &mut gpui2::TestAppContext) { assert_eq!(buffer_a_3.entity_id(), buffer_a_id); } -#[gpui2::test] -async fn test_buffer_is_dirty(cx: &mut gpui2::TestAppContext) { +#[gpui::test] +async fn test_buffer_is_dirty(cx: &mut gpui::TestAppContext) { init_test(cx); let fs = FakeFs::new(cx.executor().clone()); @@ -3018,7 +2969,7 @@ async fn test_buffer_is_dirty(cx: &mut gpui2::TestAppContext) { assert!(buffer.is_dirty()); assert_eq!( *events.lock(), - &[language2::Event::Edited, language2::Event::DirtyChanged] + &[language::Event::Edited, language::Event::DirtyChanged] ); events.lock().clear(); buffer.did_save( @@ -3032,7 +2983,7 @@ async fn test_buffer_is_dirty(cx: &mut gpui2::TestAppContext) { // after saving, the buffer is not dirty, and emits a saved event. buffer1.update(cx, |buffer, cx| { assert!(!buffer.is_dirty()); - assert_eq!(*events.lock(), &[language2::Event::Saved]); + assert_eq!(*events.lock(), &[language::Event::Saved]); events.lock().clear(); buffer.edit([(1..1, "B")], None, cx); @@ -3046,9 +2997,9 @@ async fn test_buffer_is_dirty(cx: &mut gpui2::TestAppContext) { assert_eq!( *events.lock(), &[ - language2::Event::Edited, - language2::Event::DirtyChanged, - language2::Event::Edited, + language::Event::Edited, + language::Event::DirtyChanged, + language::Event::Edited, ], ); events.lock().clear(); @@ -3062,7 +3013,7 @@ async fn test_buffer_is_dirty(cx: &mut gpui2::TestAppContext) { assert_eq!( *events.lock(), - &[language2::Event::Edited, language2::Event::DirtyChanged] + &[language::Event::Edited, language::Event::DirtyChanged] ); // When a file is deleted, the buffer is considered dirty. @@ -3087,8 +3038,8 @@ async fn test_buffer_is_dirty(cx: &mut gpui2::TestAppContext) { assert_eq!( *events.lock(), &[ - language2::Event::DirtyChanged, - language2::Event::FileHandleChanged + language::Event::DirtyChanged, + language::Event::FileHandleChanged ] ); @@ -3114,12 +3065,12 @@ async fn test_buffer_is_dirty(cx: &mut gpui2::TestAppContext) { .await .unwrap(); cx.executor().run_until_parked(); - assert_eq!(*events.lock(), &[language2::Event::FileHandleChanged]); + assert_eq!(*events.lock(), &[language::Event::FileHandleChanged]); cx.update(|cx| assert!(buffer3.read(cx).is_dirty())); } -#[gpui2::test] -async fn test_buffer_file_changes_on_disk(cx: &mut gpui2::TestAppContext) { +#[gpui::test] +async fn test_buffer_file_changes_on_disk(cx: &mut gpui::TestAppContext) { init_test(cx); let initial_contents = "aaa\nbbbbb\nc\n"; @@ -3199,8 +3150,8 @@ async fn test_buffer_file_changes_on_disk(cx: &mut gpui2::TestAppContext) { }); } -#[gpui2::test] -async fn test_buffer_line_endings(cx: &mut gpui2::TestAppContext) { +#[gpui::test] +async fn test_buffer_line_endings(cx: &mut gpui::TestAppContext) { init_test(cx); let fs = FakeFs::new(cx.executor().clone()); @@ -3261,8 +3212,8 @@ async fn test_buffer_line_endings(cx: &mut gpui2::TestAppContext) { ); } -#[gpui2::test] -async fn test_grouped_diagnostics(cx: &mut gpui2::TestAppContext) { +#[gpui::test] +async fn test_grouped_diagnostics(cx: &mut gpui::TestAppContext) { init_test(cx); let fs = FakeFs::new(cx.executor().clone()); @@ -3288,62 +3239,56 @@ async fn test_grouped_diagnostics(cx: &mut gpui2::TestAppContext) { .unwrap(); let buffer_uri = Url::from_file_path("/the-dir/a.rs").unwrap(); - let message = lsp2::PublishDiagnosticsParams { + let message = lsp::PublishDiagnosticsParams { uri: buffer_uri.clone(), diagnostics: vec![ - lsp2::Diagnostic { - range: lsp2::Range::new(lsp2::Position::new(1, 8), lsp2::Position::new(1, 9)), + lsp::Diagnostic { + range: lsp::Range::new(lsp::Position::new(1, 8), lsp::Position::new(1, 9)), severity: Some(DiagnosticSeverity::WARNING), message: "error 1".to_string(), - related_information: Some(vec![lsp2::DiagnosticRelatedInformation { - location: lsp2::Location { + related_information: Some(vec![lsp::DiagnosticRelatedInformation { + location: lsp::Location { uri: buffer_uri.clone(), - range: lsp2::Range::new( - lsp2::Position::new(1, 8), - lsp2::Position::new(1, 9), - ), + range: lsp::Range::new(lsp::Position::new(1, 8), lsp::Position::new(1, 9)), }, message: "error 1 hint 1".to_string(), }]), ..Default::default() }, - lsp2::Diagnostic { - range: lsp2::Range::new(lsp2::Position::new(1, 8), lsp2::Position::new(1, 9)), + lsp::Diagnostic { + range: lsp::Range::new(lsp::Position::new(1, 8), lsp::Position::new(1, 9)), severity: Some(DiagnosticSeverity::HINT), message: "error 1 hint 1".to_string(), - related_information: Some(vec![lsp2::DiagnosticRelatedInformation { - location: lsp2::Location { + related_information: Some(vec![lsp::DiagnosticRelatedInformation { + location: lsp::Location { uri: buffer_uri.clone(), - range: lsp2::Range::new( - lsp2::Position::new(1, 8), - lsp2::Position::new(1, 9), - ), + range: lsp::Range::new(lsp::Position::new(1, 8), lsp::Position::new(1, 9)), }, message: "original diagnostic".to_string(), }]), ..Default::default() }, - lsp2::Diagnostic { - range: lsp2::Range::new(lsp2::Position::new(2, 8), lsp2::Position::new(2, 17)), + lsp::Diagnostic { + range: lsp::Range::new(lsp::Position::new(2, 8), lsp::Position::new(2, 17)), severity: Some(DiagnosticSeverity::ERROR), message: "error 2".to_string(), related_information: Some(vec![ - lsp2::DiagnosticRelatedInformation { - location: lsp2::Location { + lsp::DiagnosticRelatedInformation { + location: lsp::Location { uri: buffer_uri.clone(), - range: lsp2::Range::new( - lsp2::Position::new(1, 13), - lsp2::Position::new(1, 15), + range: lsp::Range::new( + lsp::Position::new(1, 13), + lsp::Position::new(1, 15), ), }, message: "error 2 hint 1".to_string(), }, - lsp2::DiagnosticRelatedInformation { - location: lsp2::Location { + lsp::DiagnosticRelatedInformation { + location: lsp::Location { uri: buffer_uri.clone(), - range: lsp2::Range::new( - lsp2::Position::new(1, 13), - lsp2::Position::new(1, 15), + range: lsp::Range::new( + lsp::Position::new(1, 13), + lsp::Position::new(1, 15), ), }, message: "error 2 hint 2".to_string(), @@ -3351,33 +3296,27 @@ async fn test_grouped_diagnostics(cx: &mut gpui2::TestAppContext) { ]), ..Default::default() }, - lsp2::Diagnostic { - range: lsp2::Range::new(lsp2::Position::new(1, 13), lsp2::Position::new(1, 15)), + lsp::Diagnostic { + range: lsp::Range::new(lsp::Position::new(1, 13), lsp::Position::new(1, 15)), severity: Some(DiagnosticSeverity::HINT), message: "error 2 hint 1".to_string(), - related_information: Some(vec![lsp2::DiagnosticRelatedInformation { - location: lsp2::Location { + related_information: Some(vec![lsp::DiagnosticRelatedInformation { + location: lsp::Location { uri: buffer_uri.clone(), - range: lsp2::Range::new( - lsp2::Position::new(2, 8), - lsp2::Position::new(2, 17), - ), + range: lsp::Range::new(lsp::Position::new(2, 8), lsp::Position::new(2, 17)), }, message: "original diagnostic".to_string(), }]), ..Default::default() }, - lsp2::Diagnostic { - range: lsp2::Range::new(lsp2::Position::new(1, 13), lsp2::Position::new(1, 15)), + lsp::Diagnostic { + range: lsp::Range::new(lsp::Position::new(1, 13), lsp::Position::new(1, 15)), severity: Some(DiagnosticSeverity::HINT), message: "error 2 hint 2".to_string(), - related_information: Some(vec![lsp2::DiagnosticRelatedInformation { - location: lsp2::Location { + related_information: Some(vec![lsp::DiagnosticRelatedInformation { + location: lsp::Location { uri: buffer_uri, - range: lsp2::Range::new( - lsp2::Position::new(2, 8), - lsp2::Position::new(2, 17), - ), + range: lsp::Range::new(lsp::Position::new(2, 8), lsp::Position::new(2, 17)), }, message: "original diagnostic".to_string(), }]), @@ -3515,8 +3454,8 @@ async fn test_grouped_diagnostics(cx: &mut gpui2::TestAppContext) { ); } -#[gpui2::test] -async fn test_rename(cx: &mut gpui2::TestAppContext) { +#[gpui::test] +async fn test_rename(cx: &mut gpui::TestAppContext) { init_test(cx); let mut language = Language::new( @@ -3529,8 +3468,8 @@ async fn test_rename(cx: &mut gpui2::TestAppContext) { ); let mut fake_servers = language .set_fake_lsp_adapter(Arc::new(FakeLspAdapter { - capabilities: lsp2::ServerCapabilities { - rename_provider: Some(lsp2::OneOf::Right(lsp2::RenameOptions { + capabilities: lsp::ServerCapabilities { + rename_provider: Some(lsp::OneOf::Right(lsp::RenameOptions { prepare_provider: Some(true), work_done_progress_options: Default::default(), })), @@ -3565,12 +3504,12 @@ async fn test_rename(cx: &mut gpui2::TestAppContext) { project.prepare_rename(buffer.clone(), 7, cx) }); fake_server - .handle_request::(|params, _| async move { + .handle_request::(|params, _| async move { assert_eq!(params.text_document.uri.as_str(), "file:///dir/one.rs"); - assert_eq!(params.position, lsp2::Position::new(0, 7)); - Ok(Some(lsp2::PrepareRenameResponse::Range(lsp2::Range::new( - lsp2::Position::new(0, 6), - lsp2::Position::new(0, 9), + assert_eq!(params.position, lsp::Position::new(0, 7)); + Ok(Some(lsp::PrepareRenameResponse::Range(lsp::Range::new( + lsp::Position::new(0, 6), + lsp::Position::new(0, 9), )))) }) .next() @@ -3584,43 +3523,40 @@ async fn test_rename(cx: &mut gpui2::TestAppContext) { project.perform_rename(buffer.clone(), 7, "THREE".to_string(), true, cx) }); fake_server - .handle_request::(|params, _| async move { + .handle_request::(|params, _| async move { assert_eq!( params.text_document_position.text_document.uri.as_str(), "file:///dir/one.rs" ); assert_eq!( params.text_document_position.position, - lsp2::Position::new(0, 7) + lsp::Position::new(0, 7) ); assert_eq!(params.new_name, "THREE"); - Ok(Some(lsp2::WorkspaceEdit { + Ok(Some(lsp::WorkspaceEdit { changes: Some( [ ( - lsp2::Url::from_file_path("/dir/one.rs").unwrap(), - vec![lsp2::TextEdit::new( - lsp2::Range::new( - lsp2::Position::new(0, 6), - lsp2::Position::new(0, 9), - ), + lsp::Url::from_file_path("/dir/one.rs").unwrap(), + vec![lsp::TextEdit::new( + lsp::Range::new(lsp::Position::new(0, 6), lsp::Position::new(0, 9)), "THREE".to_string(), )], ), ( - lsp2::Url::from_file_path("/dir/two.rs").unwrap(), + lsp::Url::from_file_path("/dir/two.rs").unwrap(), vec![ - lsp2::TextEdit::new( - lsp2::Range::new( - lsp2::Position::new(0, 24), - lsp2::Position::new(0, 27), + lsp::TextEdit::new( + lsp::Range::new( + lsp::Position::new(0, 24), + lsp::Position::new(0, 27), ), "THREE".to_string(), ), - lsp2::TextEdit::new( - lsp2::Range::new( - lsp2::Position::new(0, 35), - lsp2::Position::new(0, 38), + lsp::TextEdit::new( + lsp::Range::new( + lsp::Position::new(0, 35), + lsp::Position::new(0, 38), ), "THREE".to_string(), ), @@ -3656,8 +3592,8 @@ async fn test_rename(cx: &mut gpui2::TestAppContext) { ); } -#[gpui2::test] -async fn test_search(cx: &mut gpui2::TestAppContext) { +#[gpui::test] +async fn test_search(cx: &mut gpui::TestAppContext) { init_test(cx); let fs = FakeFs::new(cx.executor().clone()); @@ -3713,8 +3649,8 @@ async fn test_search(cx: &mut gpui2::TestAppContext) { ); } -#[gpui2::test] -async fn test_search_with_inclusions(cx: &mut gpui2::TestAppContext) { +#[gpui::test] +async fn test_search_with_inclusions(cx: &mut gpui::TestAppContext) { init_test(cx); let search_query = "file"; @@ -3825,8 +3761,8 @@ async fn test_search_with_inclusions(cx: &mut gpui2::TestAppContext) { ); } -#[gpui2::test] -async fn test_search_with_exclusions(cx: &mut gpui2::TestAppContext) { +#[gpui::test] +async fn test_search_with_exclusions(cx: &mut gpui::TestAppContext) { init_test(cx); let search_query = "file"; @@ -3936,8 +3872,8 @@ async fn test_search_with_exclusions(cx: &mut gpui2::TestAppContext) { ); } -#[gpui2::test] -async fn test_search_with_exclusions_and_inclusions(cx: &mut gpui2::TestAppContext) { +#[gpui::test] +async fn test_search_with_exclusions_and_inclusions(cx: &mut gpui::TestAppContext) { init_test(cx); let search_query = "file"; @@ -4057,7 +3993,7 @@ fn test_glob_literal_prefix() { async fn search( project: &Model, query: SearchQuery, - cx: &mut gpui2::TestAppContext, + cx: &mut gpui::TestAppContext, ) -> Result>>> { let mut search_rx = project.update(cx, |project, cx| project.search(query, cx)); let mut result = HashMap::default(); @@ -4079,7 +4015,7 @@ async fn search( .collect()) } -fn init_test(cx: &mut gpui2::TestAppContext) { +fn init_test(cx: &mut gpui::TestAppContext) { if std::env::var("RUST_LOG").is_ok() { env_logger::init(); } @@ -4087,7 +4023,7 @@ fn init_test(cx: &mut gpui2::TestAppContext) { cx.update(|cx| { let settings_store = SettingsStore::test(cx); cx.set_global(settings_store); - language2::init(cx); + language::init(cx); Project::init_settings(cx); }); } diff --git a/crates/project2/src/search.rs b/crates/project2/src/search.rs index 9af13c7732..46dd30c8a0 100644 --- a/crates/project2/src/search.rs +++ b/crates/project2/src/search.rs @@ -1,9 +1,9 @@ use aho_corasick::{AhoCorasick, AhoCorasickBuilder}; use anyhow::{Context, Result}; -use client2::proto; +use client::proto; use globset::{Glob, GlobMatcher}; use itertools::Itertools; -use language2::{char_kind, BufferSnapshot}; +use language::{char_kind, BufferSnapshot}; use regex::{Regex, RegexBuilder}; use smol::future::yield_now; use std::{ diff --git a/crates/project2/src/terminals.rs b/crates/project2/src/terminals.rs index ce89914dc6..1bf69aa8b5 100644 --- a/crates/project2/src/terminals.rs +++ b/crates/project2/src/terminals.rs @@ -1,8 +1,8 @@ use crate::Project; -use gpui2::{AnyWindowHandle, Context, Entity, Model, ModelContext, WeakModel}; -use settings2::Settings; +use gpui::{AnyWindowHandle, Context, Entity, Model, ModelContext, WeakModel}; +use settings::Settings; use std::path::{Path, PathBuf}; -use terminal2::{ +use terminal::{ terminal_settings::{self, TerminalSettings, VenvSettingsContent}, Terminal, TerminalBuilder, }; @@ -11,7 +11,7 @@ use terminal2::{ use std::os::unix::ffi::OsStrExt; pub struct Terminals { - pub(crate) local_handles: Vec>, + pub(crate) local_handles: Vec>, } impl Project { @@ -121,7 +121,7 @@ impl Project { } } - pub fn local_terminal_handles(&self) -> &Vec> { + pub fn local_terminal_handles(&self) -> &Vec> { &self.terminals.local_handles } } diff --git a/crates/project2/src/worktree.rs b/crates/project2/src/worktree.rs index 060fefe6b3..937a549a31 100644 --- a/crates/project2/src/worktree.rs +++ b/crates/project2/src/worktree.rs @@ -3,10 +3,10 @@ use crate::{ }; use ::ignore::gitignore::{Gitignore, GitignoreBuilder}; use anyhow::{anyhow, Context as _, Result}; -use client2::{proto, Client}; +use client::{proto, Client}; use clock::ReplicaId; use collections::{HashMap, HashSet, VecDeque}; -use fs2::{ +use fs::{ repository::{GitFileStatus, GitRepository, RepoPath}, Fs, }; @@ -19,20 +19,20 @@ use futures::{ task::Poll, FutureExt as _, Stream, StreamExt, }; -use fuzzy2::CharBag; +use fuzzy::CharBag; use git::{DOT_GIT, GITIGNORE}; -use gpui2::{ +use gpui::{ AppContext, AsyncAppContext, BackgroundExecutor, Context, EventEmitter, Model, ModelContext, Task, }; -use language2::{ +use language::{ proto::{ deserialize_fingerprint, deserialize_version, serialize_fingerprint, serialize_line_ending, serialize_version, }, Buffer, DiagnosticEntry, File as _, LineEnding, PointUtf16, Rope, RopeFingerprint, Unclipped, }; -use lsp2::LanguageServerId; +use lsp::LanguageServerId; use parking_lot::Mutex; use postage::{ barrier, @@ -2587,8 +2587,8 @@ pub struct File { pub(crate) is_deleted: bool, } -impl language2::File for File { - fn as_local(&self) -> Option<&dyn language2::LocalFile> { +impl language::File for File { + fn as_local(&self) -> Option<&dyn language::LocalFile> { if self.is_local { Some(self) } else { @@ -2648,8 +2648,8 @@ impl language2::File for File { self } - fn to_proto(&self) -> rpc2::proto::File { - rpc2::proto::File { + fn to_proto(&self) -> rpc::proto::File { + rpc::proto::File { worktree_id: self.worktree.entity_id().as_u64(), entry_id: self.entry_id.to_proto(), path: self.path.to_string_lossy().into(), @@ -2659,7 +2659,7 @@ impl language2::File for File { } } -impl language2::LocalFile for File { +impl language::LocalFile for File { fn abs_path(&self, cx: &AppContext) -> PathBuf { let worktree_path = &self.worktree.read(cx).as_local().unwrap().abs_path; if self.path.as_ref() == Path::new("") { @@ -2716,7 +2716,7 @@ impl File { } pub fn from_proto( - proto: rpc2::proto::File, + proto: rpc::proto::File, worktree: Model, cx: &AppContext, ) -> Result { @@ -2740,7 +2740,7 @@ impl File { }) } - pub fn from_dyn(file: Option<&Arc>) -> Option<&Self> { + pub fn from_dyn(file: Option<&Arc>) -> Option<&Self> { file.and_then(|f| f.as_any().downcast_ref()) } @@ -2818,7 +2818,7 @@ pub type UpdatedGitRepositoriesSet = Arc<[(Arc, GitRepositoryChange)]>; impl Entry { fn new( path: Arc, - metadata: &fs2::Metadata, + metadata: &fs::Metadata, next_entry_id: &AtomicUsize, root_char_bag: CharBag, ) -> Self { @@ -4037,7 +4037,7 @@ pub trait WorktreeModelHandle { #[cfg(any(test, feature = "test-support"))] fn flush_fs_events<'a>( &self, - cx: &'a mut gpui2::TestAppContext, + cx: &'a mut gpui::TestAppContext, ) -> futures::future::LocalBoxFuture<'a, ()>; } @@ -4051,7 +4051,7 @@ impl WorktreeModelHandle for Model { #[cfg(any(test, feature = "test-support"))] fn flush_fs_events<'a>( &self, - cx: &'a mut gpui2::TestAppContext, + cx: &'a mut gpui::TestAppContext, ) -> futures::future::LocalBoxFuture<'a, ()> { let file_name = "fs-event-sentinel"; diff --git a/crates/rpc2/Cargo.toml b/crates/rpc2/Cargo.toml index f108af3d3f..0995029b30 100644 --- a/crates/rpc2/Cargo.toml +++ b/crates/rpc2/Cargo.toml @@ -10,12 +10,12 @@ path = "src/rpc.rs" doctest = false [features] -test-support = ["collections/test-support", "gpui2/test-support"] +test-support = ["collections/test-support", "gpui/test-support"] [dependencies] clock = { path = "../clock" } collections = { path = "../collections" } -gpui2 = { path = "../gpui2", optional = true } +gpui = { package = "gpui2", path = "../gpui2", optional = true } util = { path = "../util" } anyhow.workspace = true async-lock = "2.4" @@ -37,7 +37,7 @@ prost-build = "0.9" [dev-dependencies] collections = { path = "../collections", features = ["test-support"] } -gpui2 = { path = "../gpui2", features = ["test-support"] } +gpui = { package = "gpui2", path = "../gpui2", features = ["test-support"] } smol.workspace = true tempdir.workspace = true ctor.workspace = true diff --git a/crates/rpc2/src/conn.rs b/crates/rpc2/src/conn.rs index ec3c5b68cf..ae5c9fd226 100644 --- a/crates/rpc2/src/conn.rs +++ b/crates/rpc2/src/conn.rs @@ -34,7 +34,7 @@ impl Connection { #[cfg(any(test, feature = "test-support"))] pub fn in_memory( - executor: gpui2::BackgroundExecutor, + executor: gpui::BackgroundExecutor, ) -> (Self, Self, std::sync::Arc) { use std::sync::{ atomic::{AtomicBool, Ordering::SeqCst}, @@ -53,7 +53,7 @@ impl Connection { #[allow(clippy::type_complexity)] fn channel( killed: Arc, - executor: gpui2::BackgroundExecutor, + executor: gpui::BackgroundExecutor, ) -> ( Box>, Box>>, diff --git a/crates/rpc2/src/peer.rs b/crates/rpc2/src/peer.rs index 104ab1b421..80a2ab4378 100644 --- a/crates/rpc2/src/peer.rs +++ b/crates/rpc2/src/peer.rs @@ -342,7 +342,7 @@ impl Peer { pub fn add_test_connection( self: &Arc, connection: Connection, - executor: gpui2::BackgroundExecutor, + executor: gpui::BackgroundExecutor, ) -> ( ConnectionId, impl Future> + Send, @@ -557,7 +557,7 @@ mod tests { use super::*; use crate::TypedEnvelope; use async_tungstenite::tungstenite::Message as WebSocketMessage; - use gpui2::TestAppContext; + use gpui::TestAppContext; fn init_logger() { if std::env::var("RUST_LOG").is_ok() { @@ -565,7 +565,7 @@ mod tests { } } - #[gpui2::test(iterations = 50)] + #[gpui::test(iterations = 50)] async fn test_request_response(cx: &mut TestAppContext) { init_logger(); @@ -663,7 +663,7 @@ mod tests { } } - #[gpui2::test(iterations = 50)] + #[gpui::test(iterations = 50)] async fn test_order_of_response_and_incoming(cx: &mut TestAppContext) { let executor = cx.executor(); let server = Peer::new(0); @@ -761,7 +761,7 @@ mod tests { ); } - #[gpui2::test(iterations = 50)] + #[gpui::test(iterations = 50)] async fn test_dropping_request_before_completion(cx: &mut TestAppContext) { let executor = cx.executor().clone(); let server = Peer::new(0); @@ -873,7 +873,7 @@ mod tests { ); } - #[gpui2::test(iterations = 50)] + #[gpui::test(iterations = 50)] async fn test_disconnect(cx: &mut TestAppContext) { let executor = cx.executor(); @@ -909,7 +909,7 @@ mod tests { .is_err()); } - #[gpui2::test(iterations = 50)] + #[gpui::test(iterations = 50)] async fn test_io_error(cx: &mut TestAppContext) { let executor = cx.executor(); let (client_conn, mut server_conn, _kill) = Connection::in_memory(executor.clone()); diff --git a/crates/rpc2/src/proto.rs b/crates/rpc2/src/proto.rs index c1a7af3e4d..f0d7937f6f 100644 --- a/crates/rpc2/src/proto.rs +++ b/crates/rpc2/src/proto.rs @@ -616,7 +616,7 @@ pub fn split_worktree_update( mod tests { use super::*; - #[gpui2::test] + #[gpui::test] async fn test_buffer_size() { let (tx, rx) = futures::channel::mpsc::unbounded(); let mut sink = MessageStream::new(tx.sink_map_err(|_| anyhow!(""))); @@ -648,7 +648,7 @@ mod tests { assert!(stream.encoding_buffer.capacity() <= MAX_BUFFER_LEN); } - #[gpui2::test] + #[gpui::test] fn test_converting_peer_id_from_and_to_u64() { let peer_id = PeerId { owner_id: 10, diff --git a/crates/settings2/Cargo.toml b/crates/settings2/Cargo.toml index b455b1e38a..0a4051cbb3 100644 --- a/crates/settings2/Cargo.toml +++ b/crates/settings2/Cargo.toml @@ -9,14 +9,14 @@ path = "src/settings2.rs" doctest = false [features] -test-support = ["gpui2/test-support", "fs/test-support"] +test-support = ["gpui/test-support", "fs/test-support"] [dependencies] collections = { path = "../collections" } -gpui2 = { path = "../gpui2" } +gpui = {package = "gpui2", path = "../gpui2" } sqlez = { path = "../sqlez" } -fs2 = { path = "../fs2" } -feature_flags2 = { path = "../feature_flags2" } +fs = {package = "fs2", path = "../fs2" } +feature_flags = {package = "feature_flags2", path = "../feature_flags2" } util = { path = "../util" } anyhow.workspace = true @@ -35,8 +35,8 @@ tree-sitter.workspace = true tree-sitter-json = "*" [dev-dependencies] -gpui2 = { path = "../gpui2", features = ["test-support"] } -fs = { path = "../fs", features = ["test-support"] } +gpui = {package = "gpui2", path = "../gpui2", features = ["test-support"] } +fs = { package = "fs2", path = "../fs2", features = ["test-support"] } indoc.workspace = true pretty_assertions.workspace = true unindent.workspace = true diff --git a/crates/settings2/src/keymap_file.rs b/crates/settings2/src/keymap_file.rs index d0a32131b5..e51bd76e5e 100644 --- a/crates/settings2/src/keymap_file.rs +++ b/crates/settings2/src/keymap_file.rs @@ -1,7 +1,7 @@ use crate::{settings_store::parse_json_with_comments, SettingsAssets}; use anyhow::{anyhow, Context, Result}; use collections::BTreeMap; -use gpui2::{AppContext, KeyBinding, SharedString}; +use gpui::{AppContext, KeyBinding, SharedString}; use schemars::{ gen::{SchemaGenerator, SchemaSettings}, schema::{InstanceType, Schema, SchemaObject, SingleOrVec, SubschemaValidation}, @@ -137,7 +137,7 @@ impl KeymapFile { } } -fn no_action() -> Box { +fn no_action() -> Box { todo!() } diff --git a/crates/settings2/src/settings_file.rs b/crates/settings2/src/settings_file.rs index 002c9daf12..c623ae9caf 100644 --- a/crates/settings2/src/settings_file.rs +++ b/crates/settings2/src/settings_file.rs @@ -1,8 +1,8 @@ use crate::{settings_store::SettingsStore, Settings}; use anyhow::Result; -use fs2::Fs; +use fs::Fs; use futures::{channel::mpsc, StreamExt}; -use gpui2::{AppContext, BackgroundExecutor}; +use gpui::{AppContext, BackgroundExecutor}; use std::{io::ErrorKind, path::PathBuf, str, sync::Arc, time::Duration}; use util::{paths, ResultExt}; diff --git a/crates/settings2/src/settings_store.rs b/crates/settings2/src/settings_store.rs index e2c370bcac..3317a50f52 100644 --- a/crates/settings2/src/settings_store.rs +++ b/crates/settings2/src/settings_store.rs @@ -1,6 +1,6 @@ use anyhow::{anyhow, Context, Result}; use collections::{btree_map, hash_map, BTreeMap, HashMap}; -use gpui2::AppContext; +use gpui::AppContext; use lazy_static::lazy_static; use schemars::{gen::SchemaGenerator, schema::RootSchema, JsonSchema}; use serde::{de::DeserializeOwned, Deserialize as _, Serialize}; @@ -877,7 +877,7 @@ mod tests { use serde_derive::Deserialize; use unindent::Unindent; - #[gpui2::test] + #[gpui::test] fn test_settings_store_basic(cx: &mut AppContext) { let mut store = SettingsStore::default(); store.register_setting::(cx); @@ -994,7 +994,7 @@ mod tests { ); } - #[gpui2::test] + #[gpui::test] fn test_setting_store_assign_json_before_register(cx: &mut AppContext) { let mut store = SettingsStore::default(); store @@ -1037,7 +1037,7 @@ mod tests { ); } - #[gpui2::test] + #[gpui::test] fn test_setting_store_update(cx: &mut AppContext) { let mut store = SettingsStore::default(); store.register_setting::(cx); diff --git a/crates/terminal2/Cargo.toml b/crates/terminal2/Cargo.toml index 3ca5dc9aba..e37b949881 100644 --- a/crates/terminal2/Cargo.toml +++ b/crates/terminal2/Cargo.toml @@ -10,10 +10,10 @@ doctest = false [dependencies] -gpui2 = { path = "../gpui2" } -settings2 = { path = "../settings2" } -db2 = { path = "../db2" } -theme2 = { path = "../theme2" } +gpui = { package = "gpui2", path = "../gpui2" } +settings = { package = "settings2", path = "../settings2" } +db = { package = "db2", path = "../db2" } +theme = { package = "theme2", path = "../theme2" } util = { path = "../util" } alacritty_terminal = { git = "https://github.com/zed-industries/alacritty", rev = "33306142195b354ef3485ca2b1d8a85dfc6605ca" } diff --git a/crates/terminal2/src/mappings/colors.rs b/crates/terminal2/src/mappings/colors.rs index 99b66b9e14..fc3557b4e8 100644 --- a/crates/terminal2/src/mappings/colors.rs +++ b/crates/terminal2/src/mappings/colors.rs @@ -113,7 +113,7 @@ use alacritty_terminal::term::color::Rgb as AlacRgb; // let b = (i % 36) % 6; // (r, g, b) // } -use gpui2::Rgba; +use gpui::Rgba; //Convenience method to convert from a GPUI color to an alacritty Rgb pub fn to_alac_rgb(color: impl Into) -> AlacRgb { diff --git a/crates/terminal2/src/mappings/keys.rs b/crates/terminal2/src/mappings/keys.rs index 0009d39e13..f8a26fbe2b 100644 --- a/crates/terminal2/src/mappings/keys.rs +++ b/crates/terminal2/src/mappings/keys.rs @@ -1,6 +1,6 @@ /// The mappings defined in this file where created from reading the alacritty source use alacritty_terminal::term::TermMode; -use gpui2::Keystroke; +use gpui::Keystroke; #[derive(Debug, PartialEq, Eq)] enum AlacModifiers { @@ -278,7 +278,7 @@ fn modifier_code(keystroke: &Keystroke) -> u32 { #[cfg(test)] mod test { - use gpui2::Modifiers; + use gpui::Modifiers; use super::*; diff --git a/crates/terminal2/src/mappings/mouse.rs b/crates/terminal2/src/mappings/mouse.rs index 28ad510fcd..eac6ad17ff 100644 --- a/crates/terminal2/src/mappings/mouse.rs +++ b/crates/terminal2/src/mappings/mouse.rs @@ -6,7 +6,7 @@ use alacritty_terminal::grid::Dimensions; /// with modifications for our circumstances use alacritty_terminal::index::{Column as GridCol, Line as GridLine, Point as AlacPoint, Side}; use alacritty_terminal::term::TermMode; -use gpui2::{px, Modifiers, MouseButton, MouseMoveEvent, Pixels, Point, ScrollWheelEvent}; +use gpui::{px, Modifiers, MouseButton, MouseMoveEvent, Pixels, Point, ScrollWheelEvent}; use crate::TerminalSize; @@ -45,10 +45,10 @@ impl AlacMouseButton { fn from_move(e: &MouseMoveEvent) -> Self { match e.pressed_button { Some(b) => match b { - gpui2::MouseButton::Left => AlacMouseButton::LeftMove, - gpui2::MouseButton::Middle => AlacMouseButton::MiddleMove, - gpui2::MouseButton::Right => AlacMouseButton::RightMove, - gpui2::MouseButton::Navigate(_) => AlacMouseButton::Other, + gpui::MouseButton::Left => AlacMouseButton::LeftMove, + gpui::MouseButton::Middle => AlacMouseButton::MiddleMove, + gpui::MouseButton::Right => AlacMouseButton::RightMove, + gpui::MouseButton::Navigate(_) => AlacMouseButton::Other, }, None => AlacMouseButton::NoneMove, } @@ -56,17 +56,17 @@ impl AlacMouseButton { fn from_button(e: MouseButton) -> Self { match e { - gpui2::MouseButton::Left => AlacMouseButton::LeftButton, - gpui2::MouseButton::Right => AlacMouseButton::MiddleButton, - gpui2::MouseButton::Middle => AlacMouseButton::RightButton, - gpui2::MouseButton::Navigate(_) => AlacMouseButton::Other, + gpui::MouseButton::Left => AlacMouseButton::LeftButton, + gpui::MouseButton::Right => AlacMouseButton::MiddleButton, + gpui::MouseButton::Middle => AlacMouseButton::RightButton, + gpui::MouseButton::Navigate(_) => AlacMouseButton::Other, } } fn from_scroll(e: &ScrollWheelEvent) -> Self { let is_positive = match e.delta { - gpui2::ScrollDelta::Pixels(pixels) => pixels.y > px(0.), - gpui2::ScrollDelta::Lines(lines) => lines.y > 0., + gpui::ScrollDelta::Pixels(pixels) => pixels.y > px(0.), + gpui::ScrollDelta::Lines(lines) => lines.y > 0., }; if is_positive { @@ -118,7 +118,7 @@ pub fn alt_scroll(scroll_lines: i32) -> Vec { pub fn mouse_button_report( point: AlacPoint, - button: gpui2::MouseButton, + button: gpui::MouseButton, modifiers: Modifiers, pressed: bool, mode: TermMode, diff --git a/crates/terminal2/src/terminal2.rs b/crates/terminal2/src/terminal2.rs index adc5dd3511..ba5c4815f2 100644 --- a/crates/terminal2/src/terminal2.rs +++ b/crates/terminal2/src/terminal2.rs @@ -33,7 +33,7 @@ use mappings::mouse::{ use procinfo::LocalProcessInfo; use serde::{Deserialize, Serialize}; -use settings2::Settings; +use settings::Settings; use terminal_settings::{AlternateScroll, Shell, TerminalBlink, TerminalSettings}; use util::truncate_and_trailoff; @@ -49,7 +49,7 @@ use std::{ }; use thiserror::Error; -use gpui2::{ +use gpui::{ px, AnyWindowHandle, AppContext, Bounds, ClipboardItem, EventEmitter, Hsla, Keystroke, ModelContext, Modifiers, MouseButton, MouseDownEvent, MouseMoveEvent, MouseUpEvent, Pixels, Point, ScrollWheelEvent, Size, Task, TouchPhase, @@ -1409,7 +1409,7 @@ mod tests { index::{Column, Line, Point as AlacPoint}, term::cell::Cell, }; - use gpui2::{point, size, Pixels}; + use gpui::{point, size, Pixels}; use rand::{distributions::Alphanumeric, rngs::ThreadRng, thread_rng, Rng}; use crate::{content_index_for_mouse, IndexedCell, TerminalContent, TerminalSize}; diff --git a/crates/terminal2/src/terminal_settings.rs b/crates/terminal2/src/terminal_settings.rs index 1be9ac5000..1d1e1cea2a 100644 --- a/crates/terminal2/src/terminal_settings.rs +++ b/crates/terminal2/src/terminal_settings.rs @@ -1,4 +1,4 @@ -use gpui2::{AppContext, FontFeatures}; +use gpui::{AppContext, FontFeatures}; use schemars::JsonSchema; use serde_derive::{Deserialize, Serialize}; use std::{collections::HashMap, path::PathBuf}; @@ -98,7 +98,7 @@ impl TerminalSettings { // } } -impl settings2::Settings for TerminalSettings { +impl settings::Settings for TerminalSettings { const KEY: Option<&'static str> = Some("terminal"); type FileContent = TerminalSettingsContent; diff --git a/crates/text2/Cargo.toml b/crates/text2/Cargo.toml index 6891fef680..7c12d22adf 100644 --- a/crates/text2/Cargo.toml +++ b/crates/text2/Cargo.toml @@ -30,7 +30,7 @@ regex.workspace = true [dev-dependencies] collections = { path = "../collections", features = ["test-support"] } -gpui2 = { path = "../gpui2", features = ["test-support"] } +gpui = { package = "gpui2", path = "../gpui2", features = ["test-support"] } util = { path = "../util", features = ["test-support"] } ctor.workspace = true env_logger.workspace = true diff --git a/crates/text2/src/locator.rs b/crates/text2/src/locator.rs index 27fdb34cde..07b73ace05 100644 --- a/crates/text2/src/locator.rs +++ b/crates/text2/src/locator.rs @@ -91,7 +91,7 @@ mod tests { use rand::prelude::*; use std::mem; - #[gpui2::test(iterations = 100)] + #[gpui::test(iterations = 100)] fn test_locators(mut rng: StdRng) { let mut lhs = Default::default(); let mut rhs = Default::default(); diff --git a/crates/text2/src/patch.rs b/crates/text2/src/patch.rs index 20e4a4d889..f10acbc2d3 100644 --- a/crates/text2/src/patch.rs +++ b/crates/text2/src/patch.rs @@ -256,7 +256,7 @@ mod tests { use rand::prelude::*; use std::env; - #[gpui2::test] + #[gpui::test] fn test_one_disjoint_edit() { assert_patch_composition( Patch(vec![Edit { @@ -301,7 +301,7 @@ mod tests { ); } - #[gpui2::test] + #[gpui::test] fn test_one_overlapping_edit() { assert_patch_composition( Patch(vec![Edit { @@ -319,7 +319,7 @@ mod tests { ); } - #[gpui2::test] + #[gpui::test] fn test_two_disjoint_and_overlapping() { assert_patch_composition( Patch(vec![ @@ -355,7 +355,7 @@ mod tests { ); } - #[gpui2::test] + #[gpui::test] fn test_two_new_edits_overlapping_one_old_edit() { assert_patch_composition( Patch(vec![Edit { @@ -421,7 +421,7 @@ mod tests { ); } - #[gpui2::test] + #[gpui::test] fn test_two_new_edits_touching_one_old_edit() { assert_patch_composition( Patch(vec![ @@ -457,7 +457,7 @@ mod tests { ); } - #[gpui2::test] + #[gpui::test] fn test_old_to_new() { let patch = Patch(vec![ Edit { @@ -481,7 +481,7 @@ mod tests { assert_eq!(patch.old_to_new(9), 12); } - #[gpui2::test(iterations = 100)] + #[gpui::test(iterations = 100)] fn test_random_patch_compositions(mut rng: StdRng) { let operations = env::var("OPERATIONS") .map(|i| i.parse().expect("invalid `OPERATIONS` variable")) diff --git a/crates/text2/src/tests.rs b/crates/text2/src/tests.rs index 96248285ea..7e26e0a296 100644 --- a/crates/text2/src/tests.rs +++ b/crates/text2/src/tests.rs @@ -32,7 +32,7 @@ fn test_edit() { assert_eq!(buffer.text(), "ghiamnoef"); } -#[gpui2::test(iterations = 100)] +#[gpui::test(iterations = 100)] fn test_random_edits(mut rng: StdRng) { let operations = env::var("OPERATIONS") .map(|i| i.parse().expect("invalid `OPERATIONS` variable")) @@ -687,7 +687,7 @@ fn test_concurrent_edits() { assert_eq!(buffer3.text(), "a12c34e56"); } -#[gpui2::test(iterations = 100)] +#[gpui::test(iterations = 100)] fn test_random_concurrent_edits(mut rng: StdRng) { let peers = env::var("PEERS") .map(|i| i.parse().expect("invalid `PEERS` variable")) diff --git a/crates/theme2/Cargo.toml b/crates/theme2/Cargo.toml index 6b273e5042..a051468b00 100644 --- a/crates/theme2/Cargo.toml +++ b/crates/theme2/Cargo.toml @@ -6,9 +6,9 @@ publish = false [features] test-support = [ - "gpui2/test-support", + "gpui/test-support", "fs/test-support", - "settings2/test-support" + "settings/test-support" ] [lib] @@ -18,7 +18,7 @@ doctest = false [dependencies] anyhow.workspace = true fs = { path = "../fs" } -gpui2 = { path = "../gpui2" } +gpui = { package = "gpui2", path = "../gpui2" } indexmap = "1.6.2" parking_lot.workspace = true refineable.workspace = true @@ -26,11 +26,11 @@ schemars.workspace = true serde.workspace = true serde_derive.workspace = true serde_json.workspace = true -settings2 = { path = "../settings2" } +settings = { package = "settings2", path = "../settings2" } toml.workspace = true util = { path = "../util" } [dev-dependencies] -gpui2 = { path = "../gpui2", features = ["test-support"] } +gpui = { package = "gpui2", path = "../gpui2", features = ["test-support"] } fs = { path = "../fs", features = ["test-support"] } -settings2 = { path = "../settings2", features = ["test-support"] } +settings = { package = "settings2", path = "../settings2", features = ["test-support"] } diff --git a/crates/theme2/src/colors.rs b/crates/theme2/src/colors.rs index ee69eed612..422e33e4f8 100644 --- a/crates/theme2/src/colors.rs +++ b/crates/theme2/src/colors.rs @@ -1,4 +1,4 @@ -use gpui2::Hsla; +use gpui::Hsla; use refineable::Refineable; use crate::SyntaxTheme; @@ -109,7 +109,7 @@ mod tests { fn override_a_single_theme_color() { let mut colors = ThemeColors::default_light(); - let magenta: Hsla = gpui2::rgb(0xff00ff); + let magenta: Hsla = gpui::rgb(0xff00ff); assert_ne!(colors.text, magenta); @@ -127,8 +127,8 @@ mod tests { fn override_multiple_theme_colors() { let mut colors = ThemeColors::default_light(); - let magenta: Hsla = gpui2::rgb(0xff00ff); - let green: Hsla = gpui2::rgb(0x00ff00); + let magenta: Hsla = gpui::rgb(0xff00ff); + let green: Hsla = gpui::rgb(0x00ff00); assert_ne!(colors.text, magenta); assert_ne!(colors.background, green); diff --git a/crates/theme2/src/default_colors.rs b/crates/theme2/src/default_colors.rs index 8b7137683c..802392d296 100644 --- a/crates/theme2/src/default_colors.rs +++ b/crates/theme2/src/default_colors.rs @@ -1,6 +1,6 @@ use std::num::ParseIntError; -use gpui2::{hsla, Hsla, Rgba}; +use gpui::{hsla, Hsla, Rgba}; use crate::{ colors::{GitStatusColors, PlayerColor, PlayerColors, StatusColors, SystemColors, ThemeColors}, diff --git a/crates/theme2/src/registry.rs b/crates/theme2/src/registry.rs index f30f5ead91..c1bba121e1 100644 --- a/crates/theme2/src/registry.rs +++ b/crates/theme2/src/registry.rs @@ -1,6 +1,6 @@ use crate::{zed_pro_family, ThemeFamily, ThemeVariant}; use anyhow::{anyhow, Result}; -use gpui2::SharedString; +use gpui::SharedString; use std::{collections::HashMap, sync::Arc}; pub struct ThemeRegistry { diff --git a/crates/theme2/src/scale.rs b/crates/theme2/src/scale.rs index bd28e43db9..22d191bd4a 100644 --- a/crates/theme2/src/scale.rs +++ b/crates/theme2/src/scale.rs @@ -1,4 +1,4 @@ -use gpui2::{AppContext, Hsla, SharedString}; +use gpui::{AppContext, Hsla, SharedString}; use crate::{ActiveTheme, Appearance}; diff --git a/crates/theme2/src/settings.rs b/crates/theme2/src/settings.rs index c8d2b52273..5e8f9de873 100644 --- a/crates/theme2/src/settings.rs +++ b/crates/theme2/src/settings.rs @@ -1,6 +1,6 @@ use crate::{ThemeRegistry, ThemeVariant}; use anyhow::Result; -use gpui2::{px, AppContext, Font, FontFeatures, FontStyle, FontWeight, Pixels}; +use gpui::{px, AppContext, Font, FontFeatures, FontStyle, FontWeight, Pixels}; use schemars::{ gen::SchemaGenerator, schema::{InstanceType, Schema, SchemaObject}, @@ -8,7 +8,7 @@ use schemars::{ }; use serde::{Deserialize, Serialize}; use serde_json::Value; -use settings2::{Settings, SettingsJsonSchemaParams}; +use settings::{Settings, SettingsJsonSchemaParams}; use std::sync::Arc; use util::ResultExt as _; @@ -105,7 +105,7 @@ pub fn reset_font_size(cx: &mut AppContext) { } } -impl settings2::Settings for ThemeSettings { +impl settings::Settings for ThemeSettings { const KEY: Option<&'static str> = None; type FileContent = ThemeSettingsContent; diff --git a/crates/theme2/src/syntax.rs b/crates/theme2/src/syntax.rs index a8127f0c44..3a068349fb 100644 --- a/crates/theme2/src/syntax.rs +++ b/crates/theme2/src/syntax.rs @@ -1,4 +1,4 @@ -use gpui2::{HighlightStyle, Hsla}; +use gpui::{HighlightStyle, Hsla}; #[derive(Clone, Default)] pub struct SyntaxTheme { diff --git a/crates/theme2/src/theme2.rs b/crates/theme2/src/theme2.rs index 88dcbd1286..faf252e2e5 100644 --- a/crates/theme2/src/theme2.rs +++ b/crates/theme2/src/theme2.rs @@ -6,6 +6,7 @@ mod scale; mod settings; mod syntax; +use ::settings::Settings; pub use colors::*; pub use default_colors::*; pub use default_theme::*; @@ -14,8 +15,7 @@ pub use scale::*; pub use settings::*; pub use syntax::*; -use gpui2::{AppContext, Hsla, SharedString}; -use settings2::Settings; +use gpui::{AppContext, Hsla, SharedString}; #[derive(Debug, Clone, PartialEq)] pub enum Appearance { diff --git a/crates/zed2/Cargo.toml b/crates/zed2/Cargo.toml index a54e68b51a..3e07b4a76f 100644 --- a/crates/zed2/Cargo.toml +++ b/crates/zed2/Cargo.toml @@ -15,12 +15,12 @@ name = "Zed" path = "src/main.rs" [dependencies] -ai2 = { path = "../ai2"} +ai = { package = "ai2", path = "../ai2"} # audio = { path = "../audio" } # activity_indicator = { path = "../activity_indicator" } # auto_update = { path = "../auto_update" } # breadcrumbs = { path = "../breadcrumbs" } -call2 = { path = "../call2" } +call = { package = "call2", path = "../call2" } # channel = { path = "../channel" } cli = { path = "../cli" } # collab_ui = { path = "../collab_ui" } @@ -28,44 +28,44 @@ collections = { path = "../collections" } # command_palette = { path = "../command_palette" } # component_test = { path = "../component_test" } # context_menu = { path = "../context_menu" } -client2 = { path = "../client2" } +client = { package = "client2", path = "../client2" } # clock = { path = "../clock" } -copilot2 = { path = "../copilot2" } +copilot = { package = "copilot2", path = "../copilot2" } # copilot_button = { path = "../copilot_button" } # diagnostics = { path = "../diagnostics" } -db2 = { path = "../db2" } +db = { package = "db2", path = "../db2" } # editor = { path = "../editor" } # feedback = { path = "../feedback" } # file_finder = { path = "../file_finder" } # search = { path = "../search" } -fs2 = { path = "../fs2" } +fs = { package = "fs2", path = "../fs2" } fsevent = { path = "../fsevent" } fuzzy = { path = "../fuzzy" } # go_to_line = { path = "../go_to_line" } -gpui2 = { path = "../gpui2" } +gpui = { package = "gpui2", path = "../gpui2" } install_cli = { path = "../install_cli" } -journal2 = { path = "../journal2" } -language2 = { path = "../language2" } +journal = { package = "journal2", path = "../journal2" } +language = { package = "language2", path = "../language2" } # language_selector = { path = "../language_selector" } -lsp2 = { path = "../lsp2" } +lsp = { package = "lsp2", path = "../lsp2" } language_tools = { path = "../language_tools" } node_runtime = { path = "../node_runtime" } # assistant = { path = "../assistant" } # outline = { path = "../outline" } # plugin_runtime = { path = "../plugin_runtime",optional = true } -project2 = { path = "../project2" } +project = { package = "project2", path = "../project2" } # project_panel = { path = "../project_panel" } # project_symbols = { path = "../project_symbols" } # quick_action_bar = { path = "../quick_action_bar" } # recent_projects = { path = "../recent_projects" } -rpc2 = { path = "../rpc2" } -settings2 = { path = "../settings2" } -feature_flags2 = { path = "../feature_flags2" } +rpc = { package = "rpc2", path = "../rpc2" } +settings = { package = "settings2", path = "../settings2" } +feature_flags = { package = "feature_flags2", path = "../feature_flags2" } sum_tree = { path = "../sum_tree" } shellexpand = "2.1.0" -text2 = { path = "../text2" } +text = { package = "text2", path = "../text2" } # terminal_view = { path = "../terminal_view" } -theme2 = { path = "../theme2" } +theme = { package = "theme2", path = "../theme2" } # theme_selector = { path = "../theme_selector" } util = { path = "../util" } # semantic_index = { path = "../semantic_index" } @@ -142,17 +142,17 @@ urlencoding = "2.1.2" uuid.workspace = true [dev-dependencies] -call2 = { path = "../call2", features = ["test-support"] } +call = { package = "call2", path = "../call2", features = ["test-support"] } # client = { path = "../client", features = ["test-support"] } # editor = { path = "../editor", features = ["test-support"] } # gpui = { path = "../gpui", features = ["test-support"] } -gpui2 = { path = "../gpui2", features = ["test-support"] } -language2 = { path = "../language2", features = ["test-support"] } +gpui = { package = "gpui2", path = "../gpui2", features = ["test-support"] } +language = { package = "language2", path = "../language2", features = ["test-support"] } # lsp = { path = "../lsp", features = ["test-support"] } -project2 = { path = "../project2", features = ["test-support"] } +project = { package = "project2", path = "../project2", features = ["test-support"] } # rpc = { path = "../rpc", features = ["test-support"] } # settings = { path = "../settings", features = ["test-support"] } -text2 = { path = "../text2", features = ["test-support"] } +text = { package = "text2", path = "../text2", features = ["test-support"] } # util = { path = "../util", features = ["test-support"] } # workspace = { path = "../workspace", features = ["test-support"] } unindent.workspace = true diff --git a/crates/zed2/src/assets.rs b/crates/zed2/src/assets.rs index c4010edc9f..873138c244 100644 --- a/crates/zed2/src/assets.rs +++ b/crates/zed2/src/assets.rs @@ -1,5 +1,6 @@ use anyhow::anyhow; -use gpui2::{AssetSource, Result, SharedString}; + +use gpui::{AssetSource, Result, SharedString}; use rust_embed::RustEmbed; #[derive(RustEmbed)] diff --git a/crates/zed2/src/languages.rs b/crates/zed2/src/languages.rs index 4f7a97cb97..555f12dd0f 100644 --- a/crates/zed2/src/languages.rs +++ b/crates/zed2/src/languages.rs @@ -1,9 +1,9 @@ use anyhow::Context; -use gpui2::AppContext; -pub use language2::*; +use gpui::AppContext; +pub use language::*; use node_runtime::NodeRuntime; use rust_embed::RustEmbed; -use settings2::Settings; +use settings::Settings; use std::{borrow::Cow, str, sync::Arc}; use util::asset_str; diff --git a/crates/zed2/src/languages/c.rs b/crates/zed2/src/languages/c.rs index c836fdc740..280d9dd921 100644 --- a/crates/zed2/src/languages/c.rs +++ b/crates/zed2/src/languages/c.rs @@ -1,8 +1,8 @@ use anyhow::{anyhow, Context, Result}; use async_trait::async_trait; use futures::StreamExt; -pub use language2::*; -use lsp2::LanguageServerBinary; +pub use language::*; +use lsp::LanguageServerBinary; use smol::fs::{self, File}; use std::{any::Any, path::PathBuf, sync::Arc}; use util::{ @@ -108,7 +108,7 @@ impl super::LspAdapter for CLspAdapter { async fn label_for_completion( &self, - completion: &lsp2::CompletionItem, + completion: &lsp::CompletionItem, language: &Arc, ) -> Option { let label = completion @@ -118,7 +118,7 @@ impl super::LspAdapter for CLspAdapter { .trim(); match completion.kind { - Some(lsp2::CompletionItemKind::FIELD) if completion.detail.is_some() => { + Some(lsp::CompletionItemKind::FIELD) if completion.detail.is_some() => { let detail = completion.detail.as_ref().unwrap(); let text = format!("{} {}", detail, label); let source = Rope::from(format!("struct S {{ {} }}", text).as_str()); @@ -129,7 +129,7 @@ impl super::LspAdapter for CLspAdapter { runs, }); } - Some(lsp2::CompletionItemKind::CONSTANT | lsp2::CompletionItemKind::VARIABLE) + Some(lsp::CompletionItemKind::CONSTANT | lsp::CompletionItemKind::VARIABLE) if completion.detail.is_some() => { let detail = completion.detail.as_ref().unwrap(); @@ -141,7 +141,7 @@ impl super::LspAdapter for CLspAdapter { runs, }); } - Some(lsp2::CompletionItemKind::FUNCTION | lsp2::CompletionItemKind::METHOD) + Some(lsp::CompletionItemKind::FUNCTION | lsp::CompletionItemKind::METHOD) if completion.detail.is_some() => { let detail = completion.detail.as_ref().unwrap(); @@ -155,13 +155,13 @@ impl super::LspAdapter for CLspAdapter { } Some(kind) => { let highlight_name = match kind { - lsp2::CompletionItemKind::STRUCT - | lsp2::CompletionItemKind::INTERFACE - | lsp2::CompletionItemKind::CLASS - | lsp2::CompletionItemKind::ENUM => Some("type"), - lsp2::CompletionItemKind::ENUM_MEMBER => Some("variant"), - lsp2::CompletionItemKind::KEYWORD => Some("keyword"), - lsp2::CompletionItemKind::VALUE | lsp2::CompletionItemKind::CONSTANT => { + lsp::CompletionItemKind::STRUCT + | lsp::CompletionItemKind::INTERFACE + | lsp::CompletionItemKind::CLASS + | lsp::CompletionItemKind::ENUM => Some("type"), + lsp::CompletionItemKind::ENUM_MEMBER => Some("variant"), + lsp::CompletionItemKind::KEYWORD => Some("keyword"), + lsp::CompletionItemKind::VALUE | lsp::CompletionItemKind::CONSTANT => { Some("constant") } _ => None, @@ -186,47 +186,47 @@ impl super::LspAdapter for CLspAdapter { async fn label_for_symbol( &self, name: &str, - kind: lsp2::SymbolKind, + kind: lsp::SymbolKind, language: &Arc, ) -> Option { let (text, filter_range, display_range) = match kind { - lsp2::SymbolKind::METHOD | lsp2::SymbolKind::FUNCTION => { + lsp::SymbolKind::METHOD | lsp::SymbolKind::FUNCTION => { let text = format!("void {} () {{}}", name); let filter_range = 0..name.len(); let display_range = 5..5 + name.len(); (text, filter_range, display_range) } - lsp2::SymbolKind::STRUCT => { + lsp::SymbolKind::STRUCT => { let text = format!("struct {} {{}}", name); let filter_range = 7..7 + name.len(); let display_range = 0..filter_range.end; (text, filter_range, display_range) } - lsp2::SymbolKind::ENUM => { + lsp::SymbolKind::ENUM => { let text = format!("enum {} {{}}", name); let filter_range = 5..5 + name.len(); let display_range = 0..filter_range.end; (text, filter_range, display_range) } - lsp2::SymbolKind::INTERFACE | lsp2::SymbolKind::CLASS => { + lsp::SymbolKind::INTERFACE | lsp::SymbolKind::CLASS => { let text = format!("class {} {{}}", name); let filter_range = 6..6 + name.len(); let display_range = 0..filter_range.end; (text, filter_range, display_range) } - lsp2::SymbolKind::CONSTANT => { + lsp::SymbolKind::CONSTANT => { let text = format!("const int {} = 0;", name); let filter_range = 10..10 + name.len(); let display_range = 0..filter_range.end; (text, filter_range, display_range) } - lsp2::SymbolKind::MODULE => { + lsp::SymbolKind::MODULE => { let text = format!("namespace {} {{}}", name); let filter_range = 10..10 + name.len(); let display_range = 0..filter_range.end; (text, filter_range, display_range) } - lsp2::SymbolKind::TYPE_PARAMETER => { + lsp::SymbolKind::TYPE_PARAMETER => { let text = format!("typename {} {{}};", name); let filter_range = 9..9 + name.len(); let display_range = 0..filter_range.end; @@ -273,18 +273,18 @@ async fn get_cached_server_binary(container_dir: PathBuf) -> Option(|store, cx| { store.update_user_settings::(cx, |s| { s.defaults.tab_size = NonZeroU32::new(2); diff --git a/crates/zed2/src/languages/css.rs b/crates/zed2/src/languages/css.rs index fb6fcabe8e..fdbc179209 100644 --- a/crates/zed2/src/languages/css.rs +++ b/crates/zed2/src/languages/css.rs @@ -1,8 +1,8 @@ use anyhow::{anyhow, Result}; use async_trait::async_trait; use futures::StreamExt; -use language2::{LanguageServerName, LspAdapter, LspAdapterDelegate}; -use lsp2::LanguageServerBinary; +use language::{LanguageServerName, LspAdapter, LspAdapterDelegate}; +use lsp::LanguageServerBinary; use node_runtime::NodeRuntime; use serde_json::json; use smol::fs; diff --git a/crates/zed2/src/languages/elixir.rs b/crates/zed2/src/languages/elixir.rs index 09c7305fb0..bd38377c99 100644 --- a/crates/zed2/src/languages/elixir.rs +++ b/crates/zed2/src/languages/elixir.rs @@ -1,12 +1,12 @@ use anyhow::{anyhow, bail, Context, Result}; use async_trait::async_trait; use futures::StreamExt; -use gpui2::{AsyncAppContext, Task}; -pub use language2::*; -use lsp2::{CompletionItemKind, LanguageServerBinary, SymbolKind}; +use gpui::{AsyncAppContext, Task}; +pub use language::*; +use lsp::{CompletionItemKind, LanguageServerBinary, SymbolKind}; use schemars::JsonSchema; use serde_derive::{Deserialize, Serialize}; -use settings2::Settings; +use settings::Settings; use smol::fs::{self, File}; use std::{ any::Any, @@ -54,7 +54,7 @@ impl Settings for ElixirSettings { fn load( default_value: &Self::FileContent, user_values: &[&Self::FileContent], - _: &mut gpui2::AppContext, + _: &mut gpui::AppContext, ) -> Result where Self: Sized, @@ -200,7 +200,7 @@ impl LspAdapter for ElixirLspAdapter { async fn label_for_completion( &self, - completion: &lsp2::CompletionItem, + completion: &lsp::CompletionItem, language: &Arc, ) -> Option { match completion.kind.zip(completion.detail.as_ref()) { @@ -404,7 +404,7 @@ impl LspAdapter for NextLspAdapter { async fn label_for_completion( &self, - completion: &lsp2::CompletionItem, + completion: &lsp::CompletionItem, language: &Arc, ) -> Option { label_for_completion_elixir(completion, language) @@ -506,7 +506,7 @@ impl LspAdapter for LocalLspAdapter { async fn label_for_completion( &self, - completion: &lsp2::CompletionItem, + completion: &lsp::CompletionItem, language: &Arc, ) -> Option { label_for_completion_elixir(completion, language) @@ -523,7 +523,7 @@ impl LspAdapter for LocalLspAdapter { } fn label_for_completion_elixir( - completion: &lsp2::CompletionItem, + completion: &lsp::CompletionItem, language: &Arc, ) -> Option { return Some(CodeLabel { diff --git a/crates/zed2/src/languages/go.rs b/crates/zed2/src/languages/go.rs index 21001015b9..0daf1527c3 100644 --- a/crates/zed2/src/languages/go.rs +++ b/crates/zed2/src/languages/go.rs @@ -1,10 +1,10 @@ use anyhow::{anyhow, Result}; use async_trait::async_trait; use futures::StreamExt; -use gpui2::{AsyncAppContext, Task}; -pub use language2::*; +use gpui::{AsyncAppContext, Task}; +pub use language::*; use lazy_static::lazy_static; -use lsp2::LanguageServerBinary; +use lsp::LanguageServerBinary; use regex::Regex; use smol::{fs, process}; use std::{ @@ -170,7 +170,7 @@ impl super::LspAdapter for GoLspAdapter { async fn label_for_completion( &self, - completion: &lsp2::CompletionItem, + completion: &lsp::CompletionItem, language: &Arc, ) -> Option { let label = &completion.label; @@ -181,7 +181,7 @@ impl super::LspAdapter for GoLspAdapter { let name_offset = label.rfind('.').unwrap_or(0); match completion.kind.zip(completion.detail.as_ref()) { - Some((lsp2::CompletionItemKind::MODULE, detail)) => { + Some((lsp::CompletionItemKind::MODULE, detail)) => { let text = format!("{label} {detail}"); let source = Rope::from(format!("import {text}").as_str()); let runs = language.highlight_text(&source, 7..7 + text.len()); @@ -192,7 +192,7 @@ impl super::LspAdapter for GoLspAdapter { }); } Some(( - lsp2::CompletionItemKind::CONSTANT | lsp2::CompletionItemKind::VARIABLE, + lsp::CompletionItemKind::CONSTANT | lsp::CompletionItemKind::VARIABLE, detail, )) => { let text = format!("{label} {detail}"); @@ -208,7 +208,7 @@ impl super::LspAdapter for GoLspAdapter { filter_range: 0..label.len(), }); } - Some((lsp2::CompletionItemKind::STRUCT, _)) => { + Some((lsp::CompletionItemKind::STRUCT, _)) => { let text = format!("{label} struct {{}}"); let source = Rope::from(format!("type {}", &text[name_offset..]).as_str()); let runs = adjust_runs( @@ -221,7 +221,7 @@ impl super::LspAdapter for GoLspAdapter { filter_range: 0..label.len(), }); } - Some((lsp2::CompletionItemKind::INTERFACE, _)) => { + Some((lsp::CompletionItemKind::INTERFACE, _)) => { let text = format!("{label} interface {{}}"); let source = Rope::from(format!("type {}", &text[name_offset..]).as_str()); let runs = adjust_runs( @@ -234,7 +234,7 @@ impl super::LspAdapter for GoLspAdapter { filter_range: 0..label.len(), }); } - Some((lsp2::CompletionItemKind::FIELD, detail)) => { + Some((lsp::CompletionItemKind::FIELD, detail)) => { let text = format!("{label} {detail}"); let source = Rope::from(format!("type T struct {{ {} }}", &text[name_offset..]).as_str()); @@ -248,10 +248,7 @@ impl super::LspAdapter for GoLspAdapter { filter_range: 0..label.len(), }); } - Some(( - lsp2::CompletionItemKind::FUNCTION | lsp2::CompletionItemKind::METHOD, - detail, - )) => { + Some((lsp::CompletionItemKind::FUNCTION | lsp::CompletionItemKind::METHOD, detail)) => { if let Some(signature) = detail.strip_prefix("func") { let text = format!("{label}{signature}"); let source = Rope::from(format!("func {} {{}}", &text[name_offset..]).as_str()); @@ -274,47 +271,47 @@ impl super::LspAdapter for GoLspAdapter { async fn label_for_symbol( &self, name: &str, - kind: lsp2::SymbolKind, + kind: lsp::SymbolKind, language: &Arc, ) -> Option { let (text, filter_range, display_range) = match kind { - lsp2::SymbolKind::METHOD | lsp2::SymbolKind::FUNCTION => { + lsp::SymbolKind::METHOD | lsp::SymbolKind::FUNCTION => { let text = format!("func {} () {{}}", name); let filter_range = 5..5 + name.len(); let display_range = 0..filter_range.end; (text, filter_range, display_range) } - lsp2::SymbolKind::STRUCT => { + lsp::SymbolKind::STRUCT => { let text = format!("type {} struct {{}}", name); let filter_range = 5..5 + name.len(); let display_range = 0..text.len(); (text, filter_range, display_range) } - lsp2::SymbolKind::INTERFACE => { + lsp::SymbolKind::INTERFACE => { let text = format!("type {} interface {{}}", name); let filter_range = 5..5 + name.len(); let display_range = 0..text.len(); (text, filter_range, display_range) } - lsp2::SymbolKind::CLASS => { + lsp::SymbolKind::CLASS => { let text = format!("type {} T", name); let filter_range = 5..5 + name.len(); let display_range = 0..filter_range.end; (text, filter_range, display_range) } - lsp2::SymbolKind::CONSTANT => { + lsp::SymbolKind::CONSTANT => { let text = format!("const {} = nil", name); let filter_range = 6..6 + name.len(); let display_range = 0..filter_range.end; (text, filter_range, display_range) } - lsp2::SymbolKind::VARIABLE => { + lsp::SymbolKind::VARIABLE => { let text = format!("var {} = nil", name); let filter_range = 4..4 + name.len(); let display_range = 0..filter_range.end; (text, filter_range, display_range) } - lsp2::SymbolKind::MODULE => { + lsp::SymbolKind::MODULE => { let text = format!("package {}", name); let filter_range = 8..8 + name.len(); let display_range = 0..filter_range.end; @@ -375,10 +372,10 @@ fn adjust_runs( mod tests { use super::*; use crate::languages::language; - use gpui2::Hsla; - use theme2::SyntaxTheme; + use gpui::Hsla; + use theme::SyntaxTheme; - #[gpui2::test] + #[gpui::test] async fn test_go_label_for_completion() { let language = language( "go", @@ -405,8 +402,8 @@ mod tests { assert_eq!( language - .label_for_completion(&lsp2::CompletionItem { - kind: Some(lsp2::CompletionItemKind::FUNCTION), + .label_for_completion(&lsp::CompletionItem { + kind: Some(lsp::CompletionItemKind::FUNCTION), label: "Hello".to_string(), detail: Some("func(a B) c.D".to_string()), ..Default::default() @@ -426,8 +423,8 @@ mod tests { // Nested methods assert_eq!( language - .label_for_completion(&lsp2::CompletionItem { - kind: Some(lsp2::CompletionItemKind::METHOD), + .label_for_completion(&lsp::CompletionItem { + kind: Some(lsp::CompletionItemKind::METHOD), label: "one.two.Three".to_string(), detail: Some("func() [3]interface{}".to_string()), ..Default::default() @@ -447,8 +444,8 @@ mod tests { // Nested fields assert_eq!( language - .label_for_completion(&lsp2::CompletionItem { - kind: Some(lsp2::CompletionItemKind::FIELD), + .label_for_completion(&lsp::CompletionItem { + kind: Some(lsp::CompletionItemKind::FIELD), label: "two.Three".to_string(), detail: Some("a.Bcd".to_string()), ..Default::default() diff --git a/crates/zed2/src/languages/html.rs b/crates/zed2/src/languages/html.rs index b46675dd79..b8f1c70cce 100644 --- a/crates/zed2/src/languages/html.rs +++ b/crates/zed2/src/languages/html.rs @@ -1,8 +1,8 @@ use anyhow::{anyhow, Result}; use async_trait::async_trait; use futures::StreamExt; -use language2::{LanguageServerName, LspAdapter, LspAdapterDelegate}; -use lsp2::LanguageServerBinary; +use language::{LanguageServerName, LspAdapter, LspAdapterDelegate}; +use lsp::LanguageServerBinary; use node_runtime::NodeRuntime; use serde_json::json; use smol::fs; diff --git a/crates/zed2/src/languages/json.rs b/crates/zed2/src/languages/json.rs index cb912f1042..63f909ae2a 100644 --- a/crates/zed2/src/languages/json.rs +++ b/crates/zed2/src/languages/json.rs @@ -1,14 +1,14 @@ use anyhow::{anyhow, Result}; use async_trait::async_trait; use collections::HashMap; -use feature_flags2::FeatureFlagAppExt; +use feature_flags::FeatureFlagAppExt; use futures::{future::BoxFuture, FutureExt, StreamExt}; -use gpui2::AppContext; -use language2::{LanguageRegistry, LanguageServerName, LspAdapter, LspAdapterDelegate}; -use lsp2::LanguageServerBinary; +use gpui::AppContext; +use language::{LanguageRegistry, LanguageServerName, LspAdapter, LspAdapterDelegate}; +use lsp::LanguageServerBinary; use node_runtime::NodeRuntime; use serde_json::json; -use settings2::{KeymapFile, SettingsJsonSchemaParams, SettingsStore}; +use settings::{KeymapFile, SettingsJsonSchemaParams, SettingsStore}; use smol::fs; use std::{ any::Any, diff --git a/crates/zed2/src/languages/lua.rs b/crates/zed2/src/languages/lua.rs index c92534925c..5fffb37e81 100644 --- a/crates/zed2/src/languages/lua.rs +++ b/crates/zed2/src/languages/lua.rs @@ -3,8 +3,8 @@ use async_compression::futures::bufread::GzipDecoder; use async_tar::Archive; use async_trait::async_trait; use futures::{io::BufReader, StreamExt}; -use language2::{LanguageServerName, LspAdapterDelegate}; -use lsp2::LanguageServerBinary; +use language::{LanguageServerName, LspAdapterDelegate}; +use lsp::LanguageServerBinary; use smol::fs; use std::{any::Any, env::consts, path::PathBuf}; use util::{ diff --git a/crates/zed2/src/languages/php.rs b/crates/zed2/src/languages/php.rs index d6e462e186..3096fd16e6 100644 --- a/crates/zed2/src/languages/php.rs +++ b/crates/zed2/src/languages/php.rs @@ -3,8 +3,8 @@ use anyhow::{anyhow, Result}; use async_trait::async_trait; use collections::HashMap; -use language2::{LanguageServerName, LspAdapter, LspAdapterDelegate}; -use lsp2::LanguageServerBinary; +use language::{LanguageServerName, LspAdapter, LspAdapterDelegate}; +use lsp::LanguageServerBinary; use node_runtime::NodeRuntime; use smol::{fs, stream::StreamExt}; @@ -91,9 +91,9 @@ impl LspAdapter for IntelephenseLspAdapter { async fn label_for_completion( &self, - _item: &lsp2::CompletionItem, - _language: &Arc, - ) -> Option { + _item: &lsp::CompletionItem, + _language: &Arc, + ) -> Option { None } diff --git a/crates/zed2/src/languages/python.rs b/crates/zed2/src/languages/python.rs index 8bbf022a17..3666237e69 100644 --- a/crates/zed2/src/languages/python.rs +++ b/crates/zed2/src/languages/python.rs @@ -1,7 +1,7 @@ use anyhow::Result; use async_trait::async_trait; -use language2::{LanguageServerName, LspAdapter, LspAdapterDelegate}; -use lsp2::LanguageServerBinary; +use language::{LanguageServerName, LspAdapter, LspAdapterDelegate}; +use lsp::LanguageServerBinary; use node_runtime::NodeRuntime; use smol::fs; use std::{ @@ -81,7 +81,7 @@ impl LspAdapter for PythonLspAdapter { get_cached_server_binary(container_dir, &*self.node).await } - async fn process_completion(&self, item: &mut lsp2::CompletionItem) { + async fn process_completion(&self, item: &mut lsp::CompletionItem) { // Pyright assigns each completion item a `sortText` of the form `XX.YYYY.name`. // Where `XX` is the sorting category, `YYYY` is based on most recent usage, // and `name` is the symbol name itself. @@ -104,19 +104,19 @@ impl LspAdapter for PythonLspAdapter { async fn label_for_completion( &self, - item: &lsp2::CompletionItem, - language: &Arc, - ) -> Option { + item: &lsp::CompletionItem, + language: &Arc, + ) -> Option { let label = &item.label; let grammar = language.grammar()?; let highlight_id = match item.kind? { - lsp2::CompletionItemKind::METHOD => grammar.highlight_id_for_name("function.method")?, - lsp2::CompletionItemKind::FUNCTION => grammar.highlight_id_for_name("function")?, - lsp2::CompletionItemKind::CLASS => grammar.highlight_id_for_name("type")?, - lsp2::CompletionItemKind::CONSTANT => grammar.highlight_id_for_name("constant")?, + lsp::CompletionItemKind::METHOD => grammar.highlight_id_for_name("function.method")?, + lsp::CompletionItemKind::FUNCTION => grammar.highlight_id_for_name("function")?, + lsp::CompletionItemKind::CLASS => grammar.highlight_id_for_name("type")?, + lsp::CompletionItemKind::CONSTANT => grammar.highlight_id_for_name("constant")?, _ => return None, }; - Some(language2::CodeLabel { + Some(language::CodeLabel { text: label.clone(), runs: vec![(0..label.len(), highlight_id)], filter_range: 0..label.len(), @@ -126,23 +126,23 @@ impl LspAdapter for PythonLspAdapter { async fn label_for_symbol( &self, name: &str, - kind: lsp2::SymbolKind, - language: &Arc, - ) -> Option { + kind: lsp::SymbolKind, + language: &Arc, + ) -> Option { let (text, filter_range, display_range) = match kind { - lsp2::SymbolKind::METHOD | lsp2::SymbolKind::FUNCTION => { + lsp::SymbolKind::METHOD | lsp::SymbolKind::FUNCTION => { let text = format!("def {}():\n", name); let filter_range = 4..4 + name.len(); let display_range = 0..filter_range.end; (text, filter_range, display_range) } - lsp2::SymbolKind::CLASS => { + lsp::SymbolKind::CLASS => { let text = format!("class {}:", name); let filter_range = 6..6 + name.len(); let display_range = 0..filter_range.end; (text, filter_range, display_range) } - lsp2::SymbolKind::CONSTANT => { + lsp::SymbolKind::CONSTANT => { let text = format!("{} = 0", name); let filter_range = 0..name.len(); let display_range = 0..filter_range.end; @@ -151,7 +151,7 @@ impl LspAdapter for PythonLspAdapter { _ => return None, }; - Some(language2::CodeLabel { + Some(language::CodeLabel { runs: language.highlight_text(&text.as_str().into(), display_range.clone()), text: text[display_range].to_string(), filter_range, @@ -177,12 +177,12 @@ async fn get_cached_server_binary( #[cfg(test)] mod tests { - use gpui2::{Context, ModelContext, TestAppContext}; - use language2::{language_settings::AllLanguageSettings, AutoindentMode, Buffer}; - use settings2::SettingsStore; + use gpui::{Context, ModelContext, TestAppContext}; + use language::{language_settings::AllLanguageSettings, AutoindentMode, Buffer}; + use settings::SettingsStore; use std::num::NonZeroU32; - #[gpui2::test] + #[gpui::test] async fn test_python_autoindent(cx: &mut TestAppContext) { // cx.executor().set_block_on_ticks(usize::MAX..=usize::MAX); let language = @@ -190,7 +190,7 @@ mod tests { cx.update(|cx| { let test_settings = SettingsStore::test(cx); cx.set_global(test_settings); - language2::init(cx); + language::init(cx); cx.update_global::(|store, cx| { store.update_user_settings::(cx, |s| { s.defaults.tab_size = NonZeroU32::new(2); diff --git a/crates/zed2/src/languages/ruby.rs b/crates/zed2/src/languages/ruby.rs index 8718f1c757..3890b90dbd 100644 --- a/crates/zed2/src/languages/ruby.rs +++ b/crates/zed2/src/languages/ruby.rs @@ -1,7 +1,7 @@ use anyhow::{anyhow, Result}; use async_trait::async_trait; -use language2::{LanguageServerName, LspAdapter, LspAdapterDelegate}; -use lsp2::LanguageServerBinary; +use language::{LanguageServerName, LspAdapter, LspAdapterDelegate}; +use lsp::LanguageServerBinary; use std::{any::Any, path::PathBuf, sync::Arc}; pub struct RubyLanguageServer; @@ -53,25 +53,25 @@ impl LspAdapter for RubyLanguageServer { async fn label_for_completion( &self, - item: &lsp2::CompletionItem, - language: &Arc, - ) -> Option { + item: &lsp::CompletionItem, + language: &Arc, + ) -> Option { let label = &item.label; let grammar = language.grammar()?; let highlight_id = match item.kind? { - lsp2::CompletionItemKind::METHOD => grammar.highlight_id_for_name("function.method")?, - lsp2::CompletionItemKind::CONSTANT => grammar.highlight_id_for_name("constant")?, - lsp2::CompletionItemKind::CLASS | lsp2::CompletionItemKind::MODULE => { + lsp::CompletionItemKind::METHOD => grammar.highlight_id_for_name("function.method")?, + lsp::CompletionItemKind::CONSTANT => grammar.highlight_id_for_name("constant")?, + lsp::CompletionItemKind::CLASS | lsp::CompletionItemKind::MODULE => { grammar.highlight_id_for_name("type")? } - lsp2::CompletionItemKind::KEYWORD => { + lsp::CompletionItemKind::KEYWORD => { if label.starts_with(':') { grammar.highlight_id_for_name("string.special.symbol")? } else { grammar.highlight_id_for_name("keyword")? } } - lsp2::CompletionItemKind::VARIABLE => { + lsp::CompletionItemKind::VARIABLE => { if label.starts_with('@') { grammar.highlight_id_for_name("property")? } else { @@ -80,7 +80,7 @@ impl LspAdapter for RubyLanguageServer { } _ => return None, }; - Some(language2::CodeLabel { + Some(language::CodeLabel { text: label.clone(), runs: vec![(0..label.len(), highlight_id)], filter_range: 0..label.len(), @@ -90,12 +90,12 @@ impl LspAdapter for RubyLanguageServer { async fn label_for_symbol( &self, label: &str, - kind: lsp2::SymbolKind, - language: &Arc, - ) -> Option { + kind: lsp::SymbolKind, + language: &Arc, + ) -> Option { let grammar = language.grammar()?; match kind { - lsp2::SymbolKind::METHOD => { + lsp::SymbolKind::METHOD => { let mut parts = label.split('#'); let classes = parts.next()?; let method = parts.next()?; @@ -120,21 +120,21 @@ impl LspAdapter for RubyLanguageServer { ix += 1; let end_ix = ix + method.len(); runs.push((ix..end_ix, method_id)); - Some(language2::CodeLabel { + Some(language::CodeLabel { text: label.to_string(), runs, filter_range: 0..label.len(), }) } - lsp2::SymbolKind::CONSTANT => { + lsp::SymbolKind::CONSTANT => { let constant_id = grammar.highlight_id_for_name("constant")?; - Some(language2::CodeLabel { + Some(language::CodeLabel { text: label.to_string(), runs: vec![(0..label.len(), constant_id)], filter_range: 0..label.len(), }) } - lsp2::SymbolKind::CLASS | lsp2::SymbolKind::MODULE => { + lsp::SymbolKind::CLASS | lsp::SymbolKind::MODULE => { let class_id = grammar.highlight_id_for_name("type")?; let mut ix = 0; @@ -148,7 +148,7 @@ impl LspAdapter for RubyLanguageServer { ix = end_ix; } - Some(language2::CodeLabel { + Some(language::CodeLabel { text: label.to_string(), runs, filter_range: 0..label.len(), diff --git a/crates/zed2/src/languages/rust.rs b/crates/zed2/src/languages/rust.rs index a0abcedd07..961e6fe7f0 100644 --- a/crates/zed2/src/languages/rust.rs +++ b/crates/zed2/src/languages/rust.rs @@ -2,9 +2,9 @@ use anyhow::{anyhow, Result}; use async_compression::futures::bufread::GzipDecoder; use async_trait::async_trait; use futures::{io::BufReader, StreamExt}; -pub use language2::*; +pub use language::*; use lazy_static::lazy_static; -use lsp2::LanguageServerBinary; +use lsp::LanguageServerBinary; use regex::Regex; use smol::fs::{self, File}; use std::{any::Any, borrow::Cow, env::consts, path::PathBuf, str, sync::Arc}; @@ -106,7 +106,7 @@ impl LspAdapter for RustLspAdapter { Some("rust-analyzer/flycheck".into()) } - fn process_diagnostics(&self, params: &mut lsp2::PublishDiagnosticsParams) { + fn process_diagnostics(&self, params: &mut lsp::PublishDiagnosticsParams) { lazy_static! { static ref REGEX: Regex = Regex::new("(?m)`([^`]+)\n`$").unwrap(); } @@ -128,11 +128,11 @@ impl LspAdapter for RustLspAdapter { async fn label_for_completion( &self, - completion: &lsp2::CompletionItem, + completion: &lsp::CompletionItem, language: &Arc, ) -> Option { match completion.kind { - Some(lsp2::CompletionItemKind::FIELD) if completion.detail.is_some() => { + Some(lsp::CompletionItemKind::FIELD) if completion.detail.is_some() => { let detail = completion.detail.as_ref().unwrap(); let name = &completion.label; let text = format!("{}: {}", name, detail); @@ -144,9 +144,9 @@ impl LspAdapter for RustLspAdapter { filter_range: 0..name.len(), }); } - Some(lsp2::CompletionItemKind::CONSTANT | lsp2::CompletionItemKind::VARIABLE) + Some(lsp::CompletionItemKind::CONSTANT | lsp::CompletionItemKind::VARIABLE) if completion.detail.is_some() - && completion.insert_text_format != Some(lsp2::InsertTextFormat::SNIPPET) => + && completion.insert_text_format != Some(lsp::InsertTextFormat::SNIPPET) => { let detail = completion.detail.as_ref().unwrap(); let name = &completion.label; @@ -159,7 +159,7 @@ impl LspAdapter for RustLspAdapter { filter_range: 0..name.len(), }); } - Some(lsp2::CompletionItemKind::FUNCTION | lsp2::CompletionItemKind::METHOD) + Some(lsp::CompletionItemKind::FUNCTION | lsp::CompletionItemKind::METHOD) if completion.detail.is_some() => { lazy_static! { @@ -188,12 +188,12 @@ impl LspAdapter for RustLspAdapter { } Some(kind) => { let highlight_name = match kind { - lsp2::CompletionItemKind::STRUCT - | lsp2::CompletionItemKind::INTERFACE - | lsp2::CompletionItemKind::ENUM => Some("type"), - lsp2::CompletionItemKind::ENUM_MEMBER => Some("variant"), - lsp2::CompletionItemKind::KEYWORD => Some("keyword"), - lsp2::CompletionItemKind::VALUE | lsp2::CompletionItemKind::CONSTANT => { + lsp::CompletionItemKind::STRUCT + | lsp::CompletionItemKind::INTERFACE + | lsp::CompletionItemKind::ENUM => Some("type"), + lsp::CompletionItemKind::ENUM_MEMBER => Some("variant"), + lsp::CompletionItemKind::KEYWORD => Some("keyword"), + lsp::CompletionItemKind::VALUE | lsp::CompletionItemKind::CONSTANT => { Some("constant") } _ => None, @@ -214,47 +214,47 @@ impl LspAdapter for RustLspAdapter { async fn label_for_symbol( &self, name: &str, - kind: lsp2::SymbolKind, + kind: lsp::SymbolKind, language: &Arc, ) -> Option { let (text, filter_range, display_range) = match kind { - lsp2::SymbolKind::METHOD | lsp2::SymbolKind::FUNCTION => { + lsp::SymbolKind::METHOD | lsp::SymbolKind::FUNCTION => { let text = format!("fn {} () {{}}", name); let filter_range = 3..3 + name.len(); let display_range = 0..filter_range.end; (text, filter_range, display_range) } - lsp2::SymbolKind::STRUCT => { + lsp::SymbolKind::STRUCT => { let text = format!("struct {} {{}}", name); let filter_range = 7..7 + name.len(); let display_range = 0..filter_range.end; (text, filter_range, display_range) } - lsp2::SymbolKind::ENUM => { + lsp::SymbolKind::ENUM => { let text = format!("enum {} {{}}", name); let filter_range = 5..5 + name.len(); let display_range = 0..filter_range.end; (text, filter_range, display_range) } - lsp2::SymbolKind::INTERFACE => { + lsp::SymbolKind::INTERFACE => { let text = format!("trait {} {{}}", name); let filter_range = 6..6 + name.len(); let display_range = 0..filter_range.end; (text, filter_range, display_range) } - lsp2::SymbolKind::CONSTANT => { + lsp::SymbolKind::CONSTANT => { let text = format!("const {}: () = ();", name); let filter_range = 6..6 + name.len(); let display_range = 0..filter_range.end; (text, filter_range, display_range) } - lsp2::SymbolKind::MODULE => { + lsp::SymbolKind::MODULE => { let text = format!("mod {} {{}}", name); let filter_range = 4..4 + name.len(); let display_range = 0..filter_range.end; (text, filter_range, display_range) } - lsp2::SymbolKind::TYPE_PARAMETER => { + lsp::SymbolKind::TYPE_PARAMETER => { let text = format!("type {} {{}}", name); let filter_range = 5..5 + name.len(); let display_range = 0..filter_range.end; @@ -294,29 +294,29 @@ mod tests { use super::*; use crate::languages::language; - use gpui2::{Context, Hsla, TestAppContext}; - use language2::language_settings::AllLanguageSettings; - use settings2::SettingsStore; - use theme2::SyntaxTheme; + use gpui::{Context, Hsla, TestAppContext}; + use language::language_settings::AllLanguageSettings; + use settings::SettingsStore; + use theme::SyntaxTheme; - #[gpui2::test] + #[gpui::test] async fn test_process_rust_diagnostics() { - let mut params = lsp2::PublishDiagnosticsParams { - uri: lsp2::Url::from_file_path("/a").unwrap(), + let mut params = lsp::PublishDiagnosticsParams { + uri: lsp::Url::from_file_path("/a").unwrap(), version: None, diagnostics: vec![ // no newlines - lsp2::Diagnostic { + lsp::Diagnostic { message: "use of moved value `a`".to_string(), ..Default::default() }, // newline at the end of a code span - lsp2::Diagnostic { + lsp::Diagnostic { message: "consider importing this struct: `use b::c;\n`".to_string(), ..Default::default() }, // code span starting right after a newline - lsp2::Diagnostic { + lsp::Diagnostic { message: "cannot borrow `self.d` as mutable\n`self` is a `&` reference" .to_string(), ..Default::default() @@ -340,7 +340,7 @@ mod tests { ); } - #[gpui2::test] + #[gpui::test] async fn test_rust_label_for_completion() { let language = language( "rust", @@ -365,8 +365,8 @@ mod tests { assert_eq!( language - .label_for_completion(&lsp2::CompletionItem { - kind: Some(lsp2::CompletionItemKind::FUNCTION), + .label_for_completion(&lsp::CompletionItem { + kind: Some(lsp::CompletionItemKind::FUNCTION), label: "hello(…)".to_string(), detail: Some("fn(&mut Option) -> Vec".to_string()), ..Default::default() @@ -387,8 +387,8 @@ mod tests { ); assert_eq!( language - .label_for_completion(&lsp2::CompletionItem { - kind: Some(lsp2::CompletionItemKind::FUNCTION), + .label_for_completion(&lsp::CompletionItem { + kind: Some(lsp::CompletionItemKind::FUNCTION), label: "hello(…)".to_string(), detail: Some("async fn(&mut Option) -> Vec".to_string()), ..Default::default() @@ -409,8 +409,8 @@ mod tests { ); assert_eq!( language - .label_for_completion(&lsp2::CompletionItem { - kind: Some(lsp2::CompletionItemKind::FIELD), + .label_for_completion(&lsp::CompletionItem { + kind: Some(lsp::CompletionItemKind::FIELD), label: "len".to_string(), detail: Some("usize".to_string()), ..Default::default() @@ -425,8 +425,8 @@ mod tests { assert_eq!( language - .label_for_completion(&lsp2::CompletionItem { - kind: Some(lsp2::CompletionItemKind::FUNCTION), + .label_for_completion(&lsp::CompletionItem { + kind: Some(lsp::CompletionItemKind::FUNCTION), label: "hello(…)".to_string(), detail: Some("fn(&mut Option) -> Vec".to_string()), ..Default::default() @@ -447,7 +447,7 @@ mod tests { ); } - #[gpui2::test] + #[gpui::test] async fn test_rust_label_for_symbol() { let language = language( "rust", @@ -471,7 +471,7 @@ mod tests { assert_eq!( language - .label_for_symbol("hello", lsp2::SymbolKind::FUNCTION) + .label_for_symbol("hello", lsp::SymbolKind::FUNCTION) .await, Some(CodeLabel { text: "fn hello".to_string(), @@ -482,7 +482,7 @@ mod tests { assert_eq!( language - .label_for_symbol("World", lsp2::SymbolKind::TYPE_PARAMETER) + .label_for_symbol("World", lsp::SymbolKind::TYPE_PARAMETER) .await, Some(CodeLabel { text: "type World".to_string(), @@ -492,13 +492,13 @@ mod tests { ); } - #[gpui2::test] + #[gpui::test] async fn test_rust_autoindent(cx: &mut TestAppContext) { // cx.executor().set_block_on_ticks(usize::MAX..=usize::MAX); cx.update(|cx| { let test_settings = SettingsStore::test(cx); cx.set_global(test_settings); - language2::init(cx); + language::init(cx); cx.update_global::(|store, cx| { store.update_user_settings::(cx, |s| { s.defaults.tab_size = NonZeroU32::new(2); diff --git a/crates/zed2/src/languages/svelte.rs b/crates/zed2/src/languages/svelte.rs index 53f52a6a30..34dab81772 100644 --- a/crates/zed2/src/languages/svelte.rs +++ b/crates/zed2/src/languages/svelte.rs @@ -1,8 +1,8 @@ use anyhow::{anyhow, Result}; use async_trait::async_trait; use futures::StreamExt; -use language2::{LanguageServerName, LspAdapter, LspAdapterDelegate}; -use lsp2::LanguageServerBinary; +use language::{LanguageServerName, LspAdapter, LspAdapterDelegate}; +use lsp::LanguageServerBinary; use node_runtime::NodeRuntime; use serde_json::json; use smol::fs; diff --git a/crates/zed2/src/languages/tailwind.rs b/crates/zed2/src/languages/tailwind.rs index 0aa2154f1e..6d6006dbd4 100644 --- a/crates/zed2/src/languages/tailwind.rs +++ b/crates/zed2/src/languages/tailwind.rs @@ -5,9 +5,9 @@ use futures::{ future::{self, BoxFuture}, FutureExt, StreamExt, }; -use gpui2::AppContext; -use language2::{LanguageServerName, LspAdapter, LspAdapterDelegate}; -use lsp2::LanguageServerBinary; +use gpui::AppContext; +use language::{LanguageServerName, LspAdapter, LspAdapterDelegate}; +use lsp::LanguageServerBinary; use node_runtime::NodeRuntime; use serde_json::{json, Value}; use smol::fs; diff --git a/crates/zed2/src/languages/typescript.rs b/crates/zed2/src/languages/typescript.rs index 8eecf25540..de0139b3b2 100644 --- a/crates/zed2/src/languages/typescript.rs +++ b/crates/zed2/src/languages/typescript.rs @@ -3,9 +3,9 @@ use async_compression::futures::bufread::GzipDecoder; use async_tar::Archive; use async_trait::async_trait; use futures::{future::BoxFuture, FutureExt}; -use gpui2::AppContext; -use language2::{LanguageServerName, LspAdapter, LspAdapterDelegate}; -use lsp2::{CodeActionKind, LanguageServerBinary}; +use gpui::AppContext; +use language::{LanguageServerName, LspAdapter, LspAdapterDelegate}; +use lsp::{CodeActionKind, LanguageServerBinary}; use node_runtime::NodeRuntime; use serde_json::{json, Value}; use smol::{fs, io::BufReader, stream::StreamExt}; @@ -129,10 +129,10 @@ impl LspAdapter for TypeScriptLspAdapter { async fn label_for_completion( &self, - item: &lsp2::CompletionItem, - language: &Arc, - ) -> Option { - use lsp2::CompletionItemKind as Kind; + item: &lsp::CompletionItem, + language: &Arc, + ) -> Option { + use lsp::CompletionItemKind as Kind; let len = item.label.len(); let grammar = language.grammar()?; let highlight_id = match item.kind? { @@ -149,7 +149,7 @@ impl LspAdapter for TypeScriptLspAdapter { None => item.label.clone(), }; - Some(language2::CodeLabel { + Some(language::CodeLabel { text, runs: vec![(0..len, highlight_id)], filter_range: 0..len, @@ -300,9 +300,9 @@ impl LspAdapter for EsLintLspAdapter { async fn label_for_completion( &self, - _item: &lsp2::CompletionItem, - _language: &Arc, - ) -> Option { + _item: &lsp::CompletionItem, + _language: &Arc, + ) -> Option { None } @@ -335,10 +335,10 @@ async fn get_cached_eslint_server_binary( #[cfg(test)] mod tests { - use gpui2::{Context, TestAppContext}; + use gpui::{Context, TestAppContext}; use unindent::Unindent; - #[gpui2::test] + #[gpui::test] async fn test_outline(cx: &mut TestAppContext) { let language = crate::languages::language( "typescript", @@ -363,7 +363,7 @@ mod tests { .unindent(); let buffer = cx.build_model(|cx| { - language2::Buffer::new(0, cx.entity_id().as_u64(), text).with_language(language, cx) + language::Buffer::new(0, cx.entity_id().as_u64(), text).with_language(language, cx) }); let outline = buffer.update(cx, |buffer, _| buffer.snapshot().outline(None).unwrap()); assert_eq!( diff --git a/crates/zed2/src/languages/vue.rs b/crates/zed2/src/languages/vue.rs index 0c87c4bee8..16afd2e299 100644 --- a/crates/zed2/src/languages/vue.rs +++ b/crates/zed2/src/languages/vue.rs @@ -1,8 +1,8 @@ use anyhow::{anyhow, ensure, Result}; use async_trait::async_trait; use futures::StreamExt; -pub use language2::*; -use lsp2::{CodeActionKind, LanguageServerBinary}; +pub use language::*; +use lsp::{CodeActionKind, LanguageServerBinary}; use node_runtime::NodeRuntime; use parking_lot::Mutex; use serde_json::Value; @@ -148,10 +148,10 @@ impl super::LspAdapter for VueLspAdapter { async fn label_for_completion( &self, - item: &lsp2::CompletionItem, - language: &Arc, - ) -> Option { - use lsp2::CompletionItemKind as Kind; + item: &lsp::CompletionItem, + language: &Arc, + ) -> Option { + use lsp::CompletionItemKind as Kind; let len = item.label.len(); let grammar = language.grammar()?; let highlight_id = match item.kind? { @@ -171,7 +171,7 @@ impl super::LspAdapter for VueLspAdapter { None => item.label.clone(), }; - Some(language2::CodeLabel { + Some(language::CodeLabel { text, runs: vec![(0..len, highlight_id)], filter_range: 0..len, diff --git a/crates/zed2/src/languages/yaml.rs b/crates/zed2/src/languages/yaml.rs index 338a7a7ade..8b438d0949 100644 --- a/crates/zed2/src/languages/yaml.rs +++ b/crates/zed2/src/languages/yaml.rs @@ -1,11 +1,11 @@ use anyhow::{anyhow, Result}; use async_trait::async_trait; use futures::{future::BoxFuture, FutureExt, StreamExt}; -use gpui2::AppContext; -use language2::{ +use gpui::AppContext; +use language::{ language_settings::all_language_settings, LanguageServerName, LspAdapter, LspAdapterDelegate, }; -use lsp2::LanguageServerBinary; +use lsp::LanguageServerBinary; use node_runtime::NodeRuntime; use serde_json::Value; use smol::fs; diff --git a/crates/zed2/src/main.rs b/crates/zed2/src/main.rs index 1233bee327..78e94c591c 100644 --- a/crates/zed2/src/main.rs +++ b/crates/zed2/src/main.rs @@ -8,19 +8,19 @@ use cli::{ ipc::{self, IpcSender}, CliRequest, CliResponse, IpcHandshake, FORCE_CLI_MODE_ENV_VAR_NAME, }; -use client2::UserStore; -use db2::kvp::KEY_VALUE_STORE; -use fs2::RealFs; +use client::UserStore; +use db::kvp::KEY_VALUE_STORE; +use fs::RealFs; use futures::{channel::mpsc, SinkExt, StreamExt}; -use gpui2::{App, AppContext, AsyncAppContext, Context, SemanticVersion, Task}; +use gpui::{App, AppContext, AsyncAppContext, Context, SemanticVersion, Task}; use isahc::{prelude::Configurable, Request}; -use language2::LanguageRegistry; +use language::LanguageRegistry; use log::LevelFilter; use node_runtime::RealNodeRuntime; use parking_lot::Mutex; use serde::{Deserialize, Serialize}; -use settings2::{ +use settings::{ default_settings, handle_settings_file_changes, watch_config_file, Settings, SettingsStore, }; use simplelog::ConfigBuilder; @@ -114,7 +114,7 @@ fn main() { handle_settings_file_changes(user_settings_file_rx, cx); // handle_keymap_file_changes(user_keymap_file_rx, cx); - let client = client2::Client::new(http.clone(), cx); + let client = client::Client::new(http.clone(), cx); let mut languages = LanguageRegistry::new(login_shell_env_loaded); let copilot_language_server_id = languages.next_language_server_id(); languages.set_executor(cx.background_executor().clone()); @@ -122,19 +122,19 @@ fn main() { let languages = Arc::new(languages); let node_runtime = RealNodeRuntime::new(http.clone()); - language2::init(cx); + language::init(cx); languages::init(languages.clone(), node_runtime.clone(), cx); let user_store = cx.build_model(|cx| UserStore::new(client.clone(), http.clone(), cx)); // let workspace_store = cx.add_model(|cx| WorkspaceStore::new(client.clone(), cx)); cx.set_global(client.clone()); - theme2::init(cx); + theme::init(cx); // context_menu::init(cx); - project2::Project::init(&client, cx); - client2::init(&client, cx); + project::Project::init(&client, cx); + client::init(&client, cx); // command_palette::init(cx); - language2::init(cx); + language::init(cx); // editor::init(cx); // go_to_line::init(cx); // file_finder::init(cx); @@ -147,7 +147,7 @@ fn main() { // semantic_index::init(fs.clone(), http.clone(), languages.clone(), cx); // vim::init(cx); // terminal_view::init(cx); - copilot2::init( + copilot::init( copilot_language_server_id, http.clone(), node_runtime.clone(), @@ -197,7 +197,7 @@ fn main() { // theme_selector::init(cx); // activity_indicator::init(cx); // language_tools::init(cx); - call2::init(app_state.client.clone(), app_state.user_store.clone(), cx); + call::init(app_state.client.clone(), app_state.user_store.clone(), cx); // collab_ui::init(&app_state, cx); // feedback::init(cx); // welcome::init(cx); @@ -444,7 +444,7 @@ fn init_panic_hook(app: &App, installation_id: Option, session_id: Strin std::process::exit(-1); } - let app_version = client2::ZED_APP_VERSION + let app_version = client::ZED_APP_VERSION .or(app_metadata.app_version) .map_or("dev".to_string(), |v| v.to_string()); @@ -512,11 +512,11 @@ fn init_panic_hook(app: &App, installation_id: Option, session_id: Strin } fn upload_previous_panics(http: Arc, cx: &mut AppContext) { - let telemetry_settings = *client2::TelemetrySettings::get_global(cx); + let telemetry_settings = *client::TelemetrySettings::get_global(cx); cx.background_executor() .spawn(async move { - let panic_report_url = format!("{}/api/panic", &*client2::ZED_SERVER_URL); + let panic_report_url = format!("{}/api/panic", &*client::ZED_SERVER_URL); let mut children = smol::fs::read_dir(&*paths::LOGS_DIR).await?; while let Some(child) = children.next().await { let child = child?; @@ -559,7 +559,7 @@ fn upload_previous_panics(http: Arc, cx: &mut AppContext) { if let Some(panic) = panic { let body = serde_json::to_string(&PanicRequest { panic, - token: client2::ZED_SECRET_CLIENT_TOKEN.into(), + token: client::ZED_SECRET_CLIENT_TOKEN.into(), }) .unwrap(); diff --git a/crates/zed2/src/zed2.rs b/crates/zed2/src/zed2.rs index 4389f3012a..ea8bdd9f1c 100644 --- a/crates/zed2/src/zed2.rs +++ b/crates/zed2/src/zed2.rs @@ -4,8 +4,8 @@ mod only_instance; mod open_listener; pub use assets::*; -use client2::{Client, UserStore}; -use gpui2::{AsyncAppContext, Model}; +use client::{Client, UserStore}; +use gpui::{AsyncAppContext, Model}; pub use only_instance::*; pub use open_listener::*;