Commit graph

2107 commits

Author SHA1 Message Date
glacambre
8d9795a19b
commandline_frame.ts: Make sure activeCompletions is defined
This is a temporary fix for
https://github.com/tridactyl/tridactyl/issues/1167 . I couldn't find
where this issue might come from and since there are no reproduction
steps this will have to do.

I plan on modeling Tridactyl in TLA+ when I have time in order to find
out where our hard-to-reproduce bugs come from. Hopefully this bug will
be among them.

Closes #1167.
2018-11-13 18:35:11 +01:00
Oliver Blanthorn
c3bdc91ba5
Merge pull request #1166 from glacambre/better_set_error_messages
UnionType.ts: Improve error message on failed conversions.
2018-11-12 18:40:54 +00:00
glacambre
dfbae7ed06
UnionType.ts: Improve error message on failed conversions.
Closes https://github.com/tridactyl/tridactyl/issues/1146.
2018-11-12 19:10:54 +01:00
Oliver Blanthorn
7c690d460a
Merge pull request #1164 from glacambre/pale3_xselpaste
Pale3 xselpaste
2018-11-10 17:10:35 +00:00
pale3
3cf0307945
xselpaste: allow primary select paste using <S-Insert>
currently it only works on web pages and not within commandline! Cos
windows platform dosn't have primary selection, execution of <S-Insert> will silently fail
2018-11-10 17:24:23 +01:00
Oliver Blanthorn
29c0449711
Merge pull request #1162 from glacambre/more_editors
native_background.ts: Add more editors
2018-11-10 11:45:20 +00:00
glacambre
2f1fdd4981
native_background.ts: Add more editors 2018-11-10 12:07:45 +01:00
Oliver Blanthorn
a679c3cf9c
Merge pull request #1157 from glacambre/fix_doc
Fix doc
2018-11-08 07:28:35 +00:00
glacambre
56fe0d9d7e
excmds.ts: Update guiset documentation links
Fixes https://github.com/tridactyl/tridactyl/issues/1104
2018-11-08 07:03:58 +01:00
glacambre
cd55b6f0f8
Update documentation links
As cmcaine said in #1149, the help page links are currently broken
because typedoc tries to generate documentation for source files in the
`compiler/` directory. I just realized that before #1026, these files
were not referenced in any of the files in the `src` directory and this
is why typedoc ignored them. This change happened because I wanted to
type the metadata.

There are three possible solution to #1149.
- Go back to untyped metadata.
- Move the metadata types to Tridactyl's src directory on build.
- Update all links to the doc.

I believe having typed metadata is useful and I'd like to keep it that
way. Moving the metadata types to Tridactyl's src directory is certainly
doable but doesn't sound like the best idea to me, we're unnecessarily
copying files. Updating the links to the doc sounds reasonable as it's
only a one-time thing and so this is what this commit does in order to
close #1149.
2018-11-08 07:00:35 +01:00
Oliver Blanthorn
2548fb07e7
Update number of beta users 2018-11-07 18:42:18 +00:00
Oliver Blanthorn
656269958d
Merge branch 'fix-1084' 2018-11-07 11:16:53 +00:00
Oliver Blanthorn
2a0f9ed1a0
Add the right version of web-ext-types 2018-11-07 11:14:17 +00:00
Oliver Blanthorn
ed581e1fa8
Merge pull request #1153 from glacambre/minor_code_cleanups
Minor code cleanups
2018-11-07 08:40:55 +00:00
Oliver Blanthorn
a48aa562c7
Merge pull request #1154 from glacambre/hide_hidden_symbols
Hide @hidden symbols
2018-11-07 08:39:50 +00:00
glacambre
ba2537cf04
Completions: do not show @hidden excmds 2018-11-07 08:39:36 +01:00
glacambre
ecc936ea7e
compiler: Add information about @hidden symbols to metadata 2018-11-07 08:12:53 +01:00
glacambre
7b5f7ef298
Minor code cleanups
This commit makes error messages when the native messenger is
unavailable easier to read. Since they're easier to read, there's no
need for custom errors in setclip/getclip anymore, provided that the
errors they throw are correctly logged. In order to make sure of that,
we remove the try/catch in excmds.ts:clipboard(), which should let
errors bubble up as needed.

