Commit graph

698 commits

Author SHA1 Message Date
Oliver Blanthorn
a1cc6ade8f
Add event type checking to autocmd, change default autocmd 2018-02-02 14:53:58 +00:00
Oliver Blanthorn
5b6b473af3
Fix getAsync, add au alias, fix loadaucmds 2018-02-02 14:12:47 +00:00
Colin Caine
7a22bc8c2c Stop testing on pre-commit 2018-02-02 13:23:27 +00:00
Colin Caine
083600750b Fix bug typo in setDeepProperty 2018-02-02 13:11:23 +00:00
Oliver Blanthorn
2174224244
Rename setnew to set, correct order for set in autocmds, ensure people cannot wipe entire config with unset 2018-02-02 13:06:30 +00:00
Colin Caine
c1ab1ebae9 Remove superfluous variable 2018-02-02 13:05:40 +00:00
John Beard
e50119d466 Use new UrlUtil interpolate function in excmd
Document user-facing interpolation behaviour on excmd
`searchsetkeyword`.
2018-02-02 11:56:01 +00:00
Colin Caine
ca19b87807 Improve config API
- set, unset, get now all support an arbitrary depth of keys
 - set has a less confusing argument order
 - getAsync added: it will sleep until the config is read from disk for
   the first time

Config isn't really fit for purpose. Should consider custom objects (for
recording type, defaults, etc) and maybe decoupling internal
representation from UI.

