hintmode = "simple" is the default hinting mode, naming hints using
the hintchars configuration. It is the current tridactyl behavior and
is preserved unchanged.
hintmode = "vimperator" is a new hinting mode that allows the user to
filter hints using non-hintchar :alnum: characters. Hints with targets
whose html does not contain these characters as a subsequence (not
contiguous) will be filtered out.
- 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.
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.
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!
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.