args for scroll_{up,down,left,right}; scroll_step_vertical only for mouse
This commit is contained in:
parent
00abd90cd5
commit
5d7323bfe7
1 changed files with 26 additions and 20 deletions
|
|
@ -3007,17 +3007,15 @@ pub const Editor = struct {
|
||||||
self.update_animation_step(dest);
|
self.update_animation_step(dest);
|
||||||
}
|
}
|
||||||
|
|
||||||
fn scroll_up_internal(self: *Self) void {
|
fn scroll_up_internal(self: *Self, count: usize) void {
|
||||||
const scroll_step_vertical = tui.config().scroll_step_vertical;
|
|
||||||
var dest_row = self.scroll_dest;
|
var dest_row = self.scroll_dest;
|
||||||
dest_row = if (dest_row > scroll_step_vertical) dest_row - scroll_step_vertical else 0;
|
dest_row -|= count;
|
||||||
self.update_scroll_dest_abs(dest_row);
|
self.update_scroll_dest_abs(dest_row);
|
||||||
}
|
}
|
||||||
|
|
||||||
fn scroll_down_internal(self: *Self) void {
|
fn scroll_down_internal(self: *Self, count: usize) void {
|
||||||
const scroll_step_vertical = tui.config().scroll_step_vertical;
|
|
||||||
var dest_row = self.scroll_dest;
|
var dest_row = self.scroll_dest;
|
||||||
dest_row += scroll_step_vertical;
|
dest_row += count;
|
||||||
self.update_scroll_dest_abs(dest_row);
|
self.update_scroll_dest_abs(dest_row);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -3040,7 +3038,7 @@ pub const Editor = struct {
|
||||||
else if (tui.fast_scroll())
|
else if (tui.fast_scroll())
|
||||||
self.scroll_pageup()
|
self.scroll_pageup()
|
||||||
else
|
else
|
||||||
self.scroll_up_internal();
|
self.scroll_up_internal(tui.config().scroll_step_vertical);
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn mouse_scroll_down(self: *Self) void {
|
pub fn mouse_scroll_down(self: *Self) void {
|
||||||
|
|
@ -3049,7 +3047,7 @@ pub const Editor = struct {
|
||||||
else if (tui.fast_scroll())
|
else if (tui.fast_scroll())
|
||||||
self.scroll_pagedown()
|
self.scroll_pagedown()
|
||||||
else
|
else
|
||||||
self.scroll_down_internal();
|
self.scroll_down_internal(tui.config().scroll_step_vertical);
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn scroll_to(self: *Self, row: usize) void {
|
pub fn scroll_to(self: *Self, row: usize) void {
|
||||||
|
|
@ -4542,15 +4540,19 @@ pub const Editor = struct {
|
||||||
}
|
}
|
||||||
pub const unindent_meta: Meta = .{ .description = "Unindent current line", .arguments = &.{.integer} };
|
pub const unindent_meta: Meta = .{ .description = "Unindent current line", .arguments = &.{.integer} };
|
||||||
|
|
||||||
pub fn scroll_up(self: *Self, _: Context) Result {
|
pub fn scroll_up(self: *Self, ctx: Context) Result {
|
||||||
self.scroll_up_internal();
|
var count: usize = 1;
|
||||||
|
_ = ctx.args.match(.{tp.extract(&count)}) catch false;
|
||||||
|
self.scroll_up_internal(count);
|
||||||
}
|
}
|
||||||
pub const scroll_up_meta: Meta = .{ .description = "Scroll up" };
|
pub const scroll_up_meta: Meta = .{ .description = "Scroll up", .arguments = &.{.integer} };
|
||||||
|
|
||||||
pub fn scroll_down(self: *Self, _: Context) Result {
|
pub fn scroll_down(self: *Self, ctx: Context) Result {
|
||||||
self.scroll_down_internal();
|
var count: usize = 1;
|
||||||
|
_ = ctx.args.match(.{tp.extract(&count)}) catch false;
|
||||||
|
self.scroll_down_internal(count);
|
||||||
}
|
}
|
||||||
pub const scroll_down_meta: Meta = .{ .description = "Scroll down" };
|
pub const scroll_down_meta: Meta = .{ .description = "Scroll down", .arguments = &.{.integer} };
|
||||||
|
|
||||||
pub fn move_scroll_up(self: *Self, ctx: Context) Result {
|
pub fn move_scroll_up(self: *Self, ctx: Context) Result {
|
||||||
const root = try self.buf_root();
|
const root = try self.buf_root();
|
||||||
|
|
@ -4568,15 +4570,19 @@ pub const Editor = struct {
|
||||||
}
|
}
|
||||||
pub const move_scroll_down_meta: Meta = .{ .description = "Move and scroll down", .arguments = &.{.integer} };
|
pub const move_scroll_down_meta: Meta = .{ .description = "Move and scroll down", .arguments = &.{.integer} };
|
||||||
|
|
||||||
pub fn scroll_left(self: *Self, _: Context) Result {
|
pub fn scroll_left(self: *Self, ctx: Context) Result {
|
||||||
self.view.move_left(tui.config().scroll_step_horizontal) catch {};
|
var count: usize = 1;
|
||||||
|
_ = ctx.args.match(.{tp.extract(&count)}) catch false;
|
||||||
|
self.view.move_left(count) catch {};
|
||||||
}
|
}
|
||||||
pub const scroll_left_meta: Meta = .{ .description = "Scroll left" };
|
pub const scroll_left_meta: Meta = .{ .description = "Scroll left", .arguments = &.{.integer} };
|
||||||
|
|
||||||
pub fn scroll_right(self: *Self, _: Context) Result {
|
pub fn scroll_right(self: *Self, ctx: Context) Result {
|
||||||
self.view.move_right(tui.config().scroll_step_horizontal) catch {};
|
var count: usize = 1;
|
||||||
|
_ = ctx.args.match(.{tp.extract(&count)}) catch false;
|
||||||
|
self.view.move_right(count) catch {};
|
||||||
}
|
}
|
||||||
pub const scroll_right_meta: Meta = .{ .description = "Scroll right" };
|
pub const scroll_right_meta: Meta = .{ .description = "Scroll right", .arguments = &.{.integer} };
|
||||||
|
|
||||||
pub fn mouse_scroll_left(self: *Self) void {
|
pub fn mouse_scroll_left(self: *Self) void {
|
||||||
const scroll_step_horizontal = tui.config().scroll_step_horizontal;
|
const scroll_step_horizontal = tui.config().scroll_step_horizontal;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue