summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTobias Gläßer <tobimensch@users.noreply.github.com>2018-11-15 23:52:14 +0100
committerThomas Buckley-Houston <tom@tombh.co.uk>2019-06-24 09:12:20 +0300
commit935983725c09df938962f64e683dc6766f527a97 (patch)
treea4519c37b4096a4396e1d79e0111a1d4bdfb4102
parentb780a79f2e8fd3f9a523fee7f6e04723f0930298 (diff)
Added vim feature for editing URL in new tab
-rw-r--r--interfacer/src/browsh/config.go1
-rw-r--r--interfacer/src/browsh/tab.go8
-rw-r--r--interfacer/src/browsh/vim_mode.go2
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":