paths: Replace lazy_static! with OnceLock (#13213)

This PR replaces the `lazy_static!` usages in the `paths` crate with
`OnceLock` from the standard library.

This allows us to drop the `lazy_static` dependency from this crate.

The paths are now exposed as accessor functions that reference a private
static value.

Release Notes:

- N/A
This commit is contained in:
Marshall Bowers 2024-06-18 12:22:37 -04:00 committed by GitHub
parent ba59e66314
commit 81475ac4cd
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
27 changed files with 322 additions and 172 deletions

View file

@ -12,7 +12,6 @@ use gpui::{AppContext, BackgroundExecutor, Global, ReadGlobal, Task, UpdateGloba
use heed::types::SerdeBincode;
use heed::Database;
use parking_lot::RwLock;
use paths::SUPPORT_DIR;
use serde::{Deserialize, Serialize};
use util::ResultExt;
@ -57,7 +56,10 @@ impl RustdocStore {
.spawn({
let executor = executor.clone();
async move {
RustdocDatabase::new(SUPPORT_DIR.join("docs/rust/rustdoc-db.0.mdb"), executor)
RustdocDatabase::new(
paths::support_dir().join("docs/rust/rustdoc-db.0.mdb"),
executor,
)
}
})
.then(|result| future::ready(result.map(Arc::new).map_err(Arc::new)))