Found a couple of bugs as well:

   excmds.ts: set() Could write a string to the config where the config
              expected an array (Fixes #275)
   config.ts: If both sync and local storage are in use the behaviour is
              not intuitive.
2018-02-01 23:45:45 +00:00
John Beard
feda3bc8e6 Add URL interpolation function and tests
This includes logic to automatically percent-encode the query if it
occurs in the the query string of the URL pattern.

If this automatic logic is not enough in future, the same function can
be extended with an explicit encoding flag as needed.
2018-02-01 16:43:13 +00:00
Oliver Blanthorn
5f9bd063c2
First attempt at aucmds. Main issue - config does not seem to load userconfig, only defaults 2018-01-31 19:51:08 +00:00
Oliver Blanthorn
9304dee31e
Merge pull request #298 from johnbeard/urlmodify-doc
Urlmodify documentation
2018-01-28 20:30:52 +00:00
John Beard
931fa12bd7 Expand urlmodify docs with prose and examples 2018-01-28 20:10:52 +00:00
John Beard
b2a31b9b72 Fix incorrectly quoted regex in urlmodify -r 2018-01-28 19:39:29 +00:00
Colin Caine
d16cbb980b Merge: Support excmd aliases via command
Merge remote-tracking branch 'isaackhor/i236-common-ex-aliases'
2018-01-28 18:19:20 +00:00
Colin Caine
0f40e19035 Revise alias expansion
Simplify alias interface to one function.

Enable aliases that expand to multiple words.
2018-01-28 18:13:21 +00:00
Colin Caine
d588e364f2 Fix typo in command 2018-01-28 17:57:46 +00:00
Colin Caine
9f1f761310 Fix whitespace errrors 2018-01-28 15:18:50 +00:00
Colin Caine
0693cdc45d Merge remote-tracking branch 'origin/master' into HEAD 2018-01-28 15:04:47 +00:00
Oliver Blanthorn
555e543b00
Merge pull request #277 from Koushien/cmdline-emacs-binds
Support Emacs-style C-(a|e|k|u) in cmdline
2018-01-25 09:39:36 +00:00
Oliver Blanthorn
3ccd330a89
Merge pull request #284 from Koushien/dropdown
Unless cancelled, insert mode when select tag focused
2018-01-25 09:37:16 +00:00
Oliver Blanthorn
d23d3b9172
Merge pull request #286 from johnbeard/urlmodify
Add urlmodify command
2018-01-25 09:14:44 +00:00
Oliver Blanthorn
c46c912dd6
Merge pull request #287 from johnbeard/tag-casing
Case insensitive isEditable check on tag names
2018-01-25 08:48:35 +00:00
Oliver Blanthorn
2f998caeb1
Merge pull request #292 from Koushien/reloadall
Make :reloadall only refresh current window tabs.
2018-01-25 08:47:44 +00:00
Oliver Blanthorn
a13fa1a009
Merge pull request #291 from Koushien/help-links
Fix 'project page' link in :help
2018-01-25 08:46:18 +00:00
Koushien
2884b1fb5c
Make :reloadall only refresh current window tabs.
Closes #288.
2018-01-23 22:29:39 -08:00
Koushien
5ea1447bb9
Fix 'project page' link in :help 2018-01-23 21:07:36 -08:00
John Beard
de94ac5007 Case insensitive isEditable check on tag names
Previously was a case-sensitive check against an uppercase name. This
works for HTML.

XHTML will be whatever the source document is, which could be upper or
lower. Firefox will render either one the same, but only uppercase will
be deemed editable by Tridactyl. Fix this by doing a case-insensitive
comparision.

Tag casing is described in:
https://developer.mozilla.org/en-US/docs/Web/API/Element/tagName

Thanks Koushien for working this one out!
2018-01-21 17:36:00 +00:00
John Beard
6bc3b5ae97 Add urlmodify command
Has a few modes:

    -t: Straight text replacement
    -r: Regexp replacement
    -q: Change a query's value to a new one
    -Q: Delete a given query (and value if present)
    -g: Graft a path onto the current URL (or a parent path of it)

These can be used direct on the command line, or bound to keybindings.
The idea is to allow commands to easily navigate around a website. For
example, navigating to a project's issues page on GitHub can be done
with a graft command, and changing an query is useful on sites like
eBay.

As a URL modification is generally site-specific, binding will be much
more useful with aucmds.
2018-01-21 17:14:57 +00:00
Koushien
104e1a98f3
Unless cancelled, insert mode on select tag focus
Added case to nodeName switch; handles basic
dropdown menus.
2018-01-20 17:17:14 -08:00
Isaac Khor
cd3396d39c
Delete leftover comment 2018-01-09 17:37:16 +08:00
Isaac Khor
36bea9718a
Detect infinite loops in alias expansion 2018-01-09 17:34:15 +08:00
Isaac Khor
1203dbd86b
Make let/const consistent 2018-01-09 17:33:52 +08:00
Isaac Khor
d2f4de962a
Expand exstr in parser unconditionally 2018-01-09 17:32:21 +08:00
Isaac Khor
4cf8c25cb8
Document alias processing functions 2018-01-09 00:41:32 +08:00
Isaac Khor
aff1ada83f Add and implement comclear excmd 2018-01-09 00:20:18 +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
89849b01d8 Clarify and elaborate on command excmd docs 2018-01-09 00:07:06 +08:00
Oliver Blanthorn
728c96f6c1
Merge pull request #274 from Minoru/update-help-page
Update help text
2018-01-06 18:48:50 +00:00
Alexander Batischev
f73fa27d15 Update help text
The buffer list *does* show the tab you've selected.

This finishes the job started in
4ed2031d69 (src/static/newtab.md) and
6313431475 (readme.md).
2018-01-06 20:28:37 +03:00
Koushien
dbf3ad8414
Support Emacs-style C-(a|e|k|u) in cmdline
By default, C-c in Vimperator copies selection if
present. We reimplement this.
2018-01-05 21:36:12 -08:00
Isaac Khor
3af7481705 Fix command excmd storing config incorrectly 2018-01-04 23:10:49 +08:00
Alexander Batischev
25baa7ac53 Drop dependency on typedoc-webpack-plugin
It's not required for anything. Closes #268.
2018-01-04 15:05:46 +00:00
Colin Caine
3526b1c979 chore: update package-lock.json 2018-01-04 15:05:46 +00:00
Oliver Blanthorn
b3cc531abb
Merge pull request #272 from Minoru/update-readme
Update readme
2018-01-04 14:36:14 +00:00
Alexander Batischev
6313431475 Update readme
The buffer list *does* show the tab you've selected.
2018-01-04 15:15:34 +03:00
Oliver Blanthorn
a351d3d285
Fix #262: delete exemplar binding 2017-12-31 17:26:00 +00:00
Isaac Khor
2441fba8c0 Merge branch 'master' into i236-common-ex-aliases 2017-12-31 16:57:57 +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
6a27bae92f Implement suggestions - don't use vars where unnecessary 2017-12-31 16:00:00 +08:00
Colin Caine
53e51497e7 logging: rewrite in OOP style 2017-12-30 00:46:26 +00:00