Skip to content

Commit

Permalink
Add horizontal and vertical split scratch buffers
Browse files Browse the repository at this point in the history
Make subcommand name more descriptive

Fix vsplit completer

Run cargo xtask docgen
  • Loading branch information
jharrilim committed Mar 7, 2022
1 parent b0aaf08 commit 6c717e4
Show file tree
Hide file tree
Showing 4 changed files with 54 additions and 0 deletions.
2 changes: 2 additions & 0 deletions book/src/generated/typable-cmd.md
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,9 @@
| `:debug-remote`, `:dbg-tcp` | Connect to a debug adapter by TCP address and start a debugging session from a given template with given parameters. |
| `:debug-eval` | Evaluate expression in current debug context. |
| `:vsplit`, `:vs` | Open the file in a vertical split. |
| `:vsplit-new`, `:vnew` | Open a scratch buffer in a vertical split. |
| `:hsplit`, `:hs`, `:sp` | Open the file in a horizontal split. |
| `:hsplit-new`, `:hnew` | Open a scratch buffer in a horizontal split. |
| `:tutor` | Open the tutorial. |
| `:goto`, `:g` | Go to line number. |
| `:set-option`, `:set` | Set a config option at runtime |
Expand Down
10 changes: 10 additions & 0 deletions helix-term/src/commands.rs
Original file line number Diff line number Diff line change
Expand Up @@ -380,7 +380,9 @@ impl MappableCommand {
jump_view_down, "Jump to the split below",
rotate_view, "Goto next window",
hsplit, "Horizontal bottom split",
hsplit_new, "Horizontal bottom split scratch buffer",
vsplit, "Vertical right split",
vsplit_new, "Vertical right split scratch buffer",
wclose, "Close window",
wonly, "Current window only",
select_register, "Select register",
Expand Down Expand Up @@ -3787,10 +3789,18 @@ fn hsplit(cx: &mut Context) {
split(cx, Action::HorizontalSplit);
}

fn hsplit_new(cx: &mut Context) {
cx.editor.new_file(Action::HorizontalSplit);
}

fn vsplit(cx: &mut Context) {
split(cx, Action::VerticalSplit);
}

fn vsplit_new(cx: &mut Context) {
cx.editor.new_file(Action::VerticalSplit);
}

fn wclose(cx: &mut Context) {
if cx.editor.tree.views().count() == 1 {
if let Err(err) = typed::buffers_remaining_impl(cx.editor) {
Expand Down
34 changes: 34 additions & 0 deletions helix-term/src/commands/typed.rs
Original file line number Diff line number Diff line change
Expand Up @@ -771,6 +771,26 @@ fn hsplit(
Ok(())
}

fn vsplit_new(
cx: &mut compositor::Context,
_args: &[Cow<str>],
_event: PromptEvent,
) -> anyhow::Result<()> {
cx.editor.new_file(Action::VerticalSplit);

Ok(())
}

fn hsplit_new(
cx: &mut compositor::Context,
_args: &[Cow<str>],
_event: PromptEvent,
) -> anyhow::Result<()> {
cx.editor.new_file(Action::HorizontalSplit);

Ok(())
}

fn debug_eval(
cx: &mut compositor::Context,
args: &[Cow<str>],
Expand Down Expand Up @@ -1293,13 +1313,27 @@ pub const TYPABLE_COMMAND_LIST: &[TypableCommand] = &[
fun: vsplit,
completer: Some(completers::filename),
},
TypableCommand {
name: "vsplit-new",
aliases: &["vnew"],
doc: "Open a scratch buffer in a vertical split.",
fun: vsplit_new,
completer: None,
},
TypableCommand {
name: "hsplit",
aliases: &["hs", "sp"],
doc: "Open the file in a horizontal split.",
fun: hsplit,
completer: Some(completers::filename),
},
TypableCommand {
name: "hsplit-new",
aliases: &["hnew"],
doc: "Open a scratch buffer in a horizontal split.",
fun: hsplit_new,
completer: None,
},
TypableCommand {
name: "tutor",
aliases: &[],
Expand Down
8 changes: 8 additions & 0 deletions helix-term/src/keymap.rs
Original file line number Diff line number Diff line change
Expand Up @@ -682,6 +682,10 @@ impl Default for Keymaps {
"C-j" | "j" | "down" => jump_view_down,
"C-k" | "k" | "up" => jump_view_up,
"C-l" | "l" | "right" => jump_view_right,
"n" => { "New split scratch buffer"
"C-s" | "s" => hsplit_new,
"C-v" | "v" => vsplit_new,
},
},

// move under <space>c
Expand Down Expand Up @@ -732,6 +736,10 @@ impl Default for Keymaps {
"C-j" | "j" | "down" => jump_view_down,
"C-k" | "k" | "up" => jump_view_up,
"C-l" | "l" | "right" => jump_view_right,
"n" => { "New split scratch buffer"
"C-s" | "s" => hsplit_new,
"C-v" | "v" => vsplit_new,
},
},
"y" => yank_joined_to_clipboard,
"Y" => yank_main_selection_to_clipboard,
Expand Down

0 comments on commit 6c717e4

Please sign in to comment.