Commit Graph
12024 Commits
Author SHA1 Message Date
Antonio Scandurra ae85a520f2 Refactor semantic searching of modified buffers 2023-09-15 12:12:20 +02:00
KCaverly 796bdd3da7 update searching in modified buffers to accomodate for excluded paths 2023-09-14 19:42:06 -04:00
KCaverly c19c8899fe add initial search inside modified buffers 2023-09-14 14:58:34 -04:00
Antonio Scandurra f86e5a987f WIP 2023-09-14 17:42:30 +02:00
Antonio ScandurraandKyle Caverly 6a271617b4 Make path optional when parsing file
Co-Authored-By: Kyle Caverly <kyle@zed.dev>
2023-09-14 17:09:08 +02:00
Joseph T. Lyons 24698b61fd Fix toggle replace tooltip (#2964)
Release Notes:

- N/A
2023-09-13 20:24:05 -04:00
Joseph T. Lyons 15bdff1c5b Fix toggle replace tooltip 2023-09-13 20:19:14 -04:00
Joseph T. Lyons 974bc07631 collab 0.21.0 2023-09-13 13:34:08 -04:00
Joseph T. Lyons a6cb5f99f3 v0.105.x dev 2023-09-13 12:22:33 -04:00
Antonio Scandurra 5697a87f4a 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 127d03516f Diff lines one chunk at a time after discovering indentation 2023-09-13 11:57:10 +02:00
Antonio Scandurra 70c9b8f8fd Merge remote-tracking branch 'origin/main' into polish-codegen 2023-09-13 11:41:32 +02:00
Antonio Scandurra b8c437529c Never use the indentation that comes from OpenAI 2023-09-13 11:40:28 +02:00
Conrad Irwin 329a0724e0 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 a63b78d5a0 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 65e0a67625 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 c6f293076e Avoid keeping stale LSP progress indicator state when server is removed 2023-09-12 15:14:49 -04:00
Conrad Irwin 0958def770 Remove another supported exemption 2023-09-12 12:48:36 -06:00
JuliaandAntonio Scandurra b0facf8e1e 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 4cb8647702 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 dcaba9d9e7 Remove supported exception
(and refactor tests to be more linear)
2023-09-12 10:13:24 -06:00
Conrad Irwin 7daed1b2c3 Fix 0 used in a count 2023-09-12 09:56:23 -06:00
Conrad Irwin c2c521015a Fix bug where cursors became invisible if replaying was interrupted 2023-09-11 20:56:22 -06:00
Conrad Irwin 76d55244a1 Clear counts when switching modes 2023-09-11 18:30:31 -06:00
Conrad Irwin d868d00985 vim: ALlow counts on insert actions
This re-uses the existing repeat infrastructure.
2023-09-11 18:09:47 -06:00
Conrad Irwin cee549e1ef 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 e8a6ecd6ac Allow a count with CurrentLine
Add _ and g_ too while we're here.
2023-09-11 14:19:43 -06:00
Nate Butler c545788168 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 017aa1fdfb Allow installing rustup via homebrew 2023-09-11 21:35:08 +03:00
Conrad Irwin 0c2bc6e553 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 e017dc6a5e Fix ctrl-` on Brazillian too 2023-09-11 11:33:04 -06:00
Conrad Irwin 0a6e577e10 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 b922d0f132 Use rustup (not brew) for rust 2023-09-11 10:15:22 -06:00
Piotr Osiewicz f66dd43a84 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 c7ad89d7fa Merge branch 'main' into nate/storybook-components 2023-09-11 11:49:49 -04:00
Nate Butler 04fc9d2d33 Fix incorrect workspace order 2023-09-11 11:42:54 -04:00
Nate Butler 1376115db2 Use enabled for active tabs 2023-09-11 11:40:03 -04:00
Nathan Sobo c3a3543ebb 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 15ea4af5e7 Merge branch 'main' into storybook 2023-09-11 09:13:46 -06:00
Nate ButlerandPiotr Osiewicz 917884ffaf 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 e0fdc7d0aa Eliminate PaintContext 2023-09-11 09:00:59 -06:00
Nathan Sobo a24d94cfda Eliminate LayoutContext 2023-09-11 08:47:00 -06:00
Kyle Caverly d4da5540ac Rate limiting status (#2955)
Add a rate limit remaining status to Project Search Semantic Search
minor text

Release Notes (Preview-Only):

- Added tracking functionality within EmbeddingProvider, to track rate
limit expiry
- Update minor text within Project Search to show countdown remaining
before rate limit expiry
2023-09-11 10:40:11 -04:00
Nate Butler 2774eae21a Checkpoint 2023-09-11 10:36:49 -04:00
KCaverly 74ab41000b Merge branch 'main' of github.com:zed-industries/zed into rate_limiting_status 2023-09-11 10:26:22 -04:00
KCaverly e678c7d9ee swap
SystemTime for Instant throughout rate_limit_expiry tracking
2023-09-11 10:26:14 -04:00
KCaverlyandAntonio 7df21f86dd move cx notify observe for rate_limit_expiry into ProjectState in the semantic index
Co-authored-by: Antonio <antonio@zed.dev>
2023-09-11 10:11:40 -04:00
Antonio Scandurra 6d9333dc3b Add a failing test for codegen autoindent 2023-09-11 14:35:15 +02:00
Antonio Scandurra 02078140c0 Extract code generation logic into its own module 2023-09-11 11:25:37 +02:00
Mikayla Maki 49c80201f3 Add syntax highlighting for nu (#2952)
Unfortunately, their language server implementation uses [VSCode
directly](https://github.com/neovim/nvim-lspconfig/issues/2592), so I
don't think we can bundle it in yet. For reference, I also started
prepping a [Zed
repository](https://github.com/zed-industries/nushell-lsp) for serving
the nu language server but have archived it since discovering the issue.

Release Notes:

- Added syntax highlighting for Nushell script files
2023-09-09 16:00:55 -07:00