remove single directory option

pull/13344/head
mageowl 2025-04-15 07:59:21 -07:00
parent 0df1ec27ce
commit c65f660977
2 changed files with 76 additions and 94 deletions

View File

@ -25,7 +25,7 @@ use helix_core::{
use helix_view::{
annotations::diagnostics::DiagnosticFilter,
document::{Mode, SCRATCH_BUFFER_NAME},
editor::{BufferLineDirectories, CompleteAction, CursorShapeConfig},
editor::{CompleteAction, CursorShapeConfig},
graphics::{Color, CursorKind, Modifier, Rect, Style},
input::{KeyEvent, MouseButton, MouseEvent, MouseEventKind},
keyboard::{KeyCode, KeyModifiers},
@ -633,8 +633,7 @@ impl EditorView {
let current_doc = view!(editor).doc;
let mut documents: HashMap<_, _>;
let fnames: HashMap<_, _> = match &editor.config().bufferline_directories {
BufferLineDirectories::Smart => {
let fnames: HashMap<_, _> = if editor.config().bufferline_show_directories {
documents = editor
.documents()
.map(|doc| {
@ -698,25 +697,21 @@ impl EditorView {
)
})
.collect()
}
bufferline_directories => editor
} else {
editor
.documents()
.map(|doc| {
(
doc.id(),
if *bufferline_directories == BufferLineDirectories::Never {
doc.path()
.unwrap_or(&scratch)
.file_name()
.unwrap_or_default()
.to_str()
.unwrap_or_default()
} else {
doc.path().unwrap_or(&scratch).to_str().unwrap_or_default()
},
.unwrap_or_default(),
)
})
.collect(),
.collect()
};
for doc in editor.documents() {

View File

@ -333,7 +333,7 @@ pub struct Config {
/// Persistently display open buffers along the top
pub bufferline: BufferLine,
/// Show the parent directory of files in the bufferline.
pub bufferline_directories: BufferLineDirectories,
pub bufferline_show_directories: bool,
/// Vertical indent width guides.
pub indent_guides: IndentGuidesConfig,
/// Whether to color modes with different colors. Defaults to `false`.
@ -683,19 +683,6 @@ pub enum BufferLine {
Multiple,
}
/// bufferline directory render modes
#[derive(Debug, Default, Clone, PartialEq, Eq, Serialize, Deserialize)]
#[serde(rename_all = "kebab-case")]
pub enum BufferLineDirectories {
/// Only render filenames
#[default]
Never,
/// Always render one parent directory
One,
/// Only render directories for files with the same name
Smart,
}
#[derive(Debug, Copy, Clone, PartialEq, Eq, Serialize, Deserialize)]
#[serde(rename_all = "kebab-case")]
pub enum LineNumber {
@ -1014,7 +1001,7 @@ impl Default for Config {
rulers: Vec::new(),
whitespace: WhitespaceConfig::default(),
bufferline: BufferLine::default(),
bufferline_directories: BufferLineDirectories::default(),
bufferline_show_directories: false,
indent_guides: IndentGuidesConfig::default(),
color_modes: false,
soft_wrap: SoftWrap {