Improve documentation and consolidate path/URL utilities

- Added comprehensive module-level documentation to all djls-workspace modules
- Consolidated scattered URL/path conversion utilities into paths module
- Added documentation explaining the 'why' for key types and abstractions
- Added #[must_use] annotations to constructors and getters
- Focused on explaining architecture and design decisions rather than obvious behavior
This commit is contained in:
Josh Thomas 2025-08-29 15:35:02 -05:00
parent 2dd779bcda
commit f3fb8e7045
12 changed files with 295 additions and 83 deletions

View file

@ -1,8 +1,23 @@
//! Workspace management for the Django Language Server
//!
//! This crate provides the core workspace functionality including document management,
//! file system abstractions, and Salsa integration for incremental computation of
//! Django projects.
//!
//! # Key Components
//!
//! - [`Buffers`] - Thread-safe storage for open documents
//! - [`Database`] - Salsa database for incremental computation
//! - [`TextDocument`] - LSP document representation with efficient indexing
//! - [`FileSystem`] - Abstraction layer for file operations with overlay support
//! - [`paths`] - Consistent URL/path conversion utilities
mod buffers;
pub mod db;
mod document;
mod fs;
mod language;
pub mod paths;
mod template;
pub use buffers::Buffers;