diff options
author | Tobias Gläßer <tobimensch@users.noreply.github.com> | 2018-11-15 23:52:14 +0100 |
---|---|---|
committer | Thomas Buckley-Houston <tom@tombh.co.uk> | 2019-06-24 09:12:20 +0300 |
commit | 935983725c09df938962f64e683dc6766f527a97 (patch) | |
tree | a4519c37b4096a4396e1d79e0111a1d4bdfb4102 | |
parent | b780a79f2e8fd3f9a523fee7f6e04723f0930298 (diff) |
Added vim feature for editing URL in new tab
-rw-r--r-- | interfacer/src/browsh/config.go | 1 | ||||
-rw-r--r-- | interfacer/src/browsh/tab.go | 8 | ||||
-rw-r--r-- | interfacer/src/browsh/vim_mode.go | 2 |
3 files changed, 10 insertions, 1 deletions
diff --git a/interfacer/src/browsh/config.go b/interfacer/src/browsh/config.go index 7405f1d..0ffd915 100644 --- a/interfacer/src/browsh/config.go +++ b/interfacer/src/browsh/config.go @@ -85,6 +85,7 @@ func setDefaults() { vimCommandsBindings["u"] = "scrollHalfPageUp" vimCommandsBindings["e"] = "editURL" vimCommandsBindings["ge"] = "editURL" + vimCommandsBindings["gE"] = "editURLInNewTab" vimCommandsBindings["H"] = "historyBack" vimCommandsBindings["L"] = "historyForward" vimCommandsBindings["J"] = "prevTab" diff --git a/interfacer/src/browsh/tab.go b/interfacer/src/browsh/tab.go index b5ab03f..a212f23 100644 --- a/interfacer/src/browsh/tab.go +++ b/interfacer/src/browsh/tab.go @@ -130,18 +130,24 @@ func duplicateTab(id int) { // tab then we can't talk to it to tell it navigate. So we need to only create a real new // tab when we actually have a URL. func createNewEmptyTab() { + createNewEmptyTabWithURI("") +} + +func createNewEmptyTabWithURI(URI string) { if isNewEmptyTabActive() { return } newTab(-1) tab := Tabs[-1] tab.Title = "New Tab" - tab.URI = "" + tab.URI = URI tab.Active = true CurrentTab = tab CurrentTab.frame.resetCells() renderUI() URLBarFocus(true) + // Allows for typing directly at the end of URI + urlInputBox.selectionOff() renderCurrentTabWindow() } diff --git a/interfacer/src/browsh/vim_mode.go b/interfacer/src/browsh/vim_mode.go index 61edf87..6a11219 100644 --- a/interfacer/src/browsh/vim_mode.go +++ b/interfacer/src/browsh/vim_mode.go @@ -419,6 +419,8 @@ func executeVimCommand(command string) { doScroll(1, 0) case "editURL": urlBarFocusToggle() + case "editURLInNewTab": + createNewEmptyTabWithURI(CurrentTab.URI) case "firstTab": switchToTab(tabsOrder[0]) case "lastTab": |