Commit Graph
12032 Commits
Author SHA1 Message Date
Kirill Bulatov de1ca60a54 Improve inlay hint cache lookup 2023-09-14 23:31:50 +03:00
Kirill Bulatov 17b09eb060 Restructure inlay highlights data for proper access 2023-09-14 23:05:22 +03:00
Kirill Bulatov 8702be1933 Remove useless background highlights code 2023-09-14 22:18:30 +03:00
Kirill Bulatov 0c70840290 Uncomment the rest of the tests 2023-09-14 22:18:26 +03:00
Kirill Bulatov 130e873079 Randomize inlay highlight range start 2023-09-14 22:08:12 +03:00
Kirill Bulatov a2dba081dc Consider offsets in inlay chunks 2023-09-14 22:08:12 +03:00
Kirill BulatovandAntonio Scandurra 15942c31ef Properly handle inlay highlights in the InlayMap
Co-Authored-By: Antonio Scandurra <antonio@zed.dev>
2023-09-14 22:08:12 +03:00
Kirill Bulatov 58a24cf6d8 Add inlay highlight test 2023-09-14 22:08:12 +03:00
Kirill Bulatov 95bfe39bf9 Implement inlay highlighting 2023-09-14 22:08:12 +03:00
Kirill Bulatov d2b0649378 Use standalone inlay background highlights 2023-09-14 22:08:12 +03:00
Kirill Bulatov c8ede63d7c Unify highlights in *Map 2023-09-14 22:08:12 +03:00
Kirill Bulatov 5a9d375f79 Do not combine inlay and text highlights on the *Map level 2023-09-14 22:08:12 +03:00
Piotr Osiewicz 46f38f13ed editor: Do not run brace completion on empty text. (#2965)
Users of keyboard layout with IME complained about the peculiar
behaviour where typing in "sss" and then removing all of it left behind
one 's' and also appended a closing brace. This was not reproducible on
a buffer without language, so I've suspected that brace insertion might
be a problem here. For whatever reason when the user removes the last
character from a run that triggered IME, we receive a notification about
an empty insertion. Sadly, brace completion does not handle an empty
input properly and we erroneously insert a closing brace when deleting
the followup characters. In fact, the brace inserted is always the
closing brace for the first entry in language's config.toml 'brackets'
field (see Scheme vs Markdown). This guard also allows for the proper
removal of the first character.

Closes community tickets zed-industries/community#877
zed-industries/community#1329

Z-2869

Release Notes:
- Fixed handling of bracket completion for international keyboard
layouts that use IME. This led to Zed erroneously inserting the `}`
character while removing the first character that triggered IME.
2023-09-14 20:24:21 +02:00
Joseph T. Lyons ba1e16bd29 Fix toggle replace tooltip (#2964)
Release Notes:

- N/A
2023-09-13 20:24:05 -04:00
Joseph T. Lyons 3430032e5e Fix toggle replace tooltip 2023-09-13 20:19:14 -04:00
Joseph T. Lyons 659aa6cc9f collab 0.21.0 2023-09-13 13:34:08 -04:00
Joseph T. Lyons 78ad8f65dd v0.105.x dev 2023-09-13 12:22:33 -04:00
Antonio Scandurra c2036f673a Fix indentation issues when generating or transforming code with inline assistant (#2961)
This pull request extracts a separate `Codegen` struct that models the
interaction with OpenAI and takes care of diffing, auto-indenting and
reporting regions to highlight.

As part of this refactoring, we're now relying less on the AI model to
indent code. The new logic lets tree-sitter decide how the first line
should be indented. Then, for every subsequent line reported by ChatGPT,
it calculates an indent delta relative to the first reported line and
applies it to the indent level chosen by tree-sitter.

Release Notes:

- Improved auto-indentation when using the inline assistant.
2023-09-13 12:45:44 +02:00
Antonio Scandurra 3de6752dbe Diff lines one chunk at a time after discovering indentation 2023-09-13 11:57:10 +02:00
Antonio Scandurra 5893c05c1b Merge remote-tracking branch 'origin/main' into polish-codegen 2023-09-13 11:41:32 +02:00
Antonio Scandurra 882e030e38 Never use the indentation that comes from OpenAI 2023-09-13 11:40:28 +02:00
Conrad Irwin d5d2c2785a vim counts (#2958)
Release Notes:

- vim: Fix counts with operators (`2yy`, `d3d`, etc.)
([#1496](https://github.com/zed-industries/community/issues/1496))
([#970](https://github.com/zed-industries/community/issues/970)).
- vim: Add support for counts with insert actions (`2i`, `2o`, `2a`,
etc.)
- vim: add `_` and `g_`
2023-09-12 14:32:00 -06:00
Piotr OsiewiczandMax b21d8ecf19 Replace in buffer adjustments (#2960)
This PR addresses feedback from @maxbrunsfeld on new replace in buffer.
It fixes:
- missing padding surrounding replace input.
- missing padding around replace buttons.
- missing `.notify` call which made the replace fields not show up
immediately sometimes.

Release Notes:
- N/A

---------

Co-authored-by: Max <max@zed.dev>
2023-09-12 22:08:39 +02:00
Julia 3303008461 Lsp status bugfix (#2959)
Release Notes:
- Fixed a case where language server download statuses could be skipped.
- Fixed a case where language server diagnostic progress could get stuck
when restarting a language server.
2023-09-12 15:59:00 -04:00
Julia 532fa49b83 Avoid keeping stale LSP progress indicator state when server is removed 2023-09-12 15:14:49 -04:00
Conrad Irwin 09b589ba85 Remove another supported exemption 2023-09-12 12:48:36 -06:00
JuliaandAntonio Scandurra d34eccbeda Use unbounded channel(s) for LSP binary status messaging
Co-Authored-By: Antonio Scandurra <antonio@zed.dev>
2023-09-12 13:45:36 -04:00
Piotr Osiewicz c4e0bcb99e Z 1200/replace in buffer (#2922)
This is still WIP, mostly pending styling. I added a pretty rudimentary
text field and no buttons whatsoever other than that. I am targeting a
Preview of 09.13, as I am gonna be on PTO for the next week.

I dislike the current implementation slightly because of `regex`'s crate
syntax and lack of support of backreferences. What strikes me as odd wrt
to syntax is that it will just replace a capture name with empty string
if that capture is missing from the regex. While this is perfectly fine
behaviour for conditionally-matched capture groups (e.g. `(foo)?`), I
think it should still error out if there's no group with a given name
(conditional or not).
Release Notes:

- Added "Replace" functionality to buffer search.
2023-09-12 18:46:54 +02:00
Conrad Irwin e81673f3d8 Remove supported exception
(and refactor tests to be more linear)
2023-09-12 10:13:24 -06:00
Conrad Irwin 488b325f60 Fix 0 used in a count 2023-09-12 09:56:23 -06:00
Conrad Irwin 5c124b1fa7 Fix bug where cursors became invisible if replaying was interrupted 2023-09-11 20:56:22 -06:00
Conrad Irwin d0497dfdb7 Clear counts when switching modes 2023-09-11 18:30:31 -06:00
Conrad Irwin b850e0b8a6 vim: ALlow counts on insert actions
This re-uses the existing repeat infrastructure.
2023-09-11 18:09:47 -06:00
Conrad Irwin 4aa2148f76 vim: Fix count handling to allow pre/post counts
Fixes 2yy, d3d, etc.

For zed-industries/community#970
For zed-industries/community#1496
2023-09-11 14:35:47 -06:00
Conrad Irwin 755586f439 Allow a count with CurrentLine
Add _ and g_ too while we're here.
2023-09-11 14:19:43 -06:00
Nate Butler cc6d604191 Add Storybook Components (#2956)
[[PR Description]]

Started building out some early components in the storybook using a
modified version of the classic Atomic Design model @mikayla-maki and I
are exploring.

<img width="1134" alt="atomic_design"
src="https://github.com/zed-industries/zed/assets/1714999/9093a8b5-a71d-41d4-bae2-f7562494c5f3">

This PR adds a few things:

- `tab`, `tab_bar` and `icon_button` components
- Dynamic documentation for the proc macro generated methods like `w_8`,
`px_2`, etc.
- Continues to build out the Zed workspace demo

Release Notes:

- N/A
2023-09-11 14:47:35 -04:00
Kirill Bulatov d91a22bfce Allow installing rustup via homebrew 2023-09-11 21:35:08 +03:00
Conrad Irwin 5591e35326 Fix some international keybindings (#2957)
This adds primitive interaction with the IME system for keyboard
shortcuts in zed.

- Consult the IME functionality when handling keyboard shortcuts. This
allows you to bind to characters (like " on a Brazillian keybaord, or $
on a Czech keyboard) that aren't typed with an unmodified key.
([#1981](https://github.com/zed-industries/community/issues/1981))
([#1913](https://github.com/zed-industries/community/issues/1913))

Co-authored-with: Antonio Scandurra <me@as-cii.com>
2023-09-11 11:56:57 -06:00
Conrad Irwin 58c399fc97 Fix ctrl-` on Brazillian too 2023-09-11 11:33:04 -06:00
Conrad Irwin a89d571438 Fix some international keybindings
This adds primitive interaction with the IME system for keyboard
shortcuts in zed.

For zed-industries/community#1981
For zed-industroes/community#1913
2023-09-11 10:35:42 -06:00
Conrad Irwin 9c5f64d01b Use rustup (not brew) for rust 2023-09-11 10:15:22 -06:00
Piotr Osiewicz 2bd2709053 Z 2620 - Sort command palette's entries by name and use count (#2954)
Release Notes:
- Improved command palette's command ordering; commands are sorted
lexicographically and by command's use count in the current session.
2023-09-11 17:50:09 +02:00
Nate Butler 0b73326752 Merge branch 'main' into nate/storybook-components 2023-09-11 11:49:49 -04:00
Nate Butler 9a41c8a7ba Fix incorrect workspace order 2023-09-11 11:42:54 -04:00
Nate Butler 29930b6dbe Use enabled for active tabs 2023-09-11 11:40:03 -04:00
Nathan Sobo 3ebe9a3f9f Introduce gpui2 and storybook crates (#2919)
This PR splits `crates/gpui/playground` with two new crates: `gpui2` and
`storybook`.

GPUI 2 re-exports most of `gpui`, but makes some adjustments. I want to
keep the scope focused. This isn't literally version 2.0 of GPUI or
anything. It's just a convenient way to make a create with fewer
dependencies where we can iterate quickly on aspects of GPUI's design.
Most of the focus is on improving our approach to element layout and
styling.

The `storybook` crate is pretty empty for now, but it's where I intend
to start rebuilding interfaces. I welcome anyone else to join me in
this, though until I get one interface fully built, buyer beware. You
may need to pair on it with me.
2023-09-11 09:19:43 -06:00
Nathan Sobo 444d8662a5 Merge branch 'main' into storybook 2023-09-11 09:13:46 -06:00
Nate ButlerandPiotr Osiewicz 3207ecc64a Restructure storybook modules and components
Co-Authored-By: Piotr Osiewicz <24362066+osiewicz@users.noreply.github.com>
2023-09-11 11:05:10 -04:00
Nathan Sobo b2968c2d11 Eliminate PaintContext 2023-09-11 09:00:59 -06:00
Nathan Sobo 950ac4fbc6 Eliminate LayoutContext 2023-09-11 08:47:00 -06:00