Commit Graph

14331 Commits

Author SHA1 Message Date
Marshall Bowers
71790b338b
Add Sized bound to StyledExt trait (#3309)
This PR moves the `Sized` bound to the `StyledExt` trait so we don't
have to repeat it on each of the methods.

Release Notes:

- N/A
2023-11-13 11:22:49 -05:00
Marshall Bowers
3654dd8da0 Remove unnecessary map 2023-11-13 11:10:08 -05:00
Marshall Bowers
5b254b03df Move Sized bound to StyledExt trait 2023-11-13 11:10:00 -05:00
Joseph T. Lyons
be8bd437cd Update jetbrains keymap to match community repo 2023-11-13 10:41:56 -05:00
Kirill Bulatov
7a454bed22
Uncomment inlay hints logic and tests (#3307)
Tests compile, but do not pass due to todo!s in the platform code, hence
ignored for now.

Release Notes:

- N/A
2023-11-13 15:20:43 +02:00
Kirill Bulatov
e257f7d0b1 Ignore tests for now 2023-11-13 15:02:24 +02:00
Piotr Osiewicz
c3461d274e
chore: Bump cc to 1.0.84 (#3304)
This resolves a minor issue where build scripts could've acquired more
job server tokens from Cargo than allowed by `-j` parameter. I've filled
a PR at https://github.com/rust-lang/cc-rs/pull/878 and we've iterated
on the design over there since.

TL;DR: some build scripts may complete a tad bit quicker, potentially
shaving off a few seconds off of debug/release builds. Full description
of the issue is available in
https://github.com/rust-lang/cc-rs/issues/858

Release Notes:

- N/A
2023-11-13 13:14:22 +01:00
Kirill Bulatov
a9c17e7407 Uncomment all inlay hint cache code and tests 2023-11-13 14:07:48 +02:00
Kirill Bulatov
81cc6e84b7
pane: When opening a buffer, actually scroll to the selected tab. (#3306)
Previously it might've reused a shared state.

Deals with https://github.com/zed-industries/community/issues/2262 also
fixes influencer's feedback.

No gpui2 port, due to 0 scrollable functionality in it yet.

Release Notes:

- Fixed tabs not being scrolled to on buffer (re)open
(https://github.com/zed-industries/community/issues/2262)
2023-11-13 13:21:26 +02:00
Kirill Bulatov
f0f0b47058 pane: When opening a buffer, actually scroll to the selected tab. Previously it might've reused a shared state.
Deals with https://github.com/zed-industries/community/issues/2262 also fixes influencer's feedback.

Co-Authored-By: Piotr <piotr@zed.dev>
2023-11-13 13:09:02 +02:00
Nate Butler
6c6fb99cad
Theme elevation + Palette Style (#3305)
[[PR Description]]

Release Notes:

- N/A
2023-11-12 22:29:25 -05:00
Nate Butler
800ad1d3dc Update command palette style 2023-11-12 22:13:54 -05:00
Piotr Osiewicz
cdd347c2a0 chore: Bump cc to 1.0.84
This resolves a minor issue where build scripts could've acquired more job server tokens from Cargo than allowed by `-j` parameter. I've filled a PR at https://github.com/rust-lang/cc-rs/pull/878 and we've iterated on the design over there since.

TL;DR: some build scripts may complete a tad bit quicker, potentially shaving off a few seconds off of debug/release builds.
2023-11-12 21:28:02 +01:00
Nate Butler
6bdb6e486e Refactor command palette, picker and code action styles.
Co-Authored-By: Marshall Bowers <1486634+maxdeviant@users.noreply.github.com>
2023-11-10 16:13:25 -05:00
Nate Butler
3d66ba35a3 Add ui::Divider component
Co-Authored-By: Marshall Bowers <1486634+maxdeviant@users.noreply.github.com>
2023-11-10 16:12:32 -05:00
Nate Butler
5dca5caf9f Add elevation to StyledExt
Co-Authored-By: Marshall Bowers <1486634+maxdeviant@users.noreply.github.com>
2023-11-10 16:12:14 -05:00
Antonio Scandurra
1c02690199
Wire up code actions in editor2 (#3302)
Release Notes:

- N/A
2023-11-10 16:47:09 +01:00
Antonio Scandurra
c2c6921734 🔥 2023-11-10 16:41:21 +01:00
Antonio Scandurra
198a854370 Fix bad import 2023-11-10 16:41:21 +01:00
Antonio Scandurra
468a014bfc Allow measuring arbitrary items in UniformList 2023-11-10 16:41:21 +01:00
Antonio Scandurra
c44db3b7ec Confirm code action on mouse down 2023-11-10 16:41:21 +01:00
Antonio Scandurra
fb450e35f7 Wire up keyboard interaction in code actions menu 2023-11-10 16:41:21 +01:00
Antonio Scandurra
bf576d47b1 Make code actions menu prettier 2023-11-10 16:41:21 +01:00
Antonio Scandurra
c76fd93015 Use padded bounds to draw uniform list items 2023-11-10 16:41:21 +01:00
Antonio Scandurra
1d37191320 Ensure UniformList style is painted beneath its items 2023-11-10 16:41:21 +01:00
Antonio Scandurra
6929a71827 Ceil measured width for Text element 2023-11-10 16:41:13 +01:00
Kirill Bulatov
3cd4eeffef
Do not add diagnostics for any selection in the diagnostics panel (#3300)
Make the panel less jumpy by deferring diagnostics updates until cmd-s
is pressed, if any caret is placed inside the diagnostics panel.

Release Notes:

- N/A
2023-11-10 13:50:58 +02:00
Kirill Bulatov
d38a2b793e Do not add diagnostics for any selection in the diagnostics panel 2023-11-10 13:35:58 +02:00
Antonio Scandurra
a30b47aa5f Show a very basic code actions menu 2023-11-10 12:26:35 +01:00
Antonio Scandurra
23fd1e19dc Ignore element offset when manually drawing AnyElement 2023-11-10 11:35:57 +01:00
Antonio Scandurra
a0987f1121 Merge remote-tracking branch 'origin/main' into code-actions-2 2023-11-10 11:01:23 +01:00
Conrad Irwin
2f3044a2da
command palette2 (#3296)
Still to do:
- [ ] Figure out why `ctrl-g` `ctrl-g` doesn't dismiss GoToLine (but
`cmd-shift-p` `cmd-shift-p` does dismiss Command). Likely to do with the
"Editor" context in the keymap, but this did used to work in gpui1.
- [ ] Fix first render with incorrect matches immediately flashes.
- [ ] Show keybindings
- [x] Figure out why `cmd-shift-p "go to line" enter` panics
- [ ] Fix the selected visuals
- [ ] Party hard
- [ ] Uncomment the tests
2023-11-09 22:44:50 -07:00
Conrad Irwin
cc9fb9dea0 Fix panic caused by focusing the same thing twice 2023-11-09 22:25:46 -07:00
Conrad Irwin
5a711886d4 Refactor to make ModalLayer a View 2023-11-09 22:15:44 -07:00
Conrad Irwin
d4b1d1b528 Move from register_modals to register_workspace_action 2023-11-09 21:51:48 -07:00
Conrad Irwin
e6d6806693 Tidy up some more modal behaviour 2023-11-09 21:11:44 -07:00
Conrad Irwin
a73265ace4 Merge branch 'main' into command_palette2 2023-11-09 20:58:54 -07:00
Conrad Irwin
77d92ff65a Tidy up 2023-11-09 20:58:35 -07:00
Marshall Bowers
cb8c534dac
theme_importer: Support importing themes containing comments (#3298)
This PR updates the `theme_importer` with support for parsing theme
files containing comments.

Up until now we've been manually removing comments from the VS Code
theme files.

Release Notes:

- N/A
2023-11-09 19:22:15 -05:00
Marshall Bowers
6bc1cf0fae
Re-import the Synthwave 84 theme (#3297)
This PR re-imports the Synthwave 84 theme now that we support 3-value
hex colors.

Release Notes:

- N/A
2023-11-09 18:56:42 -05:00
Max Brunsfeld
6f23894b40 Fix editor settings deserialization in editor2 2023-11-09 15:37:46 -08:00
Conrad Irwin
ff15ddf3e0 Render more than one item 2023-11-09 16:36:36 -07:00
Marshall Bowers
8bd02fdadc
Extend RGBA hex color parsing to support 3-value and 4-value variants (#3295)
This PR extends our support for parsing hex color codes to `Rgba` to
additionally support 3-value (`#rgb`) and 4-value (`#rgba`) formats.

See [here](https://developer.mozilla.org/en-US/docs/Web/CSS/hex-color)
for more details on these hex color variants.

Release Notes:

- N/A
2023-11-09 18:27:47 -05:00
Marshall Bowers
82861e3123 Improve digit duplication 2023-11-09 18:19:58 -05:00
Marshall Bowers
8f5adeb9c3 Improve error conditions when parsing hex colors 2023-11-09 18:00:17 -05:00
Marshall Bowers
417279e01b Add support for parsing 3-value and 4-value hex codes 2023-11-09 17:45:05 -05:00
Nate Butler
2347576fb5
Extend theme converter to allow multimatching against vscode colors (#3294)
[[PR Description]]

Adds the ability to specify a vec of VScode syntax scopes to match
against for a given syntax style.

Example:

```rust
pub fn to_vscode(&self) -> Vec<&'static str> {
        use ZedSyntaxToken::*;

        match self {
            SyntaxAttribute => vec!["entity.other.attribute-name"],
            SyntaxBoolean => vec!["constant.language"],
            SyntaxComment => vec!["comment"],
            SyntaxCommentDoc => vec!["comment.block.documentation"],
            SyntaxConstant => vec!["constant.character"],
            SyntaxConstructor => vec!["entity.name.function.definition.special.constructor"],
            SyntaxEmbedded => vec!["meta.embedded"],
            SyntaxEmphasis => vec!["markup.italic"],
            SyntaxEmphasisStrong => vec![
                "markup.bold",
                "markup.italic markup.bold",
                "markup.bold markup.italic",
            ],
            SyntaxEnum => vec!["support.type.enum"],
            SyntaxFunction => vec![
                "entity.name.function",
                "variable.function",
                "support.function",
            ],
            SyntaxKeyword => vec!["keyword"],
            SyntaxLabel => vec![
                "label",
                "entity.name",
                "entity.name.import",
                "entity.name.package",
            ],
            // .. more styles
}}
```

Useful `settings.json` for testing themes:

```json5
{
  // --- Dark Themes ---
  "theme": "Ayu Dark"
  // "theme": "Ayu Mirage"
  // "theme": "Dracula"
  // "theme": "Gruvbox Dark Hard"
  // "theme": "Gruvbox Dark Medium"
  // "theme": "Gruvbox Dark Soft"
  // "theme": "Night Owl"
  // "theme": "Noctis Obscuro"
  // "theme": "Noctis"
  // "theme": "Nord"
  // "theme": "Palenight (Mild Contrast)"
  // "theme": "Palenight Operator"
  // "theme": "Palenight"
  // "theme": "Rose Pine Moon"
  // "theme": "Rose Pine"
  // "theme": "Solarized Dark"
  // "theme": "Synthwave 84"
  // --- Light Themes ---
  // "theme": "Ayu Light"
  // "theme": "Gruvbox Light Hard"
  // "theme": "Gruvbox Light Medium"
  // "theme": "Gruvbox Light Soft"
  // "theme": "Noctis Lux"
  // "theme": "Rose Pine Dawn"
  // "theme": "Solarized Light"
}
```

Release Notes:

- N/A
2023-11-09 17:40:10 -05:00
Max Brunsfeld
7586ef1787
Refine search query suggestions (#3293)
This PR fixes some issues in response to feedback from Dan Abramov and
Jose Valim.

To do:

* [x] fix non-word search suggestions
* [x] add setting for disabling search suggestions

Release Notes:

- Fixed an issue where opening a search without text selected would
populate the search query with non-word characters adjacent to the
cursor.
- Added a setting, `seed_search_query_from_cursor`, which controls
whether the search query is automatically populated from the buffer when
starting a new buffer search or project search.

By default, the search query will always be set to the word under the
cursor. If you want to only populate the search query when text is
selected, you can add the following to your `~/.zed/settings.json`:
  
  ```json
  {
    "seed_search_query_from_cursor": "selection"
  }
  ```

If you don't want the search query to be automatically populated, even
when there is text selected, add the following:
  
  ```json
  {
    "seed_search_query_from_cursor": "never"
  }
  ```
2023-11-09 14:25:20 -08:00
Max Brunsfeld
b6eef26f91 Merge branch 'main' into search-query-suggestion-fixes 2023-11-09 14:18:17 -08:00
Conrad Irwin
fa153a0d56 Make command dispatching work 2023-11-09 15:14:23 -07:00