There is a `-:` option in the docs of `find`, but it is not implemented.
This commit implement it.
The new docs of `--search-from-view` and `--reverse` are added, too.
The npm package arg is more flexible than the old arguments parser minimist.
The arg can left the unknown option unchanged,
(while there is a bug that splits the unknown short options,)
and stop at positional arguments are supported, too.
This commit should make the findnext whit negative argument work fine,
and all combination of [reverse, negative] is take cared.
This may change the original behavior of find, because the original
implementation is buggy.
The `findnext -r` is renamed to `findnext -?` to follow the style of `find -?`.
The anchorOffset and the focusOffset are counted from the anchorNode and the focusNode.
They may be different node, so a same offset does not mean empty selection.
Just isCollapsed is enough.
The completion for back/forward can show the history list.
The item contain title, url and timestamp,
but timestamp does not show up in shydactyl theme,
because the `.url` and `.title` both takes `width: 50%;`,
so no space is left for the timestamp.
This commit remove the `.title`'s width contrain,
so the title will adjust its width automatically.
Also style `.time` to appropriate width and align right.
Add details for DocStart, DocLoad, DocEnd, TabEnter, TabLeft,
HistoryState, HistoryPushState and HistoryReplace in
autocmd's JSDoc, and correct HistoryPopState to HistoryPushState.
If there are more than one seturl/bindurl config
in one url, `mktridactylrc` will outputs wrong
seturl/bindurl commands, which become global settings.
Because `prefix.shift()` will mutate the array.
Then in the next iteration, the subconfig and url in prefix
will miss.
Use current time for the timestamp which may not
be same as timestamp in firefox's history.
A handcraft implementation to format human readable timespan.
Bind the pushState and replaceState to history
so they will not lost their this.
Except the this binding problem, I'm not sure whether
this URI change event code will work.