Nathan Sobo
0ddef7d526
Fix warnings and tests
2021-12-18 11:06:07 -07:00
Nathan Sobo
712552cfa3
Halt keystroke dispatch immediately when we call a global action handler
...
Someday, we may want to define a global action context that allows us to propagate the action, but this isn't currently supported. Previous to this commit, we were invoking the same global action handler multiple times, once for each view in the responder chain.
2021-12-18 08:12:08 -07:00
Max Brunsfeld
f831277317
Upgrade tree-sitter to 0.20.1
2021-12-05 21:37:08 -08:00
Antonio Scandurra
0ad6b0c1f6
Use 16-bit float to store path windings
...
Previously, we were using a normalized 8-bit unsigned integer which forced us
to represent each increment of the winding number as a fraction of the max
value (1 / 255) which we would then add up using additive alpha blending.
This had three major drawbacks:
- The max winding number could not be greater than 255.
- Adding up (1 / 255) several times could result in a loss of precision.
- Due to also computing anti-aliasing as a fractional winding number, we had to
reduce the max winding number to 32. This was still not good enough because
we would multiply a fractional value with `1 / 32`, thus introducing more and
more loss of precision.
This commit changes the texture type to an `f16` which doesn't require the
division by 255 and enables greater precision in the computation of the
anti-aliased parts of a curve. Note how this also removes the limitation of 255
windings at most per curve. The tradeoff is paying twice as much memory for
storing the texture, but that seems totally valid to achieve rendering accuracy.
Note that this kind of texture should be compatible with WebGL2 once we start
working on a web version of Zed.
2021-12-05 11:17:26 +01:00
Antonio Scandurra and Nathan Sobo
102c1ec10d
Clear pending keystrokes after dispatching an action
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-12-03 17:59:46 +01:00
Antonio Scandurra and Nathan Sobo
4ca4313b49
In add_option_view, avoid bumping view's ref counts if view is None
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-12-03 17:52:39 +01:00
Max Brunsfeld and Nathan Sobo
cf3093aace
Start work on generalizing the BlockMap to allow arbitrary elements
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-12-01 15:25:55 -08:00
Nathan Sobo and Max Brunsfeld
93322a4858
Name the root file of every crate after the crate to ease navigation
...
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com >
2021-11-30 12:46:39 -07:00
Max Brunsfeld and Nathan Sobo
d51c033b98
Consolidate pending effects logic into MutableAppContext::update
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-11-29 14:16:19 -08:00
Max Brunsfeld and Nathan Sobo
ca11c68a19
Introduce weak_handle methods on ModelContext and ViewContext
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-11-29 14:13:22 -08:00
Max Brunsfeld
b70cc651e5
Paint highlighted lines correctly when horizontally scrolled
2021-11-29 11:28:43 -08:00
Nathan Sobo
19dd12e1c6
Associate collaborator avatars with "ribbons" corresponding to their cursor color
2021-11-28 13:25:05 -07:00
Antonio Scandurra
cd92190b62
Calculate an overshoot when mousing to build columnar selections
2021-11-24 10:28:32 +01:00
Nathan Sobo
5dec861a22
Merge pull request #244 from zed-industries/mouse-selections
...
Improve support for selecting text via the mouse
2021-11-23 18:11:04 -07:00
Max Brunsfeld
3ff3de4493
Add outdent command, fix indent bugs
2021-11-23 16:44:05 -08:00
Nathan Sobo
cc9baaab67
Use alt modifier instead of cmd to add selections
2021-11-23 16:23:30 -07:00
Nathan Sobo
010e0116e4
Implement shift-click to extend the newest selection
2021-11-23 15:42:21 -07:00
Max Brunsfeld
7a751b3910
Maximize new windows
2021-11-23 10:24:31 -08:00
Antonio Scandurra and Nathan Sobo
3dd485e48e
Implement word-wise mouse selection
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-11-23 18:50:17 +01:00
Antonio Scandurra
47b63ef012
Expose a count field on Event::LeftMouseDown
2021-11-23 16:18:17 +01:00
Max Brunsfeld
3514ee2935
Clear sprite cache when scale factor changes
2021-11-22 16:47:51 -08:00
Max Brunsfeld
09fe838226
Include scale factor in glyph cache keys
2021-11-22 16:37:01 -08:00
Max Brunsfeld
bccfaf645e
Merge pull request #226 from zed-industries/1d-block-map
...
Allow full diagnostic messages to be displayed in the editor
2021-11-19 09:16:49 -08:00
Max Brunsfeld
cd47686d8c
Allow key bindings to F1 through F12
2021-11-18 14:23:36 -08:00
Antonio Scandurra and Nathan Sobo
1ff989e634
Support highlighting in blocks
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-11-18 14:08:21 +01:00
Nathan Sobo
4368f3717e
Give the MouseEventHandlers for each tab bar their own id
...
This fixes a beachball where we oscillate back and forth between hovered and unhovered due to confusing two different tab bars as the same tab bar.
2021-11-03 19:15:55 -06:00
7d77e68984
Introduce a status bar and add the cursor position to it
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
Co-Authored-By: Max Brunsfeld <max@zed.dev >
2021-11-03 17:27:51 +01:00
e1e2240199
Explicitly shut down language servers when quitting the app
...
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com >
Co-Authored-By: Antonio Scandurra <me@as-cii.com >
2021-11-02 13:16:25 -06:00
Antonio Scandurra
26c99b5c6b
Remove all windows before quitting
...
This gives all entities a chance of running `Drop::drop` which,
in turn, could cause them to spawn a critical task. For example,
we use this capability when a language server is dropped and we
need to asynchronously send a shutdown message.
2021-11-02 14:55:31 +01:00
Max Brunsfeld and Antonio Scandurra
9cc3433d20
Add a facility for delaying quit until critical tasks finish
...
Co-Authored-By: Antonio Scandurra <me@as-cii.com >
2021-11-01 11:57:31 -07:00
Max Brunsfeld and Nathan Sobo
cfedba9f1c
Allow underlines to have different color than the text
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-10-26 12:46:46 -07:00
Antonio Scandurra
3354e4a5de
Implement a more robust way of locating rust-analyzer
...
When bundled, we will retrieve it out of the `Resources` folder.
Locally, we're expected to run `script/download-rust-analyzer` and
put `vendor/bin` in our $PATH.
2021-10-25 11:02:35 +02:00
f6b1cc5830
Start on integrating rust-analyzer
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
Co-Authored-By: Max Brunsfeld <max@zed.dev >
2021-10-21 16:26:37 +02:00
Antonio Scandurra
f3583120de
Use the same test::run_test function for async gpui::tests
2021-10-05 18:04:22 +02:00
Antonio Scandurra and Nathan Sobo
5aeb48a234
Minimize code generation for synchronous gpui::test macro
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-10-05 17:47:46 +02:00
Antonio Scandurra
3dc173cf40
Move workspace module into its own crate
2021-10-05 13:49:10 +02:00
Max Brunsfeld and Nathan Sobo
95c15b11b1
Rename rpc_client -> client
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-10-04 17:14:21 -07:00
Max Brunsfeld and Nathan Sobo
bf7b277038
List path dependencies first in all Cargo.toml files
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-10-04 15:36:52 -07:00
Nathan Sobo and Max Brunsfeld
a1b11e8907
Move all crates to a top-level crates folder
...
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com >
2021-10-04 13:22:21 -06:00