refactor: add mainview.get_editor_for_buffer
This commit is contained in:
parent
d08749123f
commit
3fb4bd6510
1 changed files with 11 additions and 1 deletions
|
|
@ -1347,7 +1347,7 @@ const cmds = struct {
|
|||
if (!try ctx.args.match(.{ tp.extract(&buffer_ref), tp.extract(&output) }))
|
||||
return error.InvalidShellOutputArgument;
|
||||
const buffer = self.buffer_manager.buffer_from_ref(buffer_ref) orelse return;
|
||||
if (self.get_active_editor()) |editor| if (editor.buffer) |eb| if (eb == buffer) {
|
||||
if (self.get_editor_for_buffer(buffer)) |editor| if (editor.buffer) |eb| if (eb == buffer) {
|
||||
editor.smart_buffer_append(command.fmt(.{output})) catch {};
|
||||
tui.need_render();
|
||||
return;
|
||||
|
|
@ -1574,6 +1574,16 @@ pub fn get_active_editor(self: *Self) ?*ed.Editor {
|
|||
return null;
|
||||
}
|
||||
|
||||
pub fn get_editor_for_buffer(self: *Self, buffer: *Buffer) ?*ed.Editor {
|
||||
for (self.views.widgets.items) |*view| {
|
||||
const editor = view.widget.get("editor") orelse continue;
|
||||
if (editor.dynamic_cast(ed.EditorWidget)) |p|
|
||||
if (p.editor.buffer == buffer)
|
||||
return &p.editor;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
pub fn get_view_for_file(self: *Self, file_path: []const u8) ?usize {
|
||||
for (self.views.widgets.items, 0..) |*view, n| {
|
||||
const editor = view.widget.get("editor") orelse continue;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue