Commit Graph

3512 Commits

Author SHA1 Message Date
Max Brunsfeld
ea09ef2c1a remove http-auth-basic dependency 2022-08-16 12:58:53 -07:00
Mikayla Maki
73cd6b51d8
Merge pull request #1520 from zed-industries/terminal-blink
Terminal cursor blinking
2022-08-15 18:39:23 -07:00
Mikayla Maki
b9c73127b4 Added a hollow mode to the cursor rendering code, for terminal lost focus 2022-08-15 18:27:26 -07:00
Mikayla Maki
bba51c3ae6 Added cursor blink and settings 2022-08-15 18:05:07 -07:00
Max Brunsfeld
1f00f6c163
Merge pull request #1519 from zed-industries/go-to-def-link-font-size-change
Clear any stale go-to-definition link when resizing the buffer font
2022-08-15 17:40:00 -07:00
Max Brunsfeld
754a130e59 Clear go-to-def link when deactivating the window 2022-08-15 17:30:41 -07:00
Mikayla Maki
7b3a7727c6 Basic cursor blinking :) 2022-08-15 17:00:44 -07:00
Max Brunsfeld
7de8228efd Clear stale go-to-def link when resizing buffer font 2022-08-15 16:15:20 -07:00
Mikayla Maki
bb2245ab18
Merge pull request #1518 from zed-industries/add-terminal-focus
Added focus-in and focus-out behavior to terminal
2022-08-15 16:14:05 -07:00
Mikayla Maki
a24e5b128c Fixed text rendering color based on focus 2022-08-15 16:05:03 -07:00
Mikayla Maki
761b211e89 Added focus-in and focus-out behavior to terminal 2022-08-15 15:59:17 -07:00
Max Brunsfeld
51b98d548b Ensure a deterministic order to project activity summaries 2022-08-15 15:23:12 -07:00
Max Brunsfeld
776095caf0 Add bootstrap script, avoid hard-coding zed team members 2022-08-15 13:25:31 -07:00
Antonio Scandurra
4fcba083ba Autoscroll to filename editor when creating or renaming entry
Also, autoscroll when a filename editor goes off-screen and the user
types or changes selections.
2022-08-15 15:14:42 +02:00
Antonio Scandurra
545f12362c Rename {project_panel,contacts_panel}::Toggle to ToggleFocus 2022-08-15 14:53:42 +02:00
Antonio Scandurra
b94366ab90 Add zed::ToggleFullScreen bound to ctrl-cmd-f 2022-08-15 11:53:37 +02:00
ForLoveOfCats
7b71554b58 Don't scroll to cursor when performing file save 2022-08-12 11:20:18 -04:00
Mikayla Maki
e2200109e6 Make clippy happy 2022-08-11 15:47:56 -07:00
Mikayla Maki
804c4c512b Merge branch 'main' into ime-stuff 2022-08-11 15:35:42 -07:00
K Simmons
42c01c5b10 minor rustfmt fix 2022-08-11 11:35:11 -07:00
K Simmons
9aa3f2d777 clippy fixes for focus change 2022-08-10 16:51:01 -07:00
ForLoveOfCats
8ba2f77148 One big cleanup pass of clippy lints
Co-authored-by: Mikayla <mikayla@zed.dev>
2022-08-10 16:51:01 -07:00
Keith Simmons
ec015d4607
Merge pull request #1422 from zed-industries/workspace-child-focus-pane-activation
Add on_child_focus and on_child_blur to View trait
2022-08-10 16:42:01 -07:00
K Simmons
4d38dcfc54 Fix workspace 2022-08-10 16:27:45 -07:00
K Simmons
d68f227ec4 Fix failing tests 2022-08-10 16:26:53 -07:00
Mikayla Maki
ee0e6a0109 Added env toml so readme db instructions are correct 2022-08-10 15:07:02 -07:00
Julia
635805cd6f
Merge pull request #1482 from zed-industries/click-goto-on-mouse-up
Handle Cmd/Shift + Click go-to action on mouse-up instead of mouse-down
2022-08-10 12:03:54 -04:00
K Simmons
3bdf05c0cd fix up command palette 2022-08-09 17:15:54 -07:00
K Simmons
f5a6a112c8 Address picker issues 2022-08-09 17:15:54 -07:00
K Simmons
6f180ed822 Pane focus working. Modals seem broken now 2022-08-09 17:15:54 -07:00
K Simmons
049149320c build fix 2022-08-09 17:15:54 -07:00
K Simmons
690ea57211 WIP compiling but failing with circular reference 2022-08-09 17:15:52 -07:00
K Simmons
6442ec59e7 Switch action dispatch to use MutableAppContext parent utilities and delete parent map from presenter 2022-08-09 17:09:28 -07:00
K Simmons
4271eb3624 Event dispatch moved to MutableAppContext. No longer dispatches from presenter. Not currently handling key presses properly 2022-08-09 17:09:16 -07:00
Mikayla Maki
45c0539de0 changed name of subscription mapping and moved out to file
Co-authored-by: Keith <keith@zed.dev>
2022-08-09 16:59:13 -07:00
Mikayla Maki
1044b7d7d2 checkpoint, no idea what's happening 2022-08-09 16:15:53 -07:00
ForLoveOfCats
3d9821b430 Jankily adjust left padding on workspace title in fullscreen
This could seriously be done better

Co-authored-by: Mikayla <mikayla@zed.dev>
2022-08-09 19:03:32 -04:00
ForLoveOfCats
43b9f3beb3 Invalidate view when entering/exiting fullscreen
This is required for `render_titlebar` to eventually adapt to
fullscreen status to affect the size of left padding on workspace
name to account for the traffic lights presence/absence

Co-authored-by: Mikayla <mikayla@zed.dev>
2022-08-09 19:03:32 -04:00
ForLoveOfCats
46fef69b1a Refactor notification/observation callback pattern in MutableAppContext
Pull out duplicate code and clarify some misc behavior. Some of this
existing API feels like it's probably incorrect but that needs more
thorough investigation

Co-authored-by: Mikayla <mikayla@zed.dev>
2022-08-09 19:03:25 -04:00
ForLoveOfCats
ab760493cf Route whether or not a window is fullscreen down into GPUI
This still needs to be able to invalidate things to be useful
but it's a good first cut at just making the information available
to platform-agnostic code

Co-authored-by: Mikayla <mikayla@zed.dev>
2022-08-09 19:03:12 -04:00
ForLoveOfCats
a47a6f2f22 Handle Cmd/Shift + Click go-to action on mouse-up instead of mouse-down 2022-08-08 15:59:33 -04:00
ForLoveOfCats
db52593d9b Automatically trigger project search to occur when deploying 2022-08-08 13:17:19 -04:00
Mikayla Maki
435360754b Fixed lack of scrolling 2022-08-05 09:18:24 -07:00
Mikayla Maki
0b1dab7fa7 Merge branch 'main' of github.com:zed-industries/zed 2022-08-04 20:59:22 -07:00
Mikayla Maki
83449c95b0 Fixed terminal clear screen 2022-08-04 20:59:09 -07:00
Max Brunsfeld
7527850546 Handle RPC requests for type definitions on server and host 2022-08-04 15:10:46 -07:00
Max Brunsfeld
4817b11cad 0.50.0 2022-08-04 12:44:31 -07:00
Mikayla Maki
c4a6f4f103
Merge pull request #1471 from zed-industries/terminal-context-menu
Terminal context menu
2022-08-04 12:08:24 -07:00
Mikayla Maki
5a372cecaa
Merge pull request #1467 from zed-industries/new-button
Add discoverable 'New' button
2022-08-04 12:02:57 -07:00
Mikayla Maki
a3e81b7ce2 Merge branch 'new-button' into terminal-context-menu 2022-08-04 12:01:51 -07:00
Mikayla Maki
4549395d02 update icon 2022-08-04 11:58:55 -07:00
Mikayla Maki
06b1a74156 Merge branch 'main' into new-button 2022-08-04 11:54:40 -07:00
ForLoveOfCats
c21314bfbd Add ability to provide custom LSP server initialization options 2022-08-04 14:47:06 -04:00
Max Brunsfeld
134803745a
Merge pull request #1469 from zed-industries/distinctive-marked-text
Tweak "marked ranges" test helper so that it can be used in documents with braces and brackets
2022-08-04 11:39:04 -07:00
Max Brunsfeld
89a645ee11 Add docs to some EditorTestContext methods that use marked text 2022-08-04 11:25:09 -07:00
Mikayla Maki
d823da05ee Added context menu to terminal 2022-08-04 11:22:09 -07:00
Max Brunsfeld
dc0a96c084 Add docs to marked range functions 2022-08-04 11:14:21 -07:00
Max Brunsfeld
26fdaeb92b Use new marked ranges format whenever we don't need overlapping ranges 2022-08-04 10:23:03 -07:00
Mikayla Maki
907d3e4035 Checkpoint, not compiling 2022-08-04 10:16:26 -07:00
Mikayla Maki
314c26e4ec Removed icons 2022-08-04 08:42:42 -07:00
Max Brunsfeld
8e6fb76681 Use new marked_ranges format in more editor tests 2022-08-03 20:04:47 -07:00
Max Brunsfeld
afcf5fc95b Update vim mode tests to use new marked text format 2022-08-03 17:52:34 -07:00
Mikayla Maki
96cc6d5ce5 Added icons to context menu 2022-08-03 16:47:41 -07:00
Max Brunsfeld
eabd9c02e5 Update marked text helpers to use more distinctive characters for markers 2022-08-03 16:45:16 -07:00
Mikayla Maki
bf0ec13e65 New button 2022-08-03 15:59:25 -07:00
Mikayla Maki
81b35c7819 Changed alacritty version 2022-08-03 15:04:48 -07:00
Mikayla Maki
59feb7ab04 Removed debugs 2022-08-03 15:03:03 -07:00
Mikayla Maki
82ecb5923e Much better rectangle fiddling 2022-08-03 14:54:45 -07:00
Mikayla Maki
3c468531ea Fixed cursor-over-大 bug 2022-08-03 14:17:25 -07:00
Mikayla Maki
9c3b287a61
Merge pull request #1464 from zed-industries/lower-latency
Lower terminal latency
2022-08-03 12:21:30 -07:00
Mikayla Maki
4126e977b6 Reworked loop to lower latency and continue throttling until it's out of events 2022-08-03 12:18:11 -07:00
Max Brunsfeld
6e76bd32da
Merge pull request #1462 from zed-industries/crash-on-goto-diagnostic
Fix two crashes related to diagnostics and bugs in mouse-based columnar selection
2022-08-03 12:04:56 -07:00
Julia
b0dc487fdf
Merge pull request #1460 from zed-industries/insert-newline-below
Add `newline_below` action
2022-08-03 14:56:01 -04:00
Mikayla Maki
edbe4474ab
Merge pull request #1463 from zed-industries/fix-lockup-on-move
Fix lockup on move
2022-08-03 11:39:53 -07:00
Mikayla Maki
ed3d339dec Implemented a much more dynamic render/event loop with Antonio 2022-08-03 11:27:36 -07:00
Mikayla Maki
bb8263104c Pause and buffer 2022-08-03 10:29:03 -07:00
Mikayla Maki
f34d686aa5
Merge pull request #1461 from zed-industries/touch-ups
Touch ups
2022-08-03 10:20:04 -07:00
Max Brunsfeld
096f4693d3 Fix crash and wrong columnar selection when mousing over block lines 2022-08-03 10:19:06 -07:00
Max Brunsfeld
e1431ede36 Avoid crash when clicking the popover of a diagnostic that's been removed 2022-08-03 09:10:00 -07:00
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
Antonio Scandurra
ca3e73106c Merge branch 'main' into ime-support-2 2022-07-25 10:47:49 +02:00
Antonio Scandurra
d3567e381c Coalesce IME compositions into a single edit 2022-07-25 09:53:51 +02:00
Antonio Scandurra
555e705ccb 🎨 2022-07-23 09:31:41 +02:00
Antonio Scandurra
0fc7308932 Allow grouping local transactions even if remote peer edits in between 2022-07-23 09:27:21 +02:00
Max Brunsfeld
79f960b69e Combine adjacent ranges in 'edited_ranges_for_transaction' 2022-07-22 17:41:31 -07:00
Max Brunsfeld
7c3421e041 Remove versioned offset ranges from transactions and undo operations
Now, instead of using these versioned offset ranges, we locate the
fragments associated with a transaction using the transaction's
edit ids. To make this possible, buffers now store a new map called
`insertion_slices`, which lets you look up the ranges of insertions
that were affected by a given edit.

