ForLoveOfCats
f9dc14be43
Add newline_below
action
2022-08-03 11:34:40 -04:00
Antonio Scandurra
7cbf76ce80
Implement default macOS menu items
...
- `Zed -> Hide`, bound to `cmd-h`
- `Zed -> Hide Others`, bound to `alt-cmd-h`
- `Zed -> Show All`
- `Window -> Minimize`, bound to `cmd-m`
- `Window -> Zoom`
2022-08-03 15:13:30 +02:00
Antonio Scandurra
3174b08082
Update old snapshot when only the tab size changes
2022-08-03 12:23:02 +02:00
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
86406153bd
fixed styles
2022-08-02 17:31:40 -07:00
Mikayla Maki
2a5eafcc61
Added cell styles
2022-08-02 17:20:28 -07:00
Max Brunsfeld
039c94c829
🎨 Editor::tab
2022-08-02 17:02:25 -07: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
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
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
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
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
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
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
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
Antonio Scandurra
fe7ba09d52
Honor shift when converting keystroke to native key equivalent
2022-07-27 09:28:56 +02:00
Max Brunsfeld
f547c268ce
Restructure autoindent to preserve relative indentation of inserted text
2022-07-26 17:43:43 -07:00
Max Brunsfeld
537530bf76
🎨 compute_autoindents
2022-07-26 17:09:30 -07:00
Max Brunsfeld
09ed149184
Improve calculation of which lines are new when auto-indenting
2022-07-26 17:09:30 -07:00
Mikayla Maki
d1e878f0c6
Checkpoint, still not compiling
2022-07-26 16:58:14 -07:00
Mikayla Maki
6b9c1e78c1
Merge pull request #1417 from zed-industries/working-directory-regression
...
Fixed regression in working directory code
2022-07-26 16:39:40 -07:00
Mikayla Maki
8a6605c090
Added test covering this feature
2022-07-26 16:30:51 -07:00
Mikayla Maki
88202a567c
Fixed regression in working directory code
2022-07-26 16:22:07 -07:00
Mikayla Maki
ace16b63a9
Checkpoint, still converting terminal to events. Not compiling
2022-07-26 16:17:26 -07:00
Max Brunsfeld
ef1efb615e
0.49.0
2022-07-26 14:26:45 -07:00
Mikayla Maki
71af876489
removed stray file
2022-07-26 13:10:04 -07:00
Keith Simmons
4ff007eaab
Merge pull request #1414 from zed-industries/fix-theme-issues
...
Fix tab bar themes
2022-07-26 11:55:17 -07:00
K Simmons
2bd0819ac8
Extract tab bar from workspace
2022-07-26 10:41:02 -07:00
Antonio Scandurra
8552ba15dc
Show symbols located in visible paths before ones located externally
2022-07-26 14:48:18 +02:00
Antonio Scandurra
f775cb2947
Honor sort_text
when language server provides completions
2022-07-26 10:41:39 +02:00
Antonio Scandurra
45eb0e7889
Clip invalid edits from LSP instead of reporting an error
...
This fixes an issue with the Go language server, which reports invalid
formatting ranges when there's a missing newline at the end of the file.
Specifically, if the buffer is `N` lines long, it will try to insert the
newline at `Point(N + 1, 0)`.
I confirmed the behavior is the same in VS Code, and they indeed clip the
LSP ranges as well.
2022-07-26 08:43:27 +02:00
Mikayla Maki
67e650b0e0
Fixed conflicts
2022-07-25 17:24:25 -07:00
Mikayla Maki
aea3508b69
keeping both...
2022-07-25 17:24:25 -07:00
Mikayla Maki
bc2c8e0e05
Finished refactor for mutable terminal and long-single-lock style. Currently terminal is deadlocking instantly, need to just do the full refactor
2022-07-25 17:24:25 -07:00
Mikayla Maki
be4873b92b
Checkpoint, build failing
2022-07-25 17:24:25 -07:00
Mikayla Maki
27e76e3ca2
Retouched a test, should still be failing
2022-07-25 17:24:25 -07:00
Mikayla Maki
889720d06d
Fixed conflict
2022-07-25 17:24:21 -07:00
Mikayla Maki
4d8cd6d8ea
Added event buffering, need to figure out a proper fix
2022-07-25 17:23:00 -07:00
Max Brunsfeld
9cefeb08e1
Merge pull request #1411 from zed-industries/no-gpu-log
...
Log instead of showing an alert when exiting due to no GPU
2022-07-25 16:21:05 -07:00
Max Brunsfeld
ea82b9353d
Log instead of showing an alert when exiting due to no GPU
...
Showing the alert resulted in a panic because tasks
dispatched to the app's main GCD queue continue
to run even while the alert is displayed.
2022-07-25 16:13:28 -07:00
Mikayla Maki
313316fe88
fixed
2022-07-25 16:08:31 -07:00
Julia
888405a4b2
Merge pull request #1409 from zed-industries/middle-mouse-close-tabs
...
Allow closing tabs with the middle mouse button
2022-07-25 17:05:00 -04:00
Max Brunsfeld
13097ea110
Update terminal test to reflect new text insertion approach
2022-07-25 12:21:26 -07:00
Max Brunsfeld
ab037fe844
Simulate calling of text-insertion APIs in TestAppContext::dispatch_keystroke
2022-07-25 12:20:12 -07:00
Max Brunsfeld
a54d9f1697
Add comment about noop performKeyEquivalent function
2022-07-25 11:42:54 -07:00
Max Brunsfeld
09c0211c96
Bump the RPC protocol version
2022-07-25 11:36:52 -07:00
Max Brunsfeld
4c8d9384b1
Replaces lines_utf16 with a single u32 - last_line_len_utf16
2022-07-25 11:35:42 -07:00
ForLoveOfCats
36d789ff84
Allow closing tabs with the middle mouse button
2022-07-25 14:23:38 -04:00
Antonio Scandurra
6dc27cbba2
Add test for IME composition with multiple cursors
2022-07-25 17:47:10 +02:00
Antonio Scandurra
ff99f8d0ca
Clip UTF-16 offsets provided by Cocoa when composing IME input
2022-07-25 17:32:33 +02:00
Antonio Scandurra
47e8bd5f4f
Introduce MultiBuffer::clip_offset_utf16
2022-07-25 15:06:04 +02:00
Antonio Scandurra
c46be992e0
Introduce Rope::clip_offset_utf16
2022-07-25 15:02:45 +02:00
Antonio Scandurra
bb55d654ce
Handle IME composition with multiple cursors
2022-07-25 14:50:09 +02:00
Antonio Scandurra
acdfb933e8
Honor shift if pressing command switches keyboard
2022-07-25 11:01:38 +02:00