Commit Graph
14298 Commits
Author SHA1 Message Date
Kirill Bulatov 95bbdb0ddc 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 943bc66a9a Do not add diagnostics for any selection in the diagnostics panel 2023-11-10 13:35:58 +02:00
Conrad Irwin 2ff4c24205 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 95c1ae6316 Fix panic caused by focusing the same thing twice 2023-11-09 22:25:46 -07:00
Conrad Irwin 8decd62115 Refactor to make ModalLayer a View 2023-11-09 22:15:44 -07:00
Conrad Irwin acd60a35c6 Move from register_modals to register_workspace_action 2023-11-09 21:51:48 -07:00
Conrad Irwin 2b2c24afae Tidy up some more modal behaviour 2023-11-09 21:11:44 -07:00
Conrad Irwin c25c4ce46c Merge branch 'main' into command_palette2 2023-11-09 20:58:54 -07:00
Conrad Irwin 8b5d37ffa4 Tidy up 2023-11-09 20:58:35 -07:00
Marshall Bowers 756d1dfe10 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 407b4ae3be 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 6539e1da5e Fix editor settings deserialization in editor2 2023-11-09 15:37:46 -08:00
Conrad Irwin 24049ece95 Render more than one item 2023-11-09 16:36:36 -07:00
Marshall Bowers 3b3b4c0752 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 82f0f3de80 Improve digit duplication 2023-11-09 18:19:58 -05:00
Marshall Bowers dc54ff5500 Improve error conditions when parsing hex colors 2023-11-09 18:00:17 -05:00
Marshall Bowers b13d59b977 Add support for parsing 3-value and 4-value hex codes 2023-11-09 17:45:05 -05:00
Nate Butler e3e45b7c0a 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 94fa26ce08 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 64b809317a Merge branch 'main' into search-query-suggestion-fixes 2023-11-09 14:18:17 -08:00
Conrad Irwin f02f75bc86 Make command dispatching work 2023-11-09 15:14:23 -07:00
Max Brunsfeld c9bd5548ae Add a setting for when to seed the search query from the text under the cursor 2023-11-09 14:03:14 -08:00
Nate Butler 2de7dad850 regenerate themes, format 2023-11-09 16:48:35 -05:00
Nate Butler 9b3e6dfed9 Fix incorrect Rose Pine Dawn theme name 2023-11-09 16:44:40 -05:00
Nate Butler 8b6e43ce60 Remove unused import 2023-11-09 16:41:58 -05:00
Nate Butler 1cc2984fef Extend theme converter to allow multimatching against vscode colors 2023-11-09 16:38:48 -05:00
Max Brunsfeld 0a5075ca96 Generalize Refineable derive macro to derive arbitrary traits on the refinement type 2023-11-09 13:23:31 -08:00
Max Brunsfeld 34cf021595 Avoid suggesting search query if cursor is not on a word 2023-11-09 12:33:30 -08:00
Marshall Bowers 26c4abcc19 Refine theme styles (#3291)
This PR refines a number of styles in the default theme, as well as
updates the theme importer to support importing syntax styles from VS
Code themes.

Release Notes:

- N/A
2023-11-09 15:32:10 -05:00
Marshall Bowers f1108c1ad9 Allow user-theme related methods to be unused 2023-11-09 15:16:59 -05:00
Nate ButlerandMarshall Bowers 6460a6d1d3 Deal with special case where a VSCode theme doesn't have a foreground color
Co-Authored-By: Marshall Bowers <1486634+maxdeviant@users.noreply.github.com>
2023-11-09 14:53:04 -05:00
Nate ButlerandMarshall Bowers c392e567a0 Finish passing Syntax from VSCode themes to Zed Themes
Co-Authored-By: Marshall Bowers <1486634+maxdeviant@users.noreply.github.com>
2023-11-09 14:41:26 -05:00
Max Brunsfeld efa5263528 Use normal JS comments within JSX tags and JSX expression blocks (#3290)
This fix only required changing the `overrides` queries for JavaScript
and TSX. I've made the fix in both the `zed2` and `zed` crates.

Release Notes:

- Fixed an issue in JavaScript and TSX files, where the 'toggle
comments' command used the wrong comment syntax inside of JSX tags and
expressions within JSX.
2023-11-09 11:15:08 -08:00
Max Brunsfeld 785a835091 Duplicate buffer test changes in language2 version 2023-11-09 11:09:49 -08:00
Max BrunsfeldandKirill 3248d712e5 Use normal JS comments within JSX tags and JSX expression blocks
Co-authored-by: Kirill <kirill@zed.dev>
2023-11-09 10:58:33 -08:00
Nate ButlerandMarshall Bowers b260ab5947 Extend UserSyntax to allow font_style and font_weight to be specified
Co-Authored-By: Marshall Bowers <1486634+maxdeviant@users.noreply.github.com>
2023-11-09 13:46:08 -05:00
Conrad Irwin f68d8e9612 Fix escape in GoToLine with new event emitter (#3289)
[[PR Description]]

Release Notes:

- N/A
2023-11-09 11:23:26 -07:00
Marshall Bowers 70651e3fc1 Use IndexMap for a deterministic order when importing syntax colors 2023-11-09 13:12:36 -05:00
Marshall Bowers 7a0eef99ff Reorganize theme_importer 2023-11-09 13:07:32 -05:00
Marshall Bowers c2d703c963 Properly emit UserHighlightStyles 2023-11-09 12:59:20 -05:00
Julia 8191babed1 zed2: Get tsserver running again (#3288)
Port these changes to the zed2 directory

Release Notes:

- N/A
2023-11-09 12:55:27 -05:00
Conrad Irwin bab847a209 Fix escape in GoToLine with new event emitter 2023-11-09 10:52:17 -07:00
Piotr OsiewiczandConrad 0493b2f3a3 Some more woogaloo around action dispatch
Co-authored-by: Conrad <conrad@zed.dev>
2023-11-09 18:51:41 +01:00
Marshall Bowers 0c2aef6068 Add importing-themes feature flag to theme2 crate
When this feature is set the `themes` module won't be compiled.
This allows us to run the `theme_importer` even when the `themes` module
has compile errors in it.
2023-11-09 12:49:16 -05:00
Marshall Bowers 9e2de5ad97 Emit unique highlights for each syntax token 2023-11-09 12:46:37 -05:00
Piotr OsiewiczandConrad bbc0341411 Fix up keybindings propagation
Co-authored-by: Conrad <conrad@zed.dev>
2023-11-09 18:33:36 +01:00
Nate ButlerandMarshall Bowers 4cabcdd6d4 WIP – Add Syntax themes to importer
Co-Authored-By: Marshall Bowers <1486634+maxdeviant@users.noreply.github.com>
2023-11-09 12:30:53 -05:00
Piotr Osiewicz 9228845242 Start working on command_palette2 2023-11-09 17:54:05 +01:00
Julia 229c106781 zed2: Get tsserver running again 2023-11-09 11:43:40 -05:00
Nate ButlerandMarshall Bowers f727945f16 Allow imported themes to refine StatusColors
Co-Authored-By: Marshall Bowers <1486634+maxdeviant@users.noreply.github.com>
2023-11-09 11:30:59 -05:00