Co-authored-by: Antonio Scandurra <antonio@zed.dev>
2022-07-22 17:28:55 -07:00
Nate Butler
f963c0ed45 WIP for keith 2022-07-22 17:28:58 -04:00
Mikayla Maki
8c1d4d877f
Merge pull request #1393 from zed-industries/graceful-exit
Polishing the terminal
2022-07-22 13:59:13 -07:00
Mikayla Maki
a41e54f3dc Finished terminal refactoring 2022-07-22 13:54:46 -07:00
Mikayla Maki
119207a9e5 Refactored a bunch of stuff, working on tidying element code 2022-07-22 12:06:42 -07:00
Max Brunsfeld
65fd943509 Move edited_ranges_for_transaction from BufferSnapshot to Buffer
Co-authored-by: Antonio Scandurra <antonio@zed.dev>
2022-07-22 11:24:14 -07:00
Keith Simmons
2111fdc118
Merge pull request #1378 from zed-industries/diagnostics-popover
Diagnostics Popover
2022-07-22 11:12:56 -07:00
K Simmons
b93040a6ae attempt to fix broken test 2022-07-22 10:55:57 -07:00
Mikayla Maki
dce27870ce Refactored terminal tests 2022-07-22 10:20:15 -07:00
Nate Butler
088668ecf8 Fix reversed disclosure arrows in project panel 2022-07-22 11:57:53 -04:00
Antonio Scandurra
7b009c8bbe Merge branch 'main' into ime-support-2 2022-07-22 16:03:38 +02:00
Antonio Scandurra
2bfa3b9006 Synthesize CGEvents instead of using charactersByApplyingModifiers 2022-07-22 15:51:34 +02:00
Antonio Scandurra
622596619c Honor ⌘ when Dvorak-QWERTY is used 2022-07-22 14:52:24 +02:00
Antonio Scandurra
136550de9f Discard shift when it causes keyboard to output a different character 2022-07-22 08:15:44 +02:00
Max Brunsfeld
9c412a8806 Remove test for handling input via key events
Now, textual input is handled by a different code path than other key events.
2022-07-21 21:40:37 -07:00
Max Brunsfeld
372c3eed52 Adjust editor tests to use input APIs instead of key events 2022-07-21 21:36:40 -07:00
Max Brunsfeld
0185b4fef4 Add simple IME handling to the terminal 2022-07-21 21:32:58 -07:00
Keith Simmons
9286e5ea04
Merge pull request #1396 from zed-industries/better-empty-pane
Fix Pane Focus Issues
2022-07-21 15:07:03 -07:00
K Simmons
d6519ad280 Minor naming improvements and revert empty pane background color change 2022-07-21 14:56:17 -07:00
Max Brunsfeld
6d264502b2 Remove print statements 2022-07-21 13:44:58 -07:00
Max Brunsfeld
2142fca673 Remove Input action, detect ignored input in vim via an event 2022-07-21 13:40:48 -07:00
Max Brunsfeld
beeaec8647 Prevent IME window from appearing while editor's input is disabled (vim) 2022-07-21 12:48:36 -07:00
Mikayla Maki
c6d5decbf9 Finished erorr terminal refactoring 2022-07-21 12:37:15 -07:00
Max Brunsfeld
7c575990be Remove the set_selected_text_range method from the InputHandler trait 2022-07-21 12:22:12 -07:00
Mikayla Maki
7c0a031506 added cursor text back 2022-07-21 10:04:12 -07:00
Antonio Scandurra
509f54bf20 Don't dispatch keydown event if editor is still composing 2022-07-21 17:37:32 +02:00
Antonio Scandurra
97ce3998ec Position IME input according to where the selection is rendered 2022-07-21 17:35:40 +02:00
Antonio Scandurra
3c5d7e001e Always mark keydown events as handled to suppress beep 2022-07-21 15:53:21 +02:00
Antonio Scandurra
3d6c257551 🎨 2022-07-21 14:39:22 +02:00
Antonio Scandurra
b2f2c5b055 Handle keydown event even when charactersIgnoringModifiers is empty
This allows the input system to work in the presence of dead keys.
2022-07-21 14:36:47 +02:00
Antonio Scandurra
101a0663d3 Remove input from KeyDownEvent 2022-07-21 14:29:27 +02:00
Antonio Scandurra
f170582c26 Remove println statements from NSTextInputClient protocol functions 2022-07-21 13:51:31 +02:00
Antonio Scandurra
a4ceae3cf2 Remove unused {cancel,finish}_composition methods 2022-07-21 13:48:56 +02:00
Antonio Scandurra
481078ae22 Restructure IME composition to not follow Chromium so closely 2022-07-21 13:41:55 +02:00
Antonio Scandurra
b02681ee8a Treat NSTextInputClient ranges as UTF-16 2022-07-21 13:41:35 +02:00
Antonio Scandurra
32662b6b92 Start indexing UTF-16 offsets
This is needed because cocoa will report ranges as UTF-16 indices.
2022-07-21 09:40:48 +02:00
Antonio Scandurra
eda60effed Honor setting the selected range in addition to marking text 2022-07-21 08:57:20 +02:00
K Simmons
fb2fbf2ac7 fix test failure 2022-07-20 19:13:16 -07:00
K Simmons
b85b2a90aa address warnings 2022-07-20 19:02:33 -07:00
K Simmons
02a47d962e add test coverage for diagnostic popover 2022-07-20 19:02:33 -07:00
K Simmons
95952f0c66 working diagnostic popover. Also renamed GoToNextDiagnostic to GoToDiagnostic and adjusted it's action to jump to the popover's diagnostic if it is visible 2022-07-20 19:02:33 -07:00
K Simmons
dbedc30abe WIP 2022-07-20 19:02:33 -07:00
K Simmons
daceb1eb5f Fix warning 2022-07-20 19:02:12 -07:00
K Simmons
225055ed5d Address some issues where panes don't get focused properly, make the focused pane more obvious, and prevent splitting of the pane with no items 2022-07-20 18:52:32 -07:00
Max Brunsfeld
f712dec4c0 Use new API for input handling in Terminal 2022-07-20 17:33:37 -07:00
Mikayla Maki
ee87c8ebde Render is snappier, less locking, and errors feel nicely modeled 2022-07-20 17:25:21 -07:00
Mikayla Maki
741b78a15b I think I'm finished 2022-07-20 17:11:36 -07:00
Mikayla Maki
061dde5a9b Compiling with new result based error handling 2022-07-20 16:48:40 -07:00
Max Brunsfeld
f985515141 Start work on new text input handling in Editor 2022-07-20 16:45:27 -07:00
Max Brunsfeld
0b81a4dfae Call methods on the focused view during input events 2022-07-20 16:44:26 -07:00
Keith Simmons
d34d6ea184
Merge pull request #1392 from zed-industries/mouse-vim-mode-clipping
Fixup Clipping at Line Ends when Selecting with the Mouse in Vim Mode
2022-07-20 13:39:24 -07:00
Mikayla Maki
9b6df1fb61 Checkpoint, this commit does not compile 2022-07-20 12:41:04 -07:00
Mikayla Maki
b493bafb48 Fixed failing test 2022-07-20 10:34:00 -07:00
Mikayla Maki
e2a9a6f361 Maybe fixed toml 2022-07-20 10:04:08 -07:00
Mikayla Maki
18079ced20 Updated alacritty version 2022-07-20 10:04:08 -07:00
Mikayla Maki
ef1a32ee92 Done updating rendering performance for now. Further changes would require more fundamental work, I'm still not really happy with it as is though. Will probably take a few hours to clean the code though. 2022-07-20 10:04:08 -07:00
Mikayla Maki
005e2cb2be Compiling again... finally 2022-07-20 10:04:08 -07:00
Mikayla Maki
4f7b6b8b22 Finally finished merging this massive ball of changes 2022-07-20 10:04:08 -07:00
Mikayla Maki
150d2ff53f Attempting to continue rebase 2022-07-20 10:04:08 -07:00
Mikayla Maki
4a483618be Finished graceful terminal failure 2022-07-20 10:04:08 -07:00
Mikayla Maki
40d30a898b Rebasing continues 2022-07-20 10:04:08 -07:00
Mikayla Maki
9d063ae6d8 Switched to hybrid iterator and while loop grid processor. Still hairy but much more managable. Not finished compiling yet. 2022-07-20 10:04:08 -07:00
Mikayla Maki
c9584a9d0c Continuing rebases on other work 2022-07-20 10:04:08 -07:00
Mikayla Maki
a4ca11ba17 Finished design touchups 2022-07-20 10:04:08 -07:00
Mikayla Maki
c19956373a Finished bel, moving on to title 2022-07-20 10:04:06 -07:00
Max Brunsfeld
1b0e93b153 Change interpretation of marked_text and edit when handling input
Co-authored-by: Antonio Scandurra <antonio@zed.dev
2022-07-20 09:53:49 -07:00