Skip to content

Commit 0bccb70

Browse files
whaclaw-botwhackur
andauthored
refactor: organize application source hierarchy (#2)
* refactor: organize viewer source and refresh dependencies * refactor: organize application source hierarchy --------- Co-authored-by: whackur <whackur@gmail.com>
1 parent 3ab2be2 commit 0bccb70

101 files changed

Lines changed: 1110 additions & 1207 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

‎Cargo.lock‎

Lines changed: 4 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎docs/architecture.md‎

Lines changed: 37 additions & 25 deletions
Large diffs are not rendered by default.

‎src/app/commit_log_fetch.rs‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
use std::sync::mpsc;
88
use std::thread;
99

10-
use crate::util::{REAP_TIMEOUT, try_timed_join};
10+
use crate::platform::threading::{REAP_TIMEOUT, try_timed_join};
1111

1212
use git2::{Oid, Repository};
1313

‎src/app/commit_log_pagination.rs‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
use std::sync::mpsc::Receiver;
44
use std::thread::JoinHandle;
55

6-
use crate::util::{REAP_TIMEOUT, try_timed_join};
6+
use crate::platform::threading::{REAP_TIMEOUT, try_timed_join};
77

88
use super::commit_log_fetch::CommitLogPageMsg;
99

‎src/app/session_io.rs‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
use super::{App, Focus, NoticeKind, ViewMode};
22
use crate::git::diff::{load_commit_files, load_commit_log};
33
use crate::runtime::terminal::TerminalFullscreen;
4-
use crate::session::SessionState;
4+
use crate::workspace::persistence::SessionState;
55

66
impl App {
77
// The live view, except for a selection still waiting on its first

‎src/app/tests/session_restore.rs‎

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,7 @@ fn save_session_round_trips_list_fullscreen() {
114114
fn restore_session_list_fullscreen_forces_filelist_focus() {
115115
let mut app = app_with_files(vec![]);
116116

117-
app.restore_session(&crate::session::SessionState {
117+
app.restore_session(&crate::workspace::persistence::SessionState {
118118
focus: Some(Focus::DiffViewer),
119119
list_fullscreen: true,
120120
..Default::default()
@@ -132,7 +132,7 @@ fn restore_session_prefers_terminal_fullscreen_over_list_fullscreen() {
132132
title: "shell".into(),
133133
}];
134134

135-
app.restore_session(&crate::session::SessionState {
135+
app.restore_session(&crate::workspace::persistence::SessionState {
136136
focus: Some(Focus::FileList),
137137
terminal_fullscreen: true,
138138
list_fullscreen: true,
@@ -182,7 +182,7 @@ fn restore_session_restores_active_pane_even_when_focus_is_not_terminal() {
182182
},
183183
];
184184

185-
app.restore_session(&crate::session::SessionState {
185+
app.restore_session(&crate::workspace::persistence::SessionState {
186186
focus: Some(Focus::FileList),
187187
active_pane: 1,
188188
..Default::default()
@@ -200,7 +200,7 @@ fn restore_session_fullscreen_forces_terminal_focus() {
200200
title: "shell".into(),
201201
}];
202202

203-
app.restore_session(&crate::session::SessionState {
203+
app.restore_session(&crate::workspace::persistence::SessionState {
204204
focus: Some(Focus::FileList),
205205
terminal_fullscreen: true,
206206
..Default::default()
@@ -214,7 +214,7 @@ fn restore_session_fullscreen_forces_terminal_focus() {
214214
fn restore_session_diff_fullscreen_forces_diff_focus() {
215215
let mut app = app_with_files(vec![]);
216216

217-
app.restore_session(&crate::session::SessionState {
217+
app.restore_session(&crate::workspace::persistence::SessionState {
218218
focus: Some(Focus::FileList),
219219
diff_fullscreen: true,
220220
..Default::default()
@@ -232,7 +232,7 @@ fn restore_session_prefers_terminal_fullscreen_over_diff_fullscreen() {
232232
title: "shell".into(),
233233
}];
234234

235-
app.restore_session(&crate::session::SessionState {
235+
app.restore_session(&crate::workspace::persistence::SessionState {
236236
focus: Some(Focus::FileList),
237237
terminal_fullscreen: true,
238238
diff_fullscreen: true,
@@ -263,7 +263,7 @@ fn save_session_round_trips_diff_fullscreen() {
263263
fn restore_session_normalizes_accent_index() {
264264
let mut app = app_with_files(vec![]);
265265

266-
app.restore_session(&crate::session::SessionState {
266+
app.restore_session(&crate::workspace::persistence::SessionState {
267267
accent_idx: usize::MAX,
268268
..Default::default()
269269
});
@@ -289,7 +289,7 @@ fn restore_session_keeps_log_scroll_after_loading_commit_diff() {
289289
let mut app = app_with_files(vec![]);
290290
app.repo_path = path;
291291

292-
app.restore_session(&crate::session::SessionState {
292+
app.restore_session(&crate::workspace::persistence::SessionState {
293293
mode: Some(ViewMode::Log),
294294
scroll: 2,
295295
..Default::default()

‎src/app/tests/snapshot.rs‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ fn a_saved_mode_lands_immediately_and_survives_being_changed() {
5151
..app_with_files(vec![])
5252
};
5353

54-
app.restore_session(&crate::session::SessionState {
54+
app.restore_session(&crate::workspace::persistence::SessionState {
5555
mode: Some(ViewMode::Tree),
5656
..Default::default()
5757
});
@@ -85,7 +85,7 @@ fn a_saved_selection_is_restored_by_the_first_snapshot() {
8585
..app_with_files(vec![])
8686
};
8787

88-
app.restore_session(&crate::session::SessionState {
88+
app.restore_session(&crate::workspace::persistence::SessionState {
8989
selected_file: Some("b.rs".to_string()),
9090
..Default::default()
9191
});

‎src/app/tests/terminal_init.rs‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ fn restore_session_overrides_fresh_launch_terminal_focus() {
2525
app.ensure_initial_terminal(&[]);
2626
assert_eq!(app.focus, Focus::Terminal);
2727
// A restored session must win over the fresh-launch terminal focus.
28-
app.restore_session(&crate::session::SessionState {
28+
app.restore_session(&crate::workspace::persistence::SessionState {
2929
focus: Some(Focus::FileList),
3030
..Default::default()
3131
});
@@ -40,7 +40,7 @@ fn restore_pane_focus_wins_immediately_without_snapshot() {
4040
let mut app = app_with_fake_backend();
4141
app.ensure_initial_terminal(&[]);
4242
assert_eq!(app.focus, Focus::Terminal);
43-
app.restore_pane_focus(&crate::session::SessionState {
43+
app.restore_pane_focus(&crate::workspace::persistence::SessionState {
4444
focus: Some(Focus::FileList),
4545
..Default::default()
4646
});

‎src/app/tests/tree_session.rs‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -127,7 +127,7 @@ fn restoring_tree_session_clears_lingering_status_search() {
127127
app.search_push('x');
128128
assert!(app.status_view.search_active);
129129

130-
app.restore_session(&crate::session::SessionState {
130+
app.restore_session(&crate::workspace::persistence::SessionState {
131131
mode: Some(ViewMode::Tree),
132132
..Default::default()
133133
});
@@ -163,7 +163,7 @@ fn restore_tree_session_ignores_unsafe_expanded_paths() {
163163
let (dir, path) = make_tree_repo();
164164
let mut app = app_on(&path);
165165

166-
app.restore_session(&crate::session::SessionState {
166+
app.restore_session(&crate::workspace::persistence::SessionState {
167167
mode: Some(ViewMode::Tree),
168168
tree_expanded: vec![
169169
"../../..".to_string(),
@@ -191,7 +191,7 @@ fn restore_tree_session_prunes_expansion_gone_since_save() {
191191
std::fs::rename(Path::new(&path).join("src"), Path::new(&path).join("lib")).unwrap();
192192
let mut app = app_on(&path);
193193

194-
app.restore_session(&crate::session::SessionState {
194+
app.restore_session(&crate::workspace::persistence::SessionState {
195195
mode: Some(ViewMode::Tree),
196196
tree_expanded: vec!["src".to_string()],
197197
tree_selected_path: Some("src".to_string()),
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
use crate::app::App;
2-
use crate::session::SessionState;
2+
use crate::workspace::persistence::SessionState;
33

44
pub(crate) fn init_app(
55
repo_path: &str,

0 commit comments

Comments
 (0)