Nathan Sobo
db96fb1307
Merge remote-tracking branch 'origin/main' into paint-context
2023-08-08 18:27:16 -06:00
Nathan Sobo
54ca5f1d44
Replace context methods that take a window id with methods on window handles ( #2832 )
...
With this PR, I've eliminated almost all references to window ids
outside of the internals of GPUI. All public methods taking these ids
are now defined on `AnyWindowHandle`, which provides a more coherent
narrative around windows as a concept.
2023-08-08 17:51:37 -06:00
Nathan Sobo
0dc70e6cbf
Rename mac platform Window to MacWindow for clarity
2023-08-08 17:21:06 -06:00
Nathan Sobo
fc96676662
Use AppContext::update when updating windows so we handle effects
2023-08-08 17:20:46 -06:00
Nathan Sobo
8e49d1419a
Minimize window id usage
2023-08-08 16:38:46 -06:00
Nathan Sobo
afd89b256a
Store AnyWindowHandles instead of usizes
2023-08-08 16:06:53 -06:00
Piotr Osiewicz
c96b03ae55
Piotr/optimize search selections with a limit ( #2831 )
...
/cc @nathansobo @maxbrunsfeld
Release Notes:
- Fixed scrollbar selections causing noticeable slowdowns with large
quantities of selections.
2023-08-08 21:29:24 +02:00
Nathan Sobo
1e8a9ccdb5
Merge remote-tracking branch 'origin/main' into window-handles
2023-08-08 11:42:55 -06:00
Nathan Sobo
b77c336a3d
Return window handles from WeakItemHandle
2023-08-08 11:39:56 -06:00
Nathan Sobo
b2d9ccc0a2
Move more window methods off AsyncAppContext
2023-08-08 11:38:07 -06:00
Nathan Sobo
95cd96e4be
Move debug_elements to AnyWindowHandle
2023-08-08 11:27:19 -06:00
Nathan Sobo
4f10f0ee86
Remove window methods from AsyncAppContext
2023-08-08 11:23:49 -06:00
Nathan Sobo
1fd80ba8bd
Remove AsyncAppContext::remove_window
2023-08-08 11:22:43 -06:00
Nathan Sobo
fe6a1886c1
Remove unused dock code
2023-08-08 11:20:42 -06:00
Nathan Sobo
0a4633f88f
Remove more window id usage
2023-08-08 11:20:09 -06:00
Nathan Sobo
da7dc9c880
Work with window handles instead of ids in drag code
2023-08-08 11:14:02 -06:00
Nathan Sobo
d896d89842
Store an AnyWindowHandle in WindowContext
2023-08-08 11:08:37 -06:00
Nate Butler
662e196267
Calculate the range for each color family in a theme ( #2738 )
...
Release Notes:
- N/A (Internal theme stuff)
2023-08-08 11:49:52 -04:00
Nathan Sobo
49f1f1c6c2
Remove window when closing workspace in test
2023-08-08 09:13:17 -06:00
Piotr Osiewicz
1aff642981
Do not highlgiht selections at all over the threshold
2023-08-08 13:09:27 +02:00
Nathan Sobo
dba2facd23
Remove window via handles
2023-08-07 22:58:01 -06:00
Nathan Sobo
f0da6b05fd
Remove TestAppContext::add_view
...
Instead, we now call this on window handles.
2023-08-07 22:46:48 -06:00
Nathan Sobo
0f332238b3
Remove unused method
2023-08-07 22:08:44 -06:00
Nathan Sobo
d687c3d81f
Merge remote-tracking branch 'origin/main' into window-handles
2023-08-07 22:07:20 -06:00
Nathan Sobo
f2be3181a9
Move window-related methods from TestAppContext to AnyWindowHandle
2023-08-07 20:23:04 -06:00
Nathan Sobo
0197d49230
Move activation simulation to AnyWindowHandle
2023-08-07 19:45:43 -06:00
Nathan Sobo
486f5bc6ca
Get compiling
2023-08-07 19:08:58 -06:00
Piotr Osiewicz
371c669e00
Address review feedback.
...
Rename selected_rows to background_highlight_row_ranges.
Do not return any ranges if there are more than 50k results
2023-08-08 02:47:49 +02:00
Piotr Osiewicz
b0fc6da55b
Use display maps
2023-08-08 02:37:27 +02:00
Piotr Osiewicz
241d3951b8
Remove redundant argument
2023-08-08 02:25:30 +02:00
Piotr Osiewicz
42e1221357
Add upper bound limit. Remove dbg! statements
2023-08-08 02:17:11 +02:00
Piotr Osiewicz
fa16895976
Do not query start of range if it's end is the same as the previous hunk's
2023-08-08 00:27:38 +02:00
Piotr Osiewicz
ca21626064
Baseline: Improve selection rendering for large quantities from 270ms to 90ms
2023-08-07 23:32:27 +02:00
Max Brunsfeld
7288be4251
Make LspAdapter::process_diagnostics synchronous ( #2829 )
...
When editing rust code, the project diagnostics view sometimes fails to
update, so that you have to close the view and re-open it to see the
correct state.
This PR fixes one possible cause of that problem. There was an async
step in between *receiving* diagnostics from the language server and
updating the diagnostics, due to an async call to
`LspAdapter::process_diagnostics`. This could cause the following
sequence of events to happen:
1. Rust-analyzer sends us new diagnostics for a file `a.rs`
2. We call `process_diagnostics` with those diagnostics
3. Rust-analyzer sends us a `WorkDoneProgress` message, indicating that
the "flycheck" (aka `cargo check`) process has completed
4. We update the project diagnostics view due to this message.
5. The `process_diagnostics` call for `a.rs` completes
6. 💥 We have the new diagnostics for `a.rs`, but do not update the
project diagnostics view again.
This PR fixes this bug by simply making `process_diagnostics`
synchronous. There is no I/O or expensive computation happening in that
method. If we need to make it asynchronous in the future, we need to
introduce a queue that ensures that `publishDiagnostics` and
`workDoneProgress` messages are processed serially.
Release Notes:
- Fixed a bug where the project diagnostics view would sometimes fail to
update properly when using Rust-analyzer.
2023-08-07 14:31:49 -07:00
Joseph T. Lyons
d417993c9d
Add syntax highlighting for Cargo.toml files ( #2830 )
...
Release Notes:
- Added syntax highlighting for `Cargo.toml` files
2023-08-07 17:28:21 -04:00
Joseph T. Lyons
dbf25ea2ff
Add syntax highlighting for Cargo.toml files
2023-08-07 17:24:22 -04:00
Joseph T. Lyons
580c2ea8eb
Fix test name
2023-08-07 17:07:01 -04:00
Max Brunsfeld and Nathan
4e33654aba
Make LspAdapter::process_diagnostics synchronous
...
Co-authored-by: Nathan <nathan@zed.dev >
2023-08-07 13:53:41 -07:00
Nathan Sobo
3e0d0e5c01
WIP
2023-08-07 13:54:47 -06:00
Nathan Sobo
d4d32611fe
WIP
2023-08-06 18:57:02 -06:00
Nathan Sobo
adc50469ff
WIP
2023-08-06 12:45:31 -06:00
Joseph T. Lyons
e3a4d174de
Fix bash path_suffixes and add cmd-/ line comment support ( #2827 )
...
<img width="1608" alt="SCR-20230806-cyrg"
src="https://github.com/zed-industries/zed/assets/19867440/2491c4bc-5797-4417-9633-08c136b4e8fe ">
I noticed we weren't highlghting bash files if the shebang line didn't
exist. After checking, it looks like the `.` were accidentally added to
the `path_suffixes` list. This PR fixes that and adds in support for
`cmd-/` to trigger line comments.
<img width="1608" alt="SCR-20230806-czxh"
src="https://github.com/zed-industries/zed/assets/19867440/37dd0c8e-c4e7-49e2-9997-9dd8145f460e ">
Release Notes:
- Fixed a bug where shell files weren't syntax highlighted if a shebang
didn't exist.
- Added support for `cmd-/` to add line comments to shell files.
2023-08-06 02:35:00 -04:00
Joseph T. Lyons
ef5b982ea5
Fix bash path_suffixes and add line_comment
2023-08-06 02:20:31 -04:00
Nathan Sobo
dcf8b00656
WIP
2023-08-05 18:00:44 -06:00
Joseph T. Lyons
7777d973cd
Expand empty selections to cover full word when doing case conversions and fix bugs ( #2826 )
...
When doing case conversions, specifically in the case of an empty
selection, in both VS Code and Sublime, the cursor winds up being in a
different place relative to where it started.
In VS Code, the cursor maintains it position in the text, no matter if
the text expands or shrinks
https://github.com/zed-industries/zed/assets/19867440/b24f5d86-c315-4a72-9ed4-3732b490ea9a
In Sublime, I have no idea what is going on:
https://github.com/zed-industries/zed/assets/19867440/05f21303-6e42-47b2-b844-7accd0bf05d7
I thought it would be a better experience if, when doing an empty
selection transformation, we simply expand the selection and park the
cursor at the end of the newly-transformed text.
https://github.com/zed-industries/zed/assets/19867440/833619ef-04e2-47b6-ad4e-e2b43d54fb2b
This feels similar to us expanding the selection when doing line
manipulations:
https://github.com/zed-industries/zed/assets/19867440/c30c5332-787d-4cf0-a9ee-e66c3c159956
Selections are adjusted to match however each word expands and shrinks,
even when there are multiple:
https://github.com/zed-industries/zed/assets/19867440/d7073aac-8a59-4f2c-b0e5-1df37be1694c
Release Notes:
- Improved behavior of empty-selection case transformations by selecting
resulting word.
- Fixed some bugs with overflow
2023-08-05 12:16:46 -04:00
Joseph T. Lyons
1abb6a0176
Expand empty selections to cover full word and fix bugs
2023-08-05 11:31:21 -04:00
Joseph T. Lyons
d1048d03b0
Add more convert to case commands ( #2825 )
...
I'm using [convert_case](https://crates.io/crates/convert_case )
underneath the hood, which has over 35 million downloads and feels
solid.
Release Notes:
- Added commands to convert between variable name styles
([#1821 ](https://github.com/zed-industries/community/issues/1821 )).
- `convert to kebab case`
- `convert to snake case`
- `convert to upper camel case`
- `convert to lower camel case`
- `convert to title case`
2023-08-04 22:51:32 -04:00
Joseph T. Lyons
12e8f417e4
Add more convert to case commands
...
ConvertToTitleCase
ConvertToSnakeCase
ConvertToKebabCase
ConvertToUpperCamelCase
ConvertToLowerCamelCase
2023-08-04 22:45:26 -04:00
Joseph T. Lyons
5c2f38a0bc
Add convert to {upper,lower} case commands ( #2824 )
...
Release Notes:
- Added `convert to upper case` and `convert to lower case` commands
([#1011 ](https://github.com/zed-industries/community/issues/1011 )).
2023-08-04 18:12:55 -04:00
Joseph T. Lyons and Julia
8c98b02e45
Add convert to {upper,lower} case commands
...
Co-Authored-By: Julia <30666851+ForLoveOfCats@users.noreply.github.com >
2023-08-04 15:10:33 -04:00