Commit graph

54 commits

Author SHA1 Message Date
Oliver Blanthorn
5f7b411a4d
Change insert mode bind for editor to <C-i>, like Vimperator 2018-04-28 14:19:07 +01:00
Oliver Blanthorn
afd0eb95a7
Change ignore mode binds to be symmetric and resolve Jupyter conflict 2018-04-28 13:38:53 +01:00
Oliver Blanthorn
5d936a7d44
Make editor work in input mode 2018-04-25 20:43:43 +01:00
Oliver Blanthorn
5f68f9428d
Install native messenger on build; edit text in external editor
Currently we only support gVim and Linux, but `winword.exe` support is
theoretically possible.
2018-04-25 20:43:13 +01:00
Oliver Blanthorn
47409e4fd2
Make Logging.Logger.error print an error to the command line 2018-04-23 15:09:20 +01:00
Oliver Blanthorn
fad7851829
Fix #394: rename generated source .name.generated.ext 2018-04-22 17:15:40 +01:00
Colin Caine
2626d292f0 Fix :unbind better
Remove all unbound keys before passing to keyseq.parse(). Resolves #402.
2018-04-18 11:07:57 +01:00
Colin Caine
1ef49cb6e8 Fix :unbind
Unbinding actually sets the property to `""`, but the keyseq code
rightly doesn't know about that convention.

For now I'm putting some special casing in the normalmode parser.

Fixes #398.
2018-04-17 01:09:59 +01:00
Colin Caine
2ccfdda110 Use keyseq for normalmode
Also rename ex_str to exstr in a bunch of places for no real reason.
2018-04-16 00:07:49 +01:00
Oliver Blanthorn
095ce771ea
Formatting: run all typescript through prettier 2018-04-13 19:28:03 +01:00
Colin Caine
8a4a493a30 Stop logging excommands and args 2018-04-11 17:50:43 +01:00
Isaac Khor
cd3396d39c
Delete leftover comment 2018-01-09 17:37:16 +08:00
Isaac Khor
d2f4de962a
Expand exstr in parser unconditionally 2018-01-09 17:32:21 +08:00
Isaac Khor
1a20a646b5 Extract core aliasing functionality into separate file and change to recursively expand aliases 2018-01-09 00:15:06 +08:00
Isaac Khor
29d58cd571 Change from 'alias' to 'command' and access config options differently 2017-12-31 16:53:35 +08:00
Isaac Khor
6fb260673f Fix aliasing parser 2017-12-28 17:11:52 +08:00
Isaac Khor
767aafce3b Implement aliasing in exmode 2017-12-28 16:04:25 +08:00
Zhong Jianxin
01221f3052 Add inputmode
- Add `focusinput -n` and `focusinput -N`
- Press `gi` to focus input and enter inputmode
- When in inputmode, `Tab` to focus input after last focussed one, `Shift+Tab`
  to focus input before last focussed one
2017-12-05 22:12:34 +00:00
Oliver Blanthorn
da68d5f398
Add basic configuration with set
Currently does not import previous binds
2017-11-29 16:28:06 +00:00
John Beard
a3ca5cd2c1 Add yank anchor hint submode (;#)
THis yanks the page URL with the hinted elements id or title as a hash
fragment, which can be used to link to the page at that element's
location.

For example: https://en.wikipedia.org/wiki/Vim_(text_editor)#History

;# nmap added, from Vimperator
2017-11-29 02:27:23 +00:00
Colin Caine
e933c100d3 excmd: Replace tabchoose with tabprev_gt
The gT and gt maps in vim aren't symmetric, this better preserves
those semantics while removing a confusingly named excmd
2017-11-28 16:16:41 +00:00
Oliver Blanthorn
de84cd42f5
Fix #134: [count]gt now goes to nth tab
Known issues: count is ignored on gT
2017-11-28 14:28:20 +00:00
Robbie McMichael
87aa3ee225 Add tabfirst and tablast commands 2017-11-27 19:59:43 +00:00
Oliver Blanthorn
eef773f44a
Add binding to yankcanon, yankshort 2017-11-27 18:51:33 +00:00
Oliver Blanthorn
38ff3f7ca4
Merge branch 'master' of github.com:cmcaine/tridactyl into johnbeard-focusinput 2017-11-26 12:18:14 +00:00
John Beard
221b94c8ff Add hint focus mode (;;)
This focuses the hinted element with excmd ":hint -;".

Includes VImperator binding to ";;"
2017-11-25 01:47:56 +00:00
John Beard
6a48990751 Add focusinput command (gi)
Can focus the nth input from the start or end of a page.

Also has some special modes:

  -l: last focussed input
  -p: first password input
  -b: the largest input by area
2017-11-25 01:41:38 +00:00
Oliver Blanthorn
aeb3fa167e
Fix #68 2017-11-23 19:55:45 +00:00
chocolateboy
0953425cf5 improve pagination:
- prefer the canonical forms over fallback patterns
  (fixes rockpapershotgun.com, Discourse etc.):

  1) link[rel]
  2) a[rel]
  3) a::text(pattern)

