Moved settings_file.rs into settings crate. Should be ready to start now :D

Mikayla Maki created

Change summary

Cargo.lock                           |  3 +++
crates/language/src/buffer.rs        |  4 +++-
crates/settings/Cargo.toml           |  5 ++++-
crates/settings/src/settings.rs      |  1 +
crates/settings/src/settings_file.rs | 12 +++++++-----
crates/zed/src/main.rs               |  6 ++----
crates/zed/src/zed.rs                |  1 -
7 files changed, 20 insertions(+), 12 deletions(-)

Detailed changes

Cargo.lock 🔗

@@ -5060,8 +5060,11 @@ dependencies = [
  "anyhow",
  "assets",
  "collections",
+ "fs",
+ "futures",
  "gpui",
  "json_comments",
+ "postage",
  "schemars",
  "serde",
  "serde_json",

crates/language/src/buffer.rs 🔗

@@ -40,7 +40,9 @@ use sum_tree::TreeMap;
 use text::operation_queue::OperationQueue;
 pub use text::{Buffer as TextBuffer, BufferSnapshot as TextBufferSnapshot, Operation as _, *};
 use theme::SyntaxTheme;
-use util::{RandomCharIter, TryFutureExt as _};
+#[cfg(any(test, feature = "test-support"))]
+use util::RandomCharIter;
+use util::TryFutureExt as _;
 
 #[cfg(any(test, feature = "test-support"))]
 pub use {tree_sitter_rust, tree_sitter_typescript};

crates/settings/Cargo.toml 🔗

@@ -14,10 +14,13 @@ test-support = []
 assets = { path = "../assets" }
 collections = { path = "../collections" }
 gpui = { path = "../gpui" }
+fs = { path = "../fs" }
+anyhow = "1.0.38"
+futures = "0.3"
 theme = { path = "../theme" }
 util = { path = "../util" }
-anyhow = "1.0.38"
 json_comments = "0.2"
+postage = { version = "0.4.1", features = ["futures-traits"] }
 schemars = "0.8"
 serde = { workspace = true }
 serde_json = { workspace = true }

crates/zed/src/settings_file.rs → crates/settings/src/settings_file.rs 🔗

@@ -1,14 +1,16 @@
+use fs::Fs;
 use futures::StreamExt;
 use gpui::{executor, MutableAppContext};
 use postage::sink::Sink as _;
 use postage::{prelude::Stream, watch};
-use project::Fs;
 use serde::Deserialize;
-use settings::{parse_json_with_comments, KeymapFileContent, Settings, SettingsFileContent};
+
 use std::{path::Path, sync::Arc, time::Duration};
 use theme::ThemeRegistry;
 use util::ResultExt;
 
+use crate::{parse_json_with_comments, KeymapFileContent, Settings, SettingsFileContent};
+
 #[derive(Clone)]
 pub struct WatchedJsonFile<T>(pub watch::Receiver<T>);
 
@@ -77,7 +79,7 @@ pub fn watch_settings_file(
 
 pub fn keymap_updated(content: KeymapFileContent, cx: &mut MutableAppContext) {
     cx.clear_bindings();
-    settings::KeymapFileContent::load_defaults(cx);
+    KeymapFileContent::load_defaults(cx);
     content.add_to_cx(cx).log_err();
 }
 
@@ -105,8 +107,8 @@ pub fn watch_keymap_file(mut file: WatchedJsonFile<KeymapFileContent>, cx: &mut
 #[cfg(test)]
 mod tests {
     use super::*;
-    use project::FakeFs;
-    use settings::{EditorSettings, SoftWrap};
+    use crate::{EditorSettings, SoftWrap};
+    use fs::FakeFs;
 
     #[gpui::test]
     async fn test_watch_settings_files(cx: &mut gpui::TestAppContext) {

crates/zed/src/main.rs 🔗

@@ -32,13 +32,11 @@ use std::{env, ffi::OsStr, panic, path::PathBuf, sync::Arc, thread, time::Durati
 use terminal::terminal_container_view::{get_working_directory, TerminalContainer};
 
 use fs::RealFs;
+use settings::settings_file::{watch_keymap_file, watch_settings_file, WatchedJsonFile};
 use theme::ThemeRegistry;
 use util::{ResultExt, TryFutureExt};
 use workspace::{self, AppState, ItemHandle, NewFile, OpenPaths, Workspace};
-use zed::{
-    self, build_window_options, initialize_workspace, languages, menus,
-    settings_file::{watch_keymap_file, watch_settings_file, WatchedJsonFile},
-};
+use zed::{self, build_window_options, initialize_workspace, languages, menus};
 
 fn main() {
     let http = http::client();

crates/zed/src/zed.rs 🔗

@@ -2,7 +2,6 @@ mod feedback;
 pub mod languages;
 pub mod menus;
 pub mod paths;
-pub mod settings_file;
 #[cfg(any(test, feature = "test-support"))]
 pub mod test;