Skip to content

Commit de5e65c

Browse files
refactor some small session fields
1 parent 9e13422 commit de5e65c

File tree

2 files changed

+13
-8
lines changed

2 files changed

+13
-8
lines changed

crates/djls-server/src/server.rs

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ impl LanguageServer for DjangoLanguageServer {
6161
client::log_message(MessageType::INFO, "Initializing server...");
6262

6363
self.with_session_mut(|session| {
64-
*session.client_capabilities_mut() = Some(params.capabilities);
64+
session.set_client_capabilities(params.capabilities);
6565
})
6666
.await;
6767

@@ -121,9 +121,11 @@ impl LanguageServer for DjangoLanguageServer {
121121
self.with_session_mut(|session| {
122122
let settings = djls_conf::Settings::new(&project_path)
123123
.unwrap_or_else(|_| djls_conf::Settings::default());
124-
*session.settings_mut() = settings;
124+
session.set_settings(settings);
125+
126+
let project = djls_project::DjangoProject::new(project_path);
127+
session.set_project(project);
125128

126-
*session.project_mut() = Some(djls_project::DjangoProject::new(project_path));
127129
true
128130
})
129131
.await
@@ -298,7 +300,7 @@ impl LanguageServer for DjangoLanguageServer {
298300
if let Some(path) = project_path {
299301
self.with_session_mut(|session| match djls_conf::Settings::new(path.as_path()) {
300302
Ok(new_settings) => {
301-
*session.settings_mut() = new_settings;
303+
session.set_settings(new_settings);
302304
}
303305
Err(e) => {
304306
client::log_message(MessageType::ERROR, format!("Error loading settings: {e}"));

crates/djls-server/src/session.rs

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -45,8 +45,8 @@ pub struct Session {
4545
}
4646

4747
impl Session {
48-
pub fn client_capabilities_mut(&mut self) -> &mut Option<ClientCapabilities> {
49-
&mut self.client_capabilities
48+
pub fn set_client_capabilities(&mut self, client_capabilities: ClientCapabilities) {
49+
self.client_capabilities = Some(client_capabilities);
5050
}
5151

5252
pub fn project(&self) -> Option<&DjangoProject> {
@@ -56,6 +56,9 @@ impl Session {
5656
pub fn project_mut(&mut self) -> &mut Option<DjangoProject> {
5757
&mut self.project
5858
}
59+
pub fn set_project(&mut self, project: DjangoProject) {
60+
self.project = Some(project);
61+
}
5962

6063
pub fn documents(&self) -> &Store {
6164
&self.documents
@@ -69,8 +72,8 @@ impl Session {
6972
&self.settings
7073
}
7174

72-
pub fn settings_mut(&mut self) -> &mut Settings {
73-
&mut self.settings
75+
pub fn set_settings(&mut self, settings: Settings) {
76+
self.settings = settings;
7477
}
7578

7679
/// Get a database instance directly from the session

0 commit comments

Comments
 (0)