{"action":"created","comment":{"url":"https://api.github.com/repos/browsh-org/browsh/pulls/comments/232502570","pull_request_review_id":173712613,"id":232502570,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDIzMjUwMjU3MA==","diff_hunk":"@@ -35,19 +41,148 @@ export default MixinBase =>\n           break;\n         case \"/url\":\n           url = utils.rebuildArgsToSingleArg(parts);\n-          document.location.href = url;\n+          window.location.href = url;\n+          break;\n+        case \"/url_up\":\n+          this.urlUp();\n+          break;\n+        case \"/url_root\":\n+          window.location.href = window.location.origin;\n           break;\n         case \"/history_back\":\n           history.go(-1);\n           break;\n+        case \"/history_forward\":\n+          history.go(1);\n+          break;\n+        case \"/reload\":\n+          window.location.reload();\n+          break;\n         case \"/window_stop\":\n           window.stop();\n           break;\n+        case \"/find_next\":\n+          this.findNext(parts[1]);\n+          break;\n+        case \"/find_previous\":\n+          window.find(parts[1], false, true, false, false, true, true);\n+          break;\n+        case \"/get_link_hints\":\n+          this.getLinkHints(false);\n+          break;\n+        case \"/get_clickable_hints\":\n+          this.getLinkHints(true);\n+          break;\n+        case \"/focus_first_text_input\":\n+          this.focusFirstTextInput();\n+          break;\n+        case \"/follow_link_labeled_next\":\n+          this._followLinkLabeledNext();\n+          break;\n+        case \"/follow_link_labeled_previous\":\n+          this._followLinkLabeledPrevious();\n+          break;\n         default:\n           this.log(\"Unknown command sent to tab\", message);\n       }\n     }\n \n+    focusFirstTextInput() {\n+      VimiumNormal.focusInput(1);\n+    }\n+\n+    //adapted vimium code\n+    followLinkLabeledNext() {\n+      var nextPatterns = \"next,more,newer,>,›,→,»,≫,>>,weiter\" || \"\";\n+      var nextStrings = nextPatterns.split(\",\").filter(function(s) {\n+        return s.trim().length;\n+      });\n+      return (\n+        VimiumNormal.findAndFollowRel(\"next\") ||\n+        VimiumNormal.findAndFollowLink(nextStrings)\n+      );\n+    }\n+\n+    _followLinkLabeledNext() {\n+      this.followLinkLabeledNext();\n+    }\n+\n+    //adapted vimium code\n+    followLinkLabeledPrevious() {\n+      var previousPatterns =\n+        \"prev,previous,back,older,<,‹,←,«,≪,<<,zurück\" || \"\";\n+      var previousStrings = previousPatterns.split(\",\").filter(function(s) {\n+        return s.trim().length;\n+      });\n+      return (\n+        VimiumNormal.findAndFollowRel(\"prev\") ||\n+        VimiumNormal.findAndFollowLink(previousStrings)\n+      );\n+    }\n+\n+    _followLinkLabeledPrevious() {\n+      this.followLinkLabeledPrevious();\n+    }\n+\n+    urlUp() {","path":"webext/src/dom/commands_mixin.js","position":99,"original_position":99,"commit_id":"225a0d09830c91f3db35c680d05268be7bade5d1","original_commit_id":"4dfade981def5feb998fd759f254e0dabfbd312e","user":{"login":"tobimensch","id":9920531,"node_id":"MDQ6VXNlcjk5MjA1MzE=","avatar_url":"https://avatars3.githubusercontent.com/u/9920531?v=4","gravatar_id":"","url":"https://api.github.com/users/tobimensch","html_url":"https://github.com/tobimensch","followers_url":"https://api.github.com/users/tobimensch/followers","following_url":"https://api.github.com/users/tobimensch/following{/other_user}","gists_url":"https://api.github.com/users/tobimensch/gists{/gist_id}","starred_url":"https://api.github.com/users/tobimensch/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tobimensch/subscriptions","organizations_url":"https://api.github.com/users/tobimensch/orgs","repos_url":"https://api.github.com/users/tobimensch/repos","events_url":"https://api.github.com/users/tobimensch/events{/privacy}","received_events_url":"https://api.github.com/users/tobimensch/received_events","type":"User","site_admin":false},"body":"This goes from www.domain.com/topic/suptopic/ to www.domain.com/topic/","created_at":"2018-11-11T20:10:43Z","updated_at":"2018-11-11T20:10:43Z","html_url":"https://github.com/browsh-org/browsh/pull/236#discussion_r232502570","pull_request_url":"https://api.github.com/repos/browsh-org/browsh/pulls/236","author_association":"COLLABORATOR","_links":{"self":{"href":"https://api.github.com/repos/browsh-org/browsh/pulls/comments/232502570"},"html":{"href":"https://github.com/browsh-org/browsh/pull/236#discussion_r232502570"},"pull_request":{"href":"https://api.github.com/repos/browsh-org/browsh/pulls/236"}},"in_reply_to_id":232490291},"pull_request":{"url":"https://api.github.com/repos/browsh-org/browsh/pulls/236","id":229625836,"node_id":"MDExOlB1bGxSZXF1ZXN0MjI5NjI1ODM2","html_url":"https://github.com/browsh-org/browsh/pull/236","diff_url":"https://github.com/browsh-org/browsh/pull/236.diff","patch_url":"https://github.com/browsh-org/browsh/pull/236.patch","issue_url":"https://api.github.com/repos/browsh-org/browsh/issues/236","number":236,"state":"open","locked":false,"title":"Vim mode","user":{"login":"tombh","id":160835,"node_id":"MDQ6VXNlcjE2MDgzNQ==","avatar_url":"https://avatars2.githubusercontent.com/u/160835?v=4","gravatar_id":"","url":"https://api.github.com/users/tombh","html_url":"https://github.com/tombh","followers_url":"https://api.github.com/users/tombh/followers","following_url":"https://api.github.com/users/tombh/following{/other_user}","gists_url":"https://api.github.com/users/tombh/gists{/gist_id}","starred_url":"https://api.github.com/users/tombh/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tombh/subscriptions","organizations_url":"https://api.github.com/users/tombh/orgs","repos_url":"https://api.github.com/users/tombh/repos","events_url":"https://api.github.com/users/tombh/events{/privacy}","received_events_url":"https://api.github.com/users/tombh/received_events","type":"User","site_admin":false},"body":"Relates to #31 \r\n\r\nThis still needs a lot of work, but I want to start a PR anyway for somewhere to have the discussion.\r\n\r\n@tobimensch I've had a play with this and it's AMAZING! Hats off to you, this can't have been easy - you've made changes right across the spectrum from the CLI to the webextension code.\r\n\r\nThe main thing that needs to be done is fixing the tests that this breaks and adding new tests. I've already added a new test file specifically for Vim tests. Following links by link hints doesn't seem to be consistently passing its test - should the first link always be hinted with `a`? Also `gt` doesn't work for me. There may be other things that don't work, I didn't comprehensively go through everything. Which reminds me, we can start a new docs page for this, just have it hidden on the main site for now.\r\n\r\nI'll leave my other feedback as comments on the PR's diffs.","created_at":"2018-11-09T08:54:19Z","updated_at":"2018-11-11T20:10:43Z","closed_at":null,"merged_at":null,"merge_commit_sha":"900de29c3b4433b79e58474fe0fecd593e77076f","assignee":null,"assignees":[],"requested_reviewers":[{"login":"j-rewerts","id":8295080,"node_id":"MDQ6VXNlcjgyOTUwODA=","avatar_url":"https://avatars1.githubusercontent.com/u/8295080?v=4","gravatar_id":"","url":"https://api.github.com/users/j-rewerts","html_url":"https://github.com/j-rewerts","followers_url":"https://api.github.com/users/j-rewerts/followers","following_url":"https://api.github.com/users/j-rewerts/following{/other_user}","gists_url":"https://api.github.com/users/j-rewerts/gists{/gist_id}","starred_url":"https://api.github.com/users/j-rewerts/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/j-rewerts/subscriptions","organizations_url":"https://api.github.com/users/j-rewerts/orgs","repos_url":"https://api.github.com/users/j-rewerts/repos","events_url":"https://api.github.com/users/j-rewerts/events{/privacy}","received_events_url":"https://api.github.com/users/j-rewerts/received_events","type":"User","site_admin":false}],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/browsh-org/browsh/pulls/236/commits","review_comments_url":"https://api.github.com/repos/browsh-org/browsh/pulls/236/comments","review_comment_url":"https://api.github.com/repos/browsh-org/browsh/pulls/comments{/number}","comments_url":"https://api.github.com/repos/browsh-org/browsh/issues/236/comments","statuses_url":"https://api.github.com/repos/browsh-org/browsh/statuses/225a0d09830c91f3db35c680d05268be7bade5d1","head":{"label":"browsh-org:vim-mode-experimental","ref":"vim-mode-experimental","sha":"225a0d09830c91f3db35c680d05268be7bade5d1","user":{"login":"browsh-org","id":35799511,"node_id":"MDEyOk9yZ2FuaXphdGlvbjM1Nzk5NTEx","avatar_url":"https://avatars1.githubusercontent.com/u/35799511?v=4","gravatar_id":"","url":"https://api.github.com/users/browsh-org","html_url":"https://github.com/browsh-org","followers_url":"https://api.github.com/users/browsh-org/followers","following_url":"https://api.github.com/users/browsh-org/following{/other_user}","gists_url":"https://api.github.com/users/browsh-org/gists{/gist_id}","starred_url":"https://api.github.com/users/browsh-org/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/browsh-org/subscriptions","organizations_url":"https://api.github.com/users/browsh-org/orgs","repos_url":"https://api.github.com/users/browsh-org/repos","events_url":"https://api.github.com/users/browsh-org/events{/privacy}","received_events_url":"https://api.github.com/users/browsh-org/received_events","type":"Organization","site_admin":false},"repo":{"id":58327877,"node_id":"MDEwOlJlcG9zaXRvcnk1ODMyNzg3Nw==","name":"browsh","full_name":"browsh-org/browsh","private":false,"owner":{"login":"browsh-org","id":35799511,"node_id":"MDEyOk9yZ2FuaXphdGlvbjM1Nzk5NTEx","avatar_url":"https://avatars1.githubusercontent.com/u/35799511?v=4","gravatar_id":"","url":"https://api.github.com/users/browsh-org","html_url":"https://github.com/browsh-org","followers_url":"https://api.github.com/users/browsh-org/followers","following_url":"https://api.github.com/users/browsh-org/following{/other_user}","gists_url":"https://api.github.com/users/browsh-org/gists{/gist_id}","starred_url":"https://api.github.com/users/browsh-org/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/browsh-org/subscriptions","organizations_url":"https://api.github.com/users/browsh-org/orgs","repos_url":"https://api.github.com/users/browsh-org/repos","events_url":"https://api.github.com/users/browsh-org/events{/privacy}","received_events_url":"https://api.github.com/users/browsh-org/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/browsh-org/browsh","description":"A fully-modern text-based browser, rendering to TTY and browsers","fork":false,"url":"https://api.github.com/repos/browsh-org/browsh","forks_url":"https://api.github.com/repos/browsh-org/browsh/forks","keys_url":"https://api.github.com/repos/browsh-org/browsh/keys{/key_id}","collaborators_url":"https://api.github.com/repos/browsh-org/browsh/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/browsh-org/browsh/teams","hooks_url":"https://api.github.com/repos/browsh-org/browsh/hooks","issue_events_url":"https://api.github.com/repos/browsh-org/browsh/issues/events{/number}","events_url":"https://api.github.com/repos/browsh-org/browsh/events","assignees_url":"https://api.github.com/repos/browsh-org/browsh/assignees{/user}","branches_url":"https://api.github.com/repos/browsh-org/browsh/branches{/branch}","tags_url":"https://api.github.com/repos/browsh-org/browsh/tags","blobs_url":"https://api.github.com/repos/browsh-org/browsh/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/browsh-org/browsh/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/browsh-org/browsh/git/refs{/sha}","trees_url":"https://api.github.com/repos/browsh-org/browsh/git/trees{/sha}","statuses_url":"https://api.github.com/repos/browsh-org/browsh/statuses/{sha}","languages_url":"https://api.github.com/repos/browsh-org/browsh/languages","stargazers_url":"https://api.github.com/repos/browsh-org/browsh/stargazers","contributors_url":"https://api.github.com/repos/browsh-org/browsh/contributors","subscribers_url":"https://api.github.com/repos/browsh-org/browsh/subscribers","subscription_url":"https://api.github.com/repos/browsh-org/browsh/subscription","commits_url":"https://api.github.com/repos/browsh-org/browsh/commits{/sha}","git_commits_url":"https://api.github.com/repos/browsh-org/browsh/git/commits{/sha}","comments_url":"https://api.github.com/repos/browsh-org/browsh/comments{/number}","issue_comment_url":"https://api.github.com/repos/browsh-org/browsh/issues/comments{/number}","contents_url":"https://api.github.com/repos/browsh-org/browsh/contents/{+path}","compare_url":"https://api.github.com/repos/browsh-org/browsh/compare/{base}...{head}","merges_url":"https://api.github.com/repos/browsh-org/browsh/merges","archive_url":"https://api.github.com/repos/browsh-org/browsh/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/browsh-org/browsh/downloads","issues_url":"https://api.github.com/repos/browsh-org/browsh/issues{/number}","pulls_url":"https://api.github.com/repos/browsh-org/browsh/pulls{/number}","milestones_url":"https://api.github.com/repos/browsh-org/browsh/milestones{/number}","notifications_url":"https://api.github.com/repos/browsh-org/browsh/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/browsh-org/browsh/labels{/name}","releases_url":"https://api.github.com/repos/browsh-org/browsh/releases{/id}","deployments_url":"https://api.github.com/repos/browsh-org/browsh/deployments","created_at":"2016-05-08T19:34:15Z","updated_at":"2018-11-11T15:10:37Z","pushed_at":"2018-11-11T14:29:15Z","git_url":"git://github.com/browsh-org/browsh.git","ssh_url":"git@github.com:browsh-org/browsh.git","clone_url":"https://github.com/browsh-org/browsh.git","svn_url":"https://github.com/browsh-org/browsh","homepage":"https://www.brow.sh","size":7263,"stargazers_count":10136,"watchers_count":10136,"language":"JavaScript","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":253,"mirror_url":null,"archived":false,"open_issues_count":88,"license":{"key":"lgpl-2.1","name":"GNU Lesser General Public License v2.1","spdx_id":"LGPL-2.1","url":"https://api.github.com/licenses/lgpl-2.1","node_id":"MDc6TGljZW5zZTEx"},"forks":253,"open_issues":88,"watchers":10136,"default_branch":"master"}},"base":{"label":"browsh-org:master","ref":"master","sha":"883cd9cef9b1b4f473ac91cf5c8d425b56fd0c08","user":{"login":"browsh-org","id":35799511,"node_id":"MDEyOk9yZ2FuaXphdGlvbjM1Nzk5NTEx","avatar_url":"https://avatars1.githubusercontent.com/u/35799511?v=4","gravatar_id":"","url":"https://api.github.com/users/browsh-org","html_url":"https://github.com/browsh-org","followers_url":"https://api.github.com/users/browsh-org/followers","following_url":"https://api.github.com/users/browsh-org/following{/other_user}","gists_url":"https://api.github.com/users/browsh-org/gists{/gist_id}","starred_url":"https://api.github.com/users/browsh-org/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/browsh-org/subscriptions","organizations_url":"https://api.github.com/users/browsh-org/orgs","repos_url":"https://api.github.com/users/browsh-org/repos","events_url":"https://api.github.com/users/browsh-org/events{/privacy}","received_events_url":"https://api.github.com/users/browsh-org/received_events","type":"Organization","site_admin":false},"repo":{"id":58327877,"node_id":"MDEwOlJlcG9zaXRvcnk1ODMyNzg3Nw==","name":"browsh","full_name":"browsh-org/browsh","private":false,"owner":{"login":"browsh-org","id":35799511,"node_id":"MDEyOk9yZ2FuaXphdGlvbjM1Nzk5NTEx","avatar_url":"https://avatars1.githubusercontent.com/u/35799511?v=4","gravatar_id":"","url":"https://api.github.com/users/browsh-org","html_url":"https://github.com/browsh-org","followers_url":"https://api.github.com/users/browsh-org/followers","following_url":"https://api.github.com/users/browsh-org/following{/other_user}","gists_url":"https://api.github.com/users/browsh-org/gists{/gist_id}","starred_url":"https://api.github.com/users/browsh-org/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/browsh-org/subscriptions","organizations_url":"https://api.github.com/users/browsh-org/orgs","repos_url":"https://api.github.com/users/browsh-org/repos","events_url":"https://api.github.com/users/browsh-org/events{/privacy}","received_events_url":"https://api.github.com/users/browsh-org/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/browsh-org/browsh","description":"A fully-modern text-based browser, rendering to TTY and browsers","fork":false,"url":"https://api.github.com/repos/browsh-org/browsh","forks_url":"https://api.github.com/repos/browsh-org/browsh/forks","keys_url":"https://api.github.com/repos/browsh-org/browsh/keys{/key_id}","collaborators_url":"https://api.github.com/repos/browsh-org/browsh/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/browsh-org/browsh/teams","hooks_url":"https://api.github.com/repos/browsh-org/browsh/hooks","issue_events_url":"https://api.github.com/repos/browsh-org/browsh/issues/events{/number}","events_url":"https://api.github.com/repos/browsh-org/browsh/events","assignees_url":"https://api.github.com/repos/browsh-org/browsh/assignees{/user}","branches_url":"https://api.github.com/repos/browsh-org/browsh/branches{/branch}","tags_url":"https://api.github.com/repos/browsh-org/browsh/tags","blobs_url":"https://api.github.com/repos/browsh-org/browsh/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/browsh-org/browsh/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/browsh-org/browsh/git/refs{/sha}","trees_url":"https://api.github.com/repos/browsh-org/browsh/git/trees{/sha}","statuses_url":"https://api.github.com/repos/browsh-org/browsh/statuses/{sha}","languages_url":"https://api.github.com/repos/browsh-org/browsh/languages","stargazers_url":"https://api.github.com/repos/browsh-org/browsh/stargazers","contributors_url":"https://api.github.com/repos/browsh-org/browsh/contributors","subscribers_url":"https://api.github.com/repos/browsh-org/browsh/subscribers","subscription_url":"https://api.github.com/repos/browsh-org/browsh/subscription","commits_url":"https://api.github.com/repos/browsh-org/browsh/commits{/sha}","git_commits_url":"https://api.github.com/repos/browsh-org/browsh/git/commits{/sha}","comments_url":"https://api.github.com/repos/browsh-org/browsh/comments{/number}","issue_comment_url":"https://api.github.com/repos/browsh-org/browsh/issues/comments{/number}","contents_url":"https://api.github.com/repos/browsh-org/browsh/contents/{+path}","compare_url":"https://api.github.com/repos/browsh-org/browsh/compare/{base}...{head}","merges_url":"https://api.github.com/repos/browsh-org/browsh/merges","archive_url":"https://api.github.com/repos/browsh-org/browsh/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/browsh-org/browsh/downloads","issues_url":"https://api.github.com/repos/browsh-org/browsh/issues{/number}","pulls_url":"https://api.github.com/repos/browsh-org/browsh/pulls{/number}","milestones_url":"https://api.github.com/repos/browsh-org/browsh/milestones{/number}","notifications_url":"https://api.github.com/repos/browsh-org/browsh/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/browsh-org/browsh/labels{/name}","releases_url":"https://api.github.com/repos/browsh-org/browsh/releases{/id}","deployments_url":"https://api.github.com/repos/browsh-org/browsh/deployments","created_at":"2016-05-08T19:34:15Z","updated_at":"2018-11-11T15:10:37Z","pushed_at":"2018-11-11T14:29:15Z","git_url":"git://github.com/browsh-org/browsh.git","ssh_url":"git@github.com:browsh-org/browsh.git","clone_url":"https://github.com/browsh-org/browsh.git","svn_url":"https://github.com/browsh-org/browsh","homepage":"https://www.brow.sh","size":7263,"stargazers_count":10136,"watchers_count":10136,"language":"JavaScript","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":253,"mirror_url":null,"archived":false,"open_issues_count":88,"license":{"key":"lgpl-2.1","name":"GNU Lesser General Public License v2.1","spdx_id":"LGPL-2.1","url":"https://api.github.com/licenses/lgpl-2.1","node_id":"MDc6TGljZW5zZTEx"},"forks":253,"open_issues":88,"watchers":10136,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/browsh-org/browsh/pulls/236"},"html":{"href":"https://github.com/browsh-org/browsh/pull/236"},"issue":{"href":"https://api.github.com/repos/browsh-org/browsh/issues/236"},"comments":{"href":"https://api.github.com/repos/browsh-org/browsh/issues/236/comments"},"review_comments":{"href":"https://api.github.com/repos/browsh-org/browsh/pulls/236/comments"},"review_comment":{"href":"https://api.github.com/repos/browsh-org/browsh/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/browsh-org/browsh/pulls/236/commits"},"statuses":{"href":"https://api.github.com/repos/browsh-org/browsh/statuses/225a0d09830c91f3db35c680d05268be7bade5d1"}},"author_association":"MEMBER"}}
{"actor":{"display_login":"tobimensch"}}