{"action":"created","comment":{"url":"https://api.github.com/repos/tridactyl/tridactyl/pulls/comments/214522556","pull_request_review_id":151602863,"id":214522556,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDIxNDUyMjU1Ng==","diff_hunk":"@@ -0,0 +1,61 @@\n+import Logger from \"./logging\"","path":"src/content_state.ts","position":1,"original_position":1,"commit_id":"af4f3cc792d991659c184748dd15567ff582bb4b","original_commit_id":"af4f3cc792d991659c184748dd15567ff582bb4b","user":{"login":"bovine3dom","id":6505246,"node_id":"MDQ6VXNlcjY1MDUyNDY=","avatar_url":"https://avatars3.githubusercontent.com/u/6505246?v=4","gravatar_id":"","url":"https://api.github.com/users/bovine3dom","html_url":"https://github.com/bovine3dom","followers_url":"https://api.github.com/users/bovine3dom/followers","following_url":"https://api.github.com/users/bovine3dom/following{/other_user}","gists_url":"https://api.github.com/users/bovine3dom/gists{/gist_id}","starred_url":"https://api.github.com/users/bovine3dom/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bovine3dom/subscriptions","organizations_url":"https://api.github.com/users/bovine3dom/orgs","repos_url":"https://api.github.com/users/bovine3dom/repos","events_url":"https://api.github.com/users/bovine3dom/events{/privacy}","received_events_url":"https://api.github.com/users/bovine3dom/received_events","type":"User","site_admin":false},"body":"This file should probably be called `state_content.ts`.","created_at":"2018-09-01T20:33:58Z","updated_at":"2018-09-01T20:33:58Z","html_url":"https://github.com/tridactyl/tridactyl/pull/962#discussion_r214522556","pull_request_url":"https://api.github.com/repos/tridactyl/tridactyl/pulls/962","author_association":"MEMBER","_links":{"self":{"href":"https://api.github.com/repos/tridactyl/tridactyl/pulls/comments/214522556"},"html":{"href":"https://github.com/tridactyl/tridactyl/pull/962#discussion_r214522556"},"pull_request":{"href":"https://api.github.com/repos/tridactyl/tridactyl/pulls/962"}}},"pull_request":{"url":"https://api.github.com/repos/tridactyl/tridactyl/pulls/962","id":212540103,"node_id":"MDExOlB1bGxSZXF1ZXN0MjEyNTQwMTAz","html_url":"https://github.com/tridactyl/tridactyl/pull/962","diff_url":"https://github.com/tridactyl/tridactyl/pull/962.diff","patch_url":"https://github.com/tridactyl/tridactyl/pull/962.patch","issue_url":"https://api.github.com/repos/tridactyl/tridactyl/issues/962","number":962,"state":"open","locked":false,"title":"Parsers and state in content","user":{"login":"saulrh","id":560724,"node_id":"MDQ6VXNlcjU2MDcyNA==","avatar_url":"https://avatars0.githubusercontent.com/u/560724?v=4","gravatar_id":"","url":"https://api.github.com/users/saulrh","html_url":"https://github.com/saulrh","followers_url":"https://api.github.com/users/saulrh/followers","following_url":"https://api.github.com/users/saulrh/following{/other_user}","gists_url":"https://api.github.com/users/saulrh/gists{/gist_id}","starred_url":"https://api.github.com/users/saulrh/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/saulrh/subscriptions","organizations_url":"https://api.github.com/users/saulrh/orgs","repos_url":"https://api.github.com/users/saulrh/repos","events_url":"https://api.github.com/users/saulrh/events{/privacy}","received_events_url":"https://api.github.com/users/saulrh/received_events","type":"User","site_admin":false},"body":"Based off the autocontainers code because I was being lazy, which I should probably undo.\r\n\r\nI've been programming on pure instinct for like five hours and I'm not sure what exactly I did any more. I *think* that what I did was something like:\r\n\r\n* Split `state.ts` into `state.ts` and `content_state.ts`, then removed mode from state and moved it to content_state.\r\n* Made the types in content_state.ts a hair more powerful\r\n* Fixed all errors resulting from those two changes, in the process swapping state out for content_state wherever appropriate.\r\n* Moved a couple excmds from background into content since they depended heavily on the mode and should live with the mode\r\n* Split the controller in half, moving the parser logic to the content script and leaving acceptExCmds in the background version. content_controller forwards excmds to background script using messaging.\r\n* Nuked the keydown_* code, since we no longer need to forward keys to the background.\r\n* Went around fixing everything resulting from *those* changes, mostly the various perversions of keydown listeners\r\n* Various tweaks here and there that probably didn't do anything but I was just changing things at random a third of the time and I really need to go through this and clean it up.\r\n\r\nThings that work:\r\n* excmds are nice now. each tab has its own commandline; they stay open when you navigate between tabs and you can come back to them after doing stuff in another tab and finish your command line input.\r\n* keybinds that don't don't involve mode switching: `[[`, `]]`, `j`, `k`, `r`, etc, all still functional.\r\n* You can turn on hinting mode and, again, navigate to another tab which will *not* be in hinting mode, do whatever you need to do there including excmds or more hinting, and then come back to finish the hint you started in the first tab\r\n* You can exit hint mode by pressing escape. :P\r\n\r\nThings that I broke:\r\n* ...Honestly no idea, since I've barely tested it.\r\n* I don't seem to be able to *finish* a hint any more. Sometimes I can't even get one key in.\r\n\r\nThis is, right now, a super janky proof of concept. DO NOT MERGE YET. I'm just putting it here so it doesn't get lost if I collapse in a sleep-deprived mess or go AWOL or something, so I can get feedback on the approach, and to see if anyone can figure out all the stupid things I did that will result in really subtle errors that I won't be able to find in my own testing.","created_at":"2018-09-01T10:09:03Z","updated_at":"2018-09-01T20:33:58Z","closed_at":null,"merged_at":null,"merge_commit_sha":"c41e5bc97577e1d91b88e8bce8dd696e38b3c558","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[{"id":926611069,"node_id":"MDU6TGFiZWw5MjY2MTEwNjk=","url":"https://api.github.com/repos/tridactyl/tridactyl/labels/blocked","name":"blocked","color":"440696","default":false}],"milestone":null,"commits_url":"https://api.github.com/repos/tridactyl/tridactyl/pulls/962/commits","review_comments_url":"https://api.github.com/repos/tridactyl/tridactyl/pulls/962/comments","review_comment_url":"https://api.github.com/repos/tridactyl/tridactyl/pulls/comments{/number}","comments_url":"https://api.github.com/repos/tridactyl/tridactyl/issues/962/comments","statuses_url":"https://api.github.com/repos/tridactyl/tridactyl/statuses/af4f3cc792d991659c184748dd15567ff582bb4b","head":{"label":"saulrh:parsers-and-state-in-content","ref":"parsers-and-state-in-content","sha":"af4f3cc792d991659c184748dd15567ff582bb4b","user":{"login":"saulrh","id":560724,"node_id":"MDQ6VXNlcjU2MDcyNA==","avatar_url":"https://avatars0.githubusercontent.com/u/560724?v=4","gravatar_id":"","url":"https://api.github.com/users/saulrh","html_url":"https://github.com/saulrh","followers_url":"https://api.github.com/users/saulrh/followers","following_url":"https://api.github.com/users/saulrh/following{/other_user}","gists_url":"https://api.github.com/users/saulrh/gists{/gist_id}","starred_url":"https://api.github.com/users/saulrh/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/saulrh/subscriptions","organizations_url":"https://api.github.com/users/saulrh/orgs","repos_url":"https://api.github.com/users/saulrh/repos","events_url":"https://api.github.com/users/saulrh/events{/privacy}","received_events_url":"https://api.github.com/users/saulrh/received_events","type":"User","site_admin":false},"repo":{"id":113781907,"node_id":"MDEwOlJlcG9zaXRvcnkxMTM3ODE5MDc=","name":"tridactyl","full_name":"saulrh/tridactyl","owner":{"login":"saulrh","id":560724,"node_id":"MDQ6VXNlcjU2MDcyNA==","avatar_url":"https://avatars0.githubusercontent.com/u/560724?v=4","gravatar_id":"","url":"https://api.github.com/users/saulrh","html_url":"https://github.com/saulrh","followers_url":"https://api.github.com/users/saulrh/followers","following_url":"https://api.github.com/users/saulrh/following{/other_user}","gists_url":"https://api.github.com/users/saulrh/gists{/gist_id}","starred_url":"https://api.github.com/users/saulrh/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/saulrh/subscriptions","organizations_url":"https://api.github.com/users/saulrh/orgs","repos_url":"https://api.github.com/users/saulrh/repos","events_url":"https://api.github.com/users/saulrh/events{/privacy}","received_events_url":"https://api.github.com/users/saulrh/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/saulrh/tridactyl","description":"Implementing Vimperator/Pentadactyl as a WebExtension.","fork":true,"url":"https://api.github.com/repos/saulrh/tridactyl","forks_url":"https://api.github.com/repos/saulrh/tridactyl/forks","keys_url":"https://api.github.com/repos/saulrh/tridactyl/keys{/key_id}","collaborators_url":"https://api.github.com/repos/saulrh/tridactyl/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/saulrh/tridactyl/teams","hooks_url":"https://api.github.com/repos/saulrh/tridactyl/hooks","issue_events_url":"https://api.github.com/repos/saulrh/tridactyl/issues/events{/number}","events_url":"https://api.github.com/repos/saulrh/tridactyl/events","assignees_url":"https://api.github.com/repos/saulrh/tridactyl/assignees{/user}","branches_url":"https://api.github.com/repos/saulrh/tridactyl/branches{/branch}","tags_url":"https://api.github.com/repos/saulrh/tridactyl/tags","blobs_url":"https://api.github.com/repos/saulrh/tridactyl/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/saulrh/tridactyl/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/saulrh/tridactyl/git/refs{/sha}","trees_url":"https://api.github.com/repos/saulrh/tridactyl/git/trees{/sha}","statuses_url":"https://api.github.com/repos/saulrh/tridactyl/statuses/{sha}","languages_url":"https://api.github.com/repos/saulrh/tridactyl/languages","stargazers_url":"https://api.github.com/repos/saulrh/tridactyl/stargazers","contributors_url":"https://api.github.com/repos/saulrh/tridactyl/contributors","subscribers_url":"https://api.github.com/repos/saulrh/tridactyl/subscribers","subscription_url":"https://api.github.com/repos/saulrh/tridactyl/subscription","commits_url":"https://api.github.com/repos/saulrh/tridactyl/commits{/sha}","git_commits_url":"https://api.github.com/repos/saulrh/tridactyl/git/commits{/sha}","comments_url":"https://api.github.com/repos/saulrh/tridactyl/comments{/number}","issue_comment_url":"https://api.github.com/repos/saulrh/tridactyl/issues/comments{/number}","contents_url":"https://api.github.com/repos/saulrh/tridactyl/contents/{+path}","compare_url":"https://api.github.com/repos/saulrh/tridactyl/compare/{base}...{head}","merges_url":"https://api.github.com/repos/saulrh/tridactyl/merges","archive_url":"https://api.github.com/repos/saulrh/tridactyl/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/saulrh/tridactyl/downloads","issues_url":"https://api.github.com/repos/saulrh/tridactyl/issues{/number}","pulls_url":"https://api.github.com/repos/saulrh/tridactyl/pulls{/number}","milestones_url":"https://api.github.com/repos/saulrh/tridactyl/milestones{/number}","notifications_url":"https://api.github.com/repos/saulrh/tridactyl/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/saulrh/tridactyl/labels{/name}","releases_url":"https://api.github.com/repos/saulrh/tridactyl/releases{/id}","deployments_url":"https://api.github.com/repos/saulrh/tridactyl/deployments","created_at":"2017-12-10T20:41:37Z","updated_at":"2018-09-01T08:44:56Z","pushed_at":"2018-09-01T10:04:05Z","git_url":"git://github.com/saulrh/tridactyl.git","ssh_url":"git@github.com:saulrh/tridactyl.git","clone_url":"https://github.com/saulrh/tridactyl.git","svn_url":"https://github.com/saulrh/tridactyl","homepage":null,"size":15305,"stargazers_count":0,"watchers_count":0,"language":"TypeScript","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":0,"license":{"key":"other","name":"Other","spdx_id":null,"url":null,"node_id":"MDc6TGljZW5zZTA="},"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"tridactyl:master","ref":"master","sha":"1e24424cb52bb6ce8109dbd7cb7239f16a2d0042","user":{"login":"tridactyl","id":42609447,"node_id":"MDEyOk9yZ2FuaXphdGlvbjQyNjA5NDQ3","avatar_url":"https://avatars3.githubusercontent.com/u/42609447?v=4","gravatar_id":"","url":"https://api.github.com/users/tridactyl","html_url":"https://github.com/tridactyl","followers_url":"https://api.github.com/users/tridactyl/followers","following_url":"https://api.github.com/users/tridactyl/following{/other_user}","gists_url":"https://api.github.com/users/tridactyl/gists{/gist_id}","starred_url":"https://api.github.com/users/tridactyl/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tridactyl/subscriptions","organizations_url":"https://api.github.com/users/tridactyl/orgs","repos_url":"https://api.github.com/users/tridactyl/repos","events_url":"https://api.github.com/users/tridactyl/events{/privacy}","received_events_url":"https://api.github.com/users/tridactyl/received_events","type":"Organization","site_admin":false},"repo":{"id":83070966,"node_id":"MDEwOlJlcG9zaXRvcnk4MzA3MDk2Ng==","name":"tridactyl","full_name":"tridactyl/tridactyl","owner":{"login":"tridactyl","id":42609447,"node_id":"MDEyOk9yZ2FuaXphdGlvbjQyNjA5NDQ3","avatar_url":"https://avatars3.githubusercontent.com/u/42609447?v=4","gravatar_id":"","url":"https://api.github.com/users/tridactyl","html_url":"https://github.com/tridactyl","followers_url":"https://api.github.com/users/tridactyl/followers","following_url":"https://api.github.com/users/tridactyl/following{/other_user}","gists_url":"https://api.github.com/users/tridactyl/gists{/gist_id}","starred_url":"https://api.github.com/users/tridactyl/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tridactyl/subscriptions","organizations_url":"https://api.github.com/users/tridactyl/orgs","repos_url":"https://api.github.com/users/tridactyl/repos","events_url":"https://api.github.com/users/tridactyl/events{/privacy}","received_events_url":"https://api.github.com/users/tridactyl/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/tridactyl/tridactyl","description":"A Vim-like interface for Firefox, inspired by Vimperator/Pentadactyl.","fork":false,"url":"https://api.github.com/repos/tridactyl/tridactyl","forks_url":"https://api.github.com/repos/tridactyl/tridactyl/forks","keys_url":"https://api.github.com/repos/tridactyl/tridactyl/keys{/key_id}","collaborators_url":"https://api.github.com/repos/tridactyl/tridactyl/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/tridactyl/tridactyl/teams","hooks_url":"https://api.github.com/repos/tridactyl/tridactyl/hooks","issue_events_url":"https://api.github.com/repos/tridactyl/tridactyl/issues/events{/number}","events_url":"https://api.github.com/repos/tridactyl/tridactyl/events","assignees_url":"https://api.github.com/repos/tridactyl/tridactyl/assignees{/user}","branches_url":"https://api.github.com/repos/tridactyl/tridactyl/branches{/branch}","tags_url":"https://api.github.com/repos/tridactyl/tridactyl/tags","blobs_url":"https://api.github.com/repos/tridactyl/tridactyl/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/tridactyl/tridactyl/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/tridactyl/tridactyl/git/refs{/sha}","trees_url":"https://api.github.com/repos/tridactyl/tridactyl/git/trees{/sha}","statuses_url":"https://api.github.com/repos/tridactyl/tridactyl/statuses/{sha}","languages_url":"https://api.github.com/repos/tridactyl/tridactyl/languages","stargazers_url":"https://api.github.com/repos/tridactyl/tridactyl/stargazers","contributors_url":"https://api.github.com/repos/tridactyl/tridactyl/contributors","subscribers_url":"https://api.github.com/repos/tridactyl/tridactyl/subscribers","subscription_url":"https://api.github.com/repos/tridactyl/tridactyl/subscription","commits_url":"https://api.github.com/repos/tridactyl/tridactyl/commits{/sha}","git_commits_url":"https://api.github.com/repos/tridactyl/tridactyl/git/commits{/sha}","comments_url":"https://api.github.com/repos/tridactyl/tridactyl/comments{/number}","issue_comment_url":"https://api.github.com/repos/tridactyl/tridactyl/issues/comments{/number}","contents_url":"https://api.github.com/repos/tridactyl/tridactyl/contents/{+path}","compare_url":"https://api.github.com/repos/tridactyl/tridactyl/compare/{base}...{head}","merges_url":"https://api.github.com/repos/tridactyl/tridactyl/merges","archive_url":"https://api.github.com/repos/tridactyl/tridactyl/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/tridactyl/tridactyl/downloads","issues_url":"https://api.github.com/repos/tridactyl/tridactyl/issues{/number}","pulls_url":"https://api.github.com/repos/tridactyl/tridactyl/pulls{/number}","milestones_url":"https://api.github.com/repos/tridactyl/tridactyl/milestones{/number}","notifications_url":"https://api.github.com/repos/tridactyl/tridactyl/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/tridactyl/tridactyl/labels{/name}","releases_url":"https://api.github.com/repos/tridactyl/tridactyl/releases{/id}","deployments_url":"https://api.github.com/repos/tridactyl/tridactyl/deployments","created_at":"2017-02-24T18:29:34Z","updated_at":"2018-09-01T16:19:41Z","pushed_at":"2018-09-01T16:19:37Z","git_url":"git://github.com/tridactyl/tridactyl.git","ssh_url":"git@github.com:tridactyl/tridactyl.git","clone_url":"https://github.com/tridactyl/tridactyl.git","svn_url":"https://github.com/tridactyl/tridactyl","homepage":"","size":15313,"stargazers_count":1067,"watchers_count":1067,"language":"TypeScript","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":106,"mirror_url":null,"archived":false,"open_issues_count":234,"license":{"key":"other","name":"Other","spdx_id":null,"url":null,"node_id":"MDc6TGljZW5zZTA="},"forks":106,"open_issues":234,"watchers":1067,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/tridactyl/tridactyl/pulls/962"},"html":{"href":"https://github.com/tridactyl/tridactyl/pull/962"},"issue":{"href":"https://api.github.com/repos/tridactyl/tridactyl/issues/962"},"comments":{"href":"https://api.github.com/repos/tridactyl/tridactyl/issues/962/comments"},"review_comments":{"href":"https://api.github.com/repos/tridactyl/tridactyl/pulls/962/comments"},"review_comment":{"href":"https://api.github.com/repos/tridactyl/tridactyl/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/tridactyl/tridactyl/pulls/962/commits"},"statuses":{"href":"https://api.github.com/repos/tridactyl/tridactyl/statuses/af4f3cc792d991659c184748dd15567ff582bb4b"}},"author_association":"CONTRIBUTOR"}}
{"actor":{"display_login":"bovine3dom"}}