mirror of https://github.com/helix-editor/helix
feat: add placeholder line content in local_search result
Display placeholder line content with local_search result. Since columns expect a fn and not a closure it proved challenging to extract data from cx.editor without borrowing cx within the scope. For now a placeholder line content is placed until we fix this.pull/13053/head
parent
e37265e16f
commit
fc7955094d
|
@ -2679,13 +2679,21 @@ fn local_search(cx: &mut Context) {
|
|||
|
||||
let columns = [
|
||||
PickerColumn::new("path", |item: &FileResult, config: &LocalSearchConfig| {
|
||||
Cell::from(Spans::from(
|
||||
// only show line numbers in the left picker column
|
||||
vec![Span::styled(
|
||||
(item.line_num + 1).to_string(),
|
||||
config.number_style,
|
||||
)],
|
||||
))
|
||||
let line_num = (item.line_num + 1).to_string();
|
||||
// files can never contain more than 999_999_999_999 lines
|
||||
// thus using maximum line length to be 12 for this formatter is valid
|
||||
let max_line_num_length = 12;
|
||||
// whitespace padding to align results after the line number
|
||||
let padding_length = max_line_num_length - line_num.len();
|
||||
let padding = " ".repeat(padding_length);
|
||||
// extract line content from the editor
|
||||
let line_content = "<insert line content here>";
|
||||
// create column value to be displayed in the picker
|
||||
Cell::from(Spans::from(vec![
|
||||
Span::styled(line_num, config.number_style),
|
||||
Span::raw(padding),
|
||||
Span::raw(line_content),
|
||||
]))
|
||||
}),
|
||||
PickerColumn::hidden("contents"),
|
||||
];
|
||||
|
|
Loading…
Reference in New Issue