- tighten fallback patterns (fixes Google, GitHub etc.)

- remove site-specific patterns
2017-11-23 15:07:48 +00:00
John Beard
a46934b2dd Add image hinting (;i, ;I)
This supports hinting of <img> tags, and will open the src attribute in
the current or BG tab.
2017-11-22 23:03:28 +00:00
Koushien
f982233a49 completions: initial implementation
This commit squashes a load of work by @Koushien, a dozen hours from
@cmcaine and some CSS by @bovine3dom.

@cmcaine is writing this commit message, but the work was mostly by
Koushien so the author is set to them. Thanks Koushien!

The following issues need to be fixed:

 - The interface is over complicated (my fault)
 - commandline_frame is hard-coded to use BufferCompletionSource. This
   needs to be made more general
 - BufferCompletionSource should be generalised
 - completions.ts calls helper functions in commandline_frame. Should
   just use browser proxy. If that's too slow can define a
   completions_background.ts

After that's done, this should be fixed:

 - Completion hiding/unhiding is currently too messy.
2017-11-22 21:30:37 +00:00
Oliver Blanthorn
ea697464b3
Add text yank mode 2017-11-22 20:47:35 +00:00
Oliver Blanthorn
63a52e63c4
Add yank hint mode, allow messageActiveTab to be called from content 2017-11-22 19:09:52 +00:00
Oliver Blanthorn
00c02b454e
Add rudimentary bookmark support
Only covers the addition / removal of bookmarks.
2017-11-22 12:24:37 +00:00
Oliver Blanthorn
85d6eba2b5
Revert "Merge branch 'Koushien-completions'"
This reverts commit 0aa14bb754, reversing
changes made to eae9cd0dab.
2017-11-21 20:28:48 +00:00
Oliver Blanthorn
7d825146c5
Merge branch 'master' of github.com:cmcaine/tridactyl 2017-11-21 19:16:27 +00:00
Oliver Blanthorn
0aa14bb754
Merge branch 'Koushien-completions'
Currently doesn't support "tab" and has lots of dead code. Only
implemented for tabs right now.
2017-11-21 19:13:48 +00:00
John Beard
27116a3416 Add urlparent (gu) command
This command changes the URL to the parent URL.

Normal mode binding 'gu' added: same as Vimperator.
2017-11-21 12:12:25 +00:00
John Beard
44455692e8 Add urlroot (gU) command
Opens the root domain of the current tab's URL. E.g.
"https://example.com/page" -> "http://example.com/"

Includes 'gU' binding (same as Vimperator)
2017-11-21 12:12:15 +00:00
Oliver Blanthorn
eae9cd0dab
Change incrementurl to urlincrement and add bind 2017-11-21 11:05:40 +00:00
Koushien
5bbb133c5c Begin transitioning completions refactor
Start laying groundwork for buffersall excmd
2017-11-21 05:15:52 +00:00
Koushien
a389d6dde3 Move buffers to general completion system.
User shouldn't notice any difference besides:
* removing "buffer " from cli clears buffers
* retyping "buffer " repopulates buffers
* text after "buffer " filters with smartcase.

We no longer directly set completion's innerHTML.
2017-11-21 05:15:52 +00:00
Colin Caine
9683e11f70 Tidy up gobble mode. Re-use key classification. 2017-11-20 23:23:25 +00:00
D.B
0a0c31230e add gobble mode and quickmarks 2017-11-20 23:23:25 +00:00
Colin Caine
71484e9873 excmds: documentation and minor changes 2017-11-19 06:16:33 +00:00
Colin Caine
f45a3a7338 excmd: Strip more whitespace
This will break any command that relies on adjacent spaces being
preserved. E.g. trying `:open some.bad.site/   /foo` will now be
interpreted differently.
2017-11-18 13:43:59 +00:00
Colin Caine
01c40840aa excmds: map and document hint -b 2017-11-18 03:10:58 +00:00
Oliver Blanthorn
49bbcb7fc9
Add rudimentary ignore mode bound to I 2017-11-15 00:03:34 +00:00
Oliver Blanthorn
0c08202822 excmd: O/W/T use current URL 2017-11-09 21:12:15 +00:00
Colin Caine
d8e1eb4506 insert: Add 'Escape' bind 2017-11-09 21:01:57 +00:00