Nate Butler and Julia
8a4340c85e
Remove license causing unwrap error
...
Co-Authored-By: Julia <30666851+ForLoveOfCats@users.noreply.github.com >
2023-08-09 11:11:57 -04:00
Nate Butler
f3741bcfeb
WIP add IBM Plex Sans
...
(base) natebutler@Nate16 zed % cargo run
Compiling zed v0.99.0 (/Users/natebutler/Code/zed/zed/crates/zed)
Finished dev [unoptimized + debuginfo] target(s) in 9.15s
Running `target/debug/Zed`
Thread "main" panicked with "called `Result::unwrap()` on an `Err` value: parse error" at crates/zed/src/main.rs:667:10
0: backtrace::backtrace::libunwind::trace
at /Users/natebutler/.cargo/registry/src/index.crates.io-6f17d22bba15001f/backtrace-0.3.68/src/backtrace/libunwind.rs:93:5
backtrace::backtrace::trace_unsynchronized
at /Users/natebutler/.cargo/registry/src/index.crates.io-6f17d22bba15001f/backtrace-0.3.68/src/backtrace/mod.rs:66:5
1: backtrace::backtrace::trace
at /Users/natebutler/.cargo/registry/src/index.crates.io-6f17d22bba15001f/backtrace-0.3.68/src/backtrace/mod.rs:53:14
2: backtrace::capture::Backtrace::create
at /Users/natebutler/.cargo/registry/src/index.crates.io-6f17d22bba15001f/backtrace-0.3.68/src/capture.rs:176:9
3: backtrace::capture::Backtrace::new
at /Users/natebutler/.cargo/registry/src/index.crates.io-6f17d22bba15001f/backtrace-0.3.68/src/capture.rs:140:22
4: Zed::init_panic_hook::{{closure}}
at crates/zed/src/main.rs:436:29
5: std::panicking::rust_panic_with_hook
6: std::panicking::begin_panic_handler::{{closure}}
7: std::sys_common::backtrace::__rust_end_short_backtrace
8: _rust_begin_unwind
9: core::panicking::panic_fmt
10: core::result::unwrap_failed
11: core::result::Result<T,E>::unwrap
at /private/tmp/rust-20230613-7622-103lepv/rustc-1.70.0-src/library/core/src/result.rs:1089:23
12: Zed::load_embedded_fonts
at crates/zed/src/main.rs:664:5
13: Zed::main
at crates/zed/src/main.rs:80:5
14: core::ops::function::FnOnce::call_once
at /private/tmp/rust-20230613-7622-103lepv/rustc-1.70.0-src/library/core/src/ops/function.rs:250:5
15: std::sys_common::backtrace::__rust_begin_short_backtrace
at /private/tmp/rust-20230613-7622-103lepv/rustc-1.70.0-src/library/std/src/sys_common/backtrace.rs:134:18
16: std::rt::lang_start::{{closure}}
at /private/tmp/rust-20230613-7622-103lepv/rustc-1.70.0-src/library/std/src/rt.rs:166:18
17: std::panicking::try
18: std::rt::lang_start_internal
19: std::rt::lang_start
at /private/tmp/rust-20230613-7622-103lepv/rustc-1.70.0-src/library/std/src/rt.rs:165:17
20: _mai
2023-08-09 11:01:20 -04:00
Nathan Sobo
f38f79b209
Pass PaintContext to Element::paint ( #2788 )
...
I want to use this on another branch, but it's a sweeping change, so
this prepares the ground for it. This can always be reverted if it
doesn't work out.
2023-08-08 21:16:57 -06:00
Joseph T. Lyons
4e874b1140
Fix language detection when file name begins with a . ( #2833 )
...
I went to add in `zprofile` to the bash language config to get syntax
highlighting for it. After adding it in, Zed was still not highlighting
the file. I checked and saw that we are using `Path::extension()` in
`language_for_file()`, which [returns `None` when a file's name begins
with a
`.`](https://doc.rust-lang.org/std/path/struct.PathBuf.html#method.extension ),
such as in the case of `.zprofile`. This PR adds a custom method, with
some tests, that just tries to grab the last component in the file name
if `Path::extension` returns `None`. Not sure if `ext` is the best name,
but I can't use `extension`.
Maybe this method should be called `extension_or_hidden_file_name()`?
Release Notes:
- Fixed a bug where language detection would fail for files starting
with `.` in their names.
- Added syntax highlighting for `.zprofile` files
2023-08-08 21:48:56 -04:00
Joseph T. Lyons
9024511498
Fix code that identifies language via extension
2023-08-08 21:35:11 -04:00
Nathan Sobo
ba8c733d80
Merge remote-tracking branch 'origin/main' into paint-context
2023-08-08 18:27:16 -06:00
Nathan Sobo
e1dfc8e3ce
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
ee9ba10e80
Rename mac platform Window to MacWindow for clarity
2023-08-08 17:21:06 -06:00
Nathan Sobo
78c6e537d5
Use AppContext::update when updating windows so we handle effects
2023-08-08 17:20:46 -06:00
Nathan Sobo
bc83f1788b
Minimize window id usage
2023-08-08 16:38:46 -06:00
Nathan Sobo
f0132c19a9
Store AnyWindowHandles instead of usizes
2023-08-08 16:06:53 -06:00
Piotr Osiewicz
128890db7c
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
7b5fe99570
Merge remote-tracking branch 'origin/main' into window-handles
2023-08-08 11:42:55 -06:00
Nathan Sobo
7416197a6e
Return window handles from WeakItemHandle
2023-08-08 11:39:56 -06:00
Nathan Sobo
79da4b18a4
Move more window methods off AsyncAppContext
2023-08-08 11:38:07 -06:00
Nathan Sobo
3c7e84d573
Move debug_elements to AnyWindowHandle
2023-08-08 11:27:19 -06:00
Nathan Sobo
0b2865203b
Remove window methods from AsyncAppContext
2023-08-08 11:23:49 -06:00
Nathan Sobo
11c1e225a0
Remove AsyncAppContext::remove_window
2023-08-08 11:22:43 -06:00
Nathan Sobo
729a5abbeb
Remove unused dock code
2023-08-08 11:20:42 -06:00
Nathan Sobo
f01d3b87e0
Remove more window id usage
2023-08-08 11:20:09 -06:00
Nathan Sobo
e293985af9
Work with window handles instead of ids in drag code
2023-08-08 11:14:02 -06:00
Nathan Sobo
c843749cb0
Store an AnyWindowHandle in WindowContext
2023-08-08 11:08:37 -06:00
Nate Butler
25b03b3485
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
d03f2437e5
Remove window when closing workspace in test
2023-08-08 09:13:17 -06:00
Piotr Osiewicz
6daa812d5d
Do not highlgiht selections at all over the threshold
2023-08-08 13:09:27 +02:00
Nathan Sobo
a4836b25d6
Remove window via handles
2023-08-07 22:58:01 -06:00
Nathan Sobo
337db743e9
Remove TestAppContext::add_view
...
Instead, we now call this on window handles.
2023-08-07 22:46:48 -06:00
Nathan Sobo
29e16ae866
Remove unused method
2023-08-07 22:08:44 -06:00
Nathan Sobo
5bdfe4199e
Merge remote-tracking branch 'origin/main' into window-handles
2023-08-07 22:07:20 -06:00
Nathan Sobo
8a187b0b25
Move window-related methods from TestAppContext to AnyWindowHandle
2023-08-07 20:23:04 -06:00
Nathan Sobo
d72e27a4c2
Move activation simulation to AnyWindowHandle
2023-08-07 19:45:43 -06:00
Nathan Sobo
ce33bd19e5
Get compiling
2023-08-07 19:08:58 -06:00
Piotr Osiewicz
2afb207a6e
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
2287c07c9d
Use display maps
2023-08-08 02:37:27 +02:00
Piotr Osiewicz
8863e75114
Remove redundant argument
2023-08-08 02:25:30 +02:00
Piotr Osiewicz
29465aa01a
Add upper bound limit. Remove dbg! statements
2023-08-08 02:17:11 +02:00
Piotr Osiewicz
2b1b1be185
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
d98ed0e958
Baseline: Improve selection rendering for large quantities from 270ms to 90ms
2023-08-07 23:32:27 +02:00
Max Brunsfeld
8af441ec62
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
3333495307
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
b8fe41ab50
Add syntax highlighting for Cargo.toml files
2023-08-07 17:24:22 -04:00
Joseph T. Lyons
71e10d21a5
Fix test name
2023-08-07 17:07:01 -04:00
Max Brunsfeld and Nathan
b6d577584f
Make LspAdapter::process_diagnostics synchronous
...
Co-authored-by: Nathan <nathan@zed.dev >
2023-08-07 13:53:41 -07:00
Nathan Sobo
cfdd299f81
WIP
2023-08-07 13:54:47 -06:00
Nathan Sobo
27081b590a
WIP
2023-08-06 18:57:02 -06:00
Nathan Sobo
d1e01ba625
WIP
2023-08-06 12:45:31 -06:00
Joseph T. Lyons
007090f21e
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
2c278b6149
Fix bash path_suffixes and add line_comment
2023-08-06 02:20:31 -04:00
Nathan Sobo
900d17ffef
WIP
2023-08-05 18:00:44 -06:00
Joseph T. Lyons
5502e17e7a
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