I also noticed that while {set,get}Clipboard relied on the command line
being focused in order to work, they didn't do that themselves and
instead expected their callers to have set things up. This didn't make
sense to me so I moved the focusing code inside of {set,get}Clipboard.

This was all done while chasing the elusive #1135 but probably doesn't
change anything about it.
2018-11-07 06:21:36 +01:00
Anton Vilhelm Ásgeirsson
a09a771955 Only cycle through visible tabs. Fixes #1084. 2018-11-06 14:05:07 +00:00
Oliver Blanthorn
9cf2c2f205
Hide fullscreen internal constant 2018-11-06 12:42:45 +00:00
Oliver Blanthorn
e3465efb36
Update package-lock, prod build bot 2018-11-06 12:40:21 +00:00
Oliver Blanthorn
e09ddab8a2
Fix #1137: merge branch 'donations' 2018-11-06 12:13:42 +00:00
Oliver Blanthorn
3bdd795e81
Merge pull request #1147 from glacambre/fix_commandline_space
Fix commandline failing to insert spaces in middle of words
2018-11-06 09:08:44 +00:00
Oliver Blanthorn
d93aa8bbf8
Merge pull request #1148 from glacambre/fix_990
excmds.ts: Don't rely on activeTab().index for tabprev/tabnext
2018-11-06 09:07:20 +00:00
glacambre
3d878a5ac3
excmds.ts: Don't rely on activeTab().index for tabprev/tabnext
Because of a firefox bug (
https://bugzilla.mozilla.org/show_bug.cgi?id=1504775 ), indexes are not
necessarily contiguous. This becomes an issue in tabnext and tabprev as
these two functions expect contiguous indexes.
We circumvent this issue by grabbing an array of all tabs for the
current window, sorting them by index and the using their index within
that array in order to decide what tabs should be selected.

This fixes https://github.com/tridactyl/tridactyl/issues/990 .
2018-11-06 07:55:14 +01:00
glacambre
b30c68fa51
Fix commandline failing to insert spaces in middle of words
Before this commit, it was impossible to insert a space in the middle of
a word in the command line ; the space would always be inserted at its
end.
2018-11-06 02:19:34 +01:00
Oliver Blanthorn
7f034a161c
Merge branch 'type_compiler' 2018-11-05 13:24:35 +00:00
Oliver Blanthorn
d385e65a76
Update dependencies
Add focus signature with no argument and Document.fullscreenElement to Document interface.

Add sloppy typing to fuseOptions.
2018-11-05 13:12:08 +00:00
glacambre
170ce78115
scrolling.ts: Fix sticky scrolling
Before this commit, Tridactyl used to "stick" at a page's edge. This was
caused by some values (namely lastX and lastY) that should have been
cached not being cached, resulting in Tridactyl trying to start
scrolling from the wrong element.

While testing this fix, I noticed that scrolling could be extremely slow
on large pages (e.g. https://stripe.com/docs/api). I attempted to fix
that by switching from a dumb parent/childNode traversal to a
TreeWalker-based traversal. While this helps a lot, scrolling can still
be slow on such pages.
2018-11-05 07:19:41 +01:00
glacambre
b5da7705e9
Improve generated metadata types for objects
Before this commit, the compiler pass that generated metadata for
settings didn't generate informetion precise enough to be used to
validate settings that existed in objects (e.g. `logging.cmdline`).

This resulted in no typechecking being done for these settings (e.g.
`:set logging.cmdline 1` would not throw any errors). This commit fixes
that.
2018-11-04 17:28:15 +01:00
glacambre
d80fa64b03
Turn numerical config settings into numbers
This commit turns every numerical config settings into numbers.
Previously, they were stored as string as casting the arguments of the
set excmd was slightly complicated. However, now that arguments are
automatically cast, there is no reason to keep using strings.

In fact, switching to number makes things simpler and fixes a few bugs
where the config setting was accessed without being cast, like in
text_to_speech.ts or completions/History.ts.
2018-11-04 17:28:11 +01:00
glacambre
4d0f7c84eb
Make the generated metadata typed
This commit makes the compiler pass use different classes in order to
represent the metadata. This enables adding per-class toString/convert
functions. This enables easy type checking and conversion in the `:set`
excmd.
2018-11-04 17:24:16 +01:00
Oliver Blanthorn
abbb51debd
Document im_ breaking change 2018-11-04 12:30:42 +00:00
Oliver Blanthorn
d796f3bf14
Merge branch 'generic_cmdline' 2018-11-04 12:28:31 +00:00
Oliver Blanthorn
ea3d01ab36
Remove really annoying ex-mode bind 2018-11-04 12:27:48 +00:00
Oliver Blanthorn
7b7cd7e1c1
Add gu reddit bind 2018-11-04 12:04:20 +00:00
Oliver Blanthorn
e6dad92a89
Add wikiwand specific yy bind to tridactylrc 2018-11-04 11:47:09 +00:00
Oliver Blanthorn
bf4ef89a82
Add examples for usage of funds 2018-11-03 15:14:20 +00:00
Oliver Blanthorn
1817f71793
Fix typo, remove unsupported centering 2018-11-03 13:16:37 +00:00
Oliver Blanthorn
d3b441a13b
Add donation text and image to readme 2018-11-03 13:12:53 +00:00
Oliver Blanthorn
321b537a61
Merge pull request #1141 from glacambre/nativemessenger_tutorial
Various tutorial improvements
2018-11-03 08:31:34 +00:00
glacambre
946e8031ad
Various tutorial improvements
This commit renames tutorial pages with the number in which they are
visited by the user. This helps when you need to add a new page and want
to link to the previous/next one in it.

It also adds a new page about the native messenger which describes what
it does and how to install it. I took this opportunity to rename
installnative to nativeinstall and to add an ex alias that goes the
other way.

Last, this commit  mentions that `:help` also accepts settings and keys
as argument and that we now have a troobleshooting guide.
2018-11-03 08:06:30 +01:00
Oliver Blanthorn
cf651478fa
Relegate halloween to the changelog 2018-11-02 18:33:14 +00:00
glacambre
4f1b2d5e8b
config.ts: Add links to ex/text functions above {ex,i,input}maps 2018-11-02 12:57:31 +01:00
Oliver Blanthorn
de9fc2d4b5
Merge pull request #1136 from antonva/fix-1031
Add element property check to fix google product search bars.
2018-11-02 11:15:27 +00:00
glacambre
def94f795d
Document ex.* functions 2018-11-02 06:33:09 +01:00
Anton Vilhelm Ásgeirsson
9a338c1935 Add element property check to fix google product search bars. 2018-11-02 01:02:59 +00:00
glacambre
cfe5b5c597
commandline_frame.ts: Reset keyEvents
Before this commit, keyEvents was never reset. This caused weird issues
like control closing the commandline after a first ex command had been
accepted. We now reset keyEvents in two places ; when an ex command is
accepted (which could happen when inserting a completion, for example)
and when the command line is closed (which could be triggered by an
outside event).
2018-11-01 19:11:57 +01:00
glacambre
c0bffbd4e3
commandline_frame.ts: Remove unnecessary insert_completion_or_space fn 2018-11-01 18:43:59 +01:00
Oliver Blanthorn
2119bbea3e
Merge branch 'undo-tab-window-recent' 2018-11-01 17:27:48 +00:00