Commit graph

5502 commits

Author SHA1 Message Date
Antonio Scandurra
42db566ff6 Remove terminal integration test
Creating a full-fledged terminal is flaky and causes tests to either
hang or outright panic. The only test that requires creating a terminal
was `test_terminal` but we think the value added by that test is not
worth the flakiness, so we're removing it.

Co-Authored-By: Mikayla Maki <mikayla@zed.dev>
2022-08-02 19:09:34 +02:00
Antonio Scandurra
fc14100134 Fix tests 2022-08-02 18:48:17 +02:00
Mikayla Maki
7111576986 Merge main into branch 2022-08-02 09:25:52 -07:00
Antonio Scandurra
71128d2ee6 Compute diffs based on characters rather than lines
Previously, a change on a given line would cause that whole line to be
replaced. In turn, this caused anchors on that line to go to the start
of that line because they would lie inside of a deleted region after applying
the diff.

By switching to a character-wise diff, we perform smaller edits to the buffer
which stabilizes anchor positions.
2022-08-02 16:52:37 +02:00
Antonio Scandurra
f7a3141576
Merge pull request #1443 from zed-industries/non-functional-sign-in
Allow signing in again if authentication is pending or was unsuccessful
2022-08-02 14:56:14 +02:00
Antonio Scandurra
25d47daad6 Fix tests assuming a certain execution order 2022-08-02 14:40:46 +02:00
Antonio Scandurra
a1d0d2ccc4 Add tests for client authentication while a previous sign in is pending 2022-08-02 14:28:47 +02:00
Antonio Scandurra
aa09bc527f Allow signing in again if authentication is pending or was unsuccessful
The local server that we spin up to receive OAuth callbacks isn't
called when an error occurs and it is non-trivial to do so with
next-auth. Besides, there could be cases where the user explicitly
closes the browser window before the callback can be invoked.

With this commit, the user can sign in even while an authentication
is still in progress. As opposed to waiting for at most 10 minutes
before killing the local HTTP server if we haven't received the callback,
we will repeatedly check for a response every second for 100 seconds.
This gives us a chance to determine whether a new authentication has started
in the meantime and, if so, abort the current authentication flow.
2022-08-02 14:16:14 +02:00
Mikayla Maki
ca00128794 End of day 2022-08-01 17:13:06 -07:00
Mikayla Maki
59ba9da247 Probably good enough using the two thread solution, latency is low for most things, and it feels good 2022-08-01 16:52:21 -07:00
Max Brunsfeld
115677ec5d Start work on auto-indenting lines on tab
Co-authored-by: Julia Risley <floc@unpromptedtirade.com>
2022-08-01 16:47:59 -07:00
Mikayla Maki
05cc78d929 Abandoning this attempt, nto good enough at async 2022-08-01 16:47:16 -07:00
Max Brunsfeld
33638c0c11 Use first cursor's indent column when pasting w/ different # of cursors 2022-08-01 11:03:07 -07:00
Max Brunsfeld
04e40608a0 Fix mistakes in editor auto-indent test 2022-08-01 11:02:29 -07:00
Antonio Scandurra
641768174d
Merge pull request #1437 from zed-industries/exponential-invites
Assign 5 invites to users who redeem an invite code
2022-08-01 15:04:21 +02:00
Antonio Scandurra
bc8bec8261 Assign 5 invites to users who redeem an invite code 2022-08-01 14:58:28 +02:00
Antonio Scandurra
a59813cec5
Merge pull request #1430 from zed-industries/xdg-compliance
Store config files under `~/.config/zed` and data files under `~/Library/Application Support/Zed`
2022-08-01 12:13:08 +02:00
Julia
8cf56f8c6f
Merge pull request #1420 from zed-industries/goto-type-definition
Draft: Add "go to type definition" action
2022-07-29 18:31:50 -04:00
ForLoveOfCats
d474e1e1f4 Deduplicate some lsp_command code 2022-07-29 18:04:14 -04:00
ForLoveOfCats
479fbee574 Add test cases for `cmd+shift+click" behavior 2022-07-29 17:00:07 -04:00
ForLoveOfCats
2c70583ef0 Add cmd+shift+click action for triggering go to type definition 2022-07-29 17:00:07 -04:00
ForLoveOfCats
5149c15329 Add "go to type definition" action 2022-07-29 11:41:08 -04:00
Antonio Scandurra
f2d92d640d Copy setting and keymap files from legacy config locations 2022-07-29 10:01:48 +02:00
Antonio Scandurra
5f6e4c7d91 Extract all zed config/cache paths into a paths module 2022-07-29 10:01:48 +02:00
Antonio Scandurra
cfe3ebd2b3 Use XDG-compliant directories for config and cache files 2022-07-29 10:01:48 +02:00
Max Brunsfeld
a842016380
Merge pull request #1418 from zed-industries/autoindent-on-paste
Auto-indent improvements
2022-07-28 23:23:42 -07:00
Max Brunsfeld
868c460620 🎨 Rename and simplify some autoindent stuff 2022-07-28 22:40:30 -07:00
Max Brunsfeld
7a26fa18c7 Record start columns when writing to the clipboard from Zed 2022-07-28 22:13:32 -07:00
Max Brunsfeld
2d05f906f1 Start work on adjusting pasted text based on old start column 2022-07-28 17:29:42 -07:00
Mikayla Maki
8471af5a7d Improved render performance implementation to use a fork of alacritty which includes the last # of bytes processed as a way of estimating throughput in cases where the terminal output is chanegd in place 2022-07-28 16:03:00 -07:00
Max Brunsfeld
3a74290359 Merge branch 'main' into autoindent-on-paste 2022-07-28 15:09:18 -07:00
Mikayla Maki
81cbdcfd11 Reduced time holding lock even more 2022-07-28 14:58:19 -07:00
Max Brunsfeld
fa5af4383d Introduce AutoindentMode parameter to Buffer::edit
This controls whether or not we preserve the relative indentation
of inserted text blocks.

Co-authored-by: Mikayla Maki <mikayla.c.maki@gmail.com>
2022-07-28 14:03:31 -07:00
Max Brunsfeld
cdf6ae25bb Remove indent_size parameter from Buffer::edit_with_autoindent
Instead, compute the indent size by reading the settings inside that method.

Co-authored-by: Mikayla Maki <mikayla.c.maki@gmail.com>
2022-07-28 13:00:05 -07:00
Max Brunsfeld
b1b252ee45 Fix error in autoindent range calculation 2022-07-28 11:51:03 -07:00
Antonio Scandurra
b8383b6175
Merge pull request #1402 from zed-industries/open-log
Introduce `zed: open log` command
2022-07-28 10:36:09 +02:00
Antonio Scandurra
df6e733e68 Open both old and new log files, but just retain the last 1000 lines 2022-07-28 10:25:40 +02:00
Antonio Scandurra
de35c3f99d Prevent log file from becoming larger than 1MB 2022-07-28 10:02:38 +02:00
Isaac Clayton
b20aefc842 First draft for opening Zed.log 2022-07-28 09:25:39 +02:00
Mikayla Maki
57146b6e39 Added variable rate refreshing based on terminal throughput. Should be the last of the performance improvements for now 2022-07-27 16:46:15 -07:00
Mikayla Maki
8a48a11a00 Implemcargo 2022-07-27 16:33:15 -07:00
K Simmons
20d45221c9 Move terminal modal keymap context to the connected view 2022-07-27 11:00:54 -07:00
Mikayla Maki
0ccdc64668 Working on finding a way of estimating throughput 2022-07-27 10:58:23 -07:00
Mikayla Maki
153305f5e4 Finished long-lock style rendering. Need to dynamically adjust the notification rate to handle high throughput scenarios 2022-07-27 10:21:50 -07:00
Mikayla Maki
9dfdaae94d Nearly done, not scheduling our own re-render yet 2022-07-27 10:11:10 -07:00
Antonio Scandurra
92de5ab000 v0.49.1 2022-07-27 13:39:29 +02:00
Antonio Scandurra
426b57731d
Merge pull request #1419 from zed-industries/ime-regressions
Fix IME regressions
2022-07-27 12:37:37 +02:00
Antonio Scandurra
f0814c7784 Fix vim tests using old key bindings 2022-07-27 12:19:01 +02:00
Antonio Scandurra
6a718dc4da Don't insert input when the fn key is held 2022-07-27 12:01:44 +02:00
Antonio Scandurra
d3f14fb1c2 Dispatch application menu events if custom key equivalent wasn't found 2022-07-27 11:46:47 +02:00