Commit graph

5414 commits

Author SHA1 Message Date
Antonio Scandurra
1e94eb74f4 Don't ignore new tab snapshot in WrapMap if only tab size changed 2022-08-03 12:16:46 +02:00
Antonio Scandurra
385d214b47 Enhance DisplayMap randomized test to change tab size
This removes the need for a unit test.
2022-08-03 12:01:26 +02:00
Antonio Scandurra
d1f155337f Recompute layers above tab map entirely when tab size changes
Previously, we wouldn't generate any `TabEdit` when the tab size
changed, causing coordinate spaces in `WrapMap` and `BlockMap` to
become outdated.

This commit generates a synthetic edit that covers the entire `TabMap`
to ensure layers above are synchronized.
2022-08-03 11:06:17 +02:00
Mikayla Maki
541c373d53
Merge pull request #1408 from zed-industries/rendering-performance
Tracking PR for Terminal rendering performance bugs
2022-08-02 16:16:23 -07:00
Julia
8115c1ab24
Merge pull request #1451 from zed-industries/tab-auto-indent
Auto-indent on tab for cursors left of the suggested indent level
2022-08-02 15:52:12 -04:00
Mikayla Maki
ffffe7890f Attempting to do throttling again 2022-08-02 12:15:04 -07:00
Mikayla Maki
8277b98104 Fixed bel bug 2022-08-02 11:58:24 -07:00
Mikayla Maki
937cd582e8 Merged main and branch 2022-08-02 11:44:59 -07:00
Max Brunsfeld
2533648419 Fix selection positions in tab w/ multiple non-empty selections on the same line
Co-authored-by: Julia Risley <floc@unpromptedtirade.com>
2022-08-02 11:42:23 -07:00
Max Brunsfeld
c87eb16ad9 Restructure tab command to treat each cursor individually
Co-authored-by: Julia Risley <floc@unpromptedtirade.com>
2022-08-02 11:08:49 -07:00
Antonio Scandurra
0851524889
Merge pull request #1444 from zed-industries/smaller-diffs
Compute diffs based on characters rather than lines
2022-08-02 19:17:54 +02:00
Antonio Scandurra
c2275e5e9a
Merge pull request #1449 from zed-industries/fix-terminal-test-flakiness
Remove terminal integration test
2022-08-02 19:17:40 +02:00
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