feat: improve tab title for mod.rs files
This commit is contained in:
parent
ed56f3dc9f
commit
0581f96f46
1 changed files with 19 additions and 1 deletions
20
src/tab.rs
20
src/tab.rs
|
|
@ -190,7 +190,10 @@ impl EditorTab {
|
||||||
if let Some(path) = &self.path_opt {
|
if let Some(path) = &self.path_opt {
|
||||||
match path.file_name() {
|
match path.file_name() {
|
||||||
Some(file_name_os) => match file_name_os.to_str() {
|
Some(file_name_os) => match file_name_os.to_str() {
|
||||||
Some(file_name) => file_name.to_string(),
|
Some(file_name) => match file_name {
|
||||||
|
"mod.rs" => title_with_parent(&path, file_name),
|
||||||
|
_ => file_name.to_string(),
|
||||||
|
},
|
||||||
None => format!("{}", path.display()),
|
None => format!("{}", path.display()),
|
||||||
},
|
},
|
||||||
None => format!("{}", path.display()),
|
None => format!("{}", path.display()),
|
||||||
|
|
@ -290,3 +293,18 @@ impl EditorTab {
|
||||||
false
|
false
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Includes parent name in tab title
|
||||||
|
///
|
||||||
|
/// Useful for distinguishing between Rust modules named `mod.rs`
|
||||||
|
fn title_with_parent(path: &std::path::Path, file_name: &str) -> String {
|
||||||
|
let parent_name = path
|
||||||
|
.parent()
|
||||||
|
.and_then(|path| path.file_name())
|
||||||
|
.and_then(|os_str| os_str.to_str());
|
||||||
|
|
||||||
|
match parent_name {
|
||||||
|
Some(parent) => [parent, "/", file_name].concat(),
|
||||||
|
None => file_name.to_string(),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue