Commit Graph
407 Commits
Author SHA1 Message Date
Antonio Scandurra ea17d1638e Introduce code generation (#2901)
![CleanShot 2023-08-28 at 12 24
36@2x](https://github.com/zed-industries/zed/assets/482957/f97cb399-1ac2-4fa9-94a7-137d1eec711c)


Release Notes:

- Added a new "Inline Assist" feature that lets you transform a
selection or generate new code at the cursor location by hitting
`ctrl-enter`.
2023-08-30 14:58:22 +02:00
Max Brunsfeld 791f6cf9e7 Update some tests to reflect code action debouncing 2023-08-28 17:45:32 -07:00
Antonio Scandurra 1fb7ce0f4a Show icon to toggle inline assist 2023-08-28 12:13:44 +02:00
Kirill Bulatov 1938fd85e8 Do not leak pane handles 2023-08-16 23:38:11 +03:00
Kirill Bulatov 8926c23bdb Extract quick_action_bar into its own crate 2023-08-16 23:38:11 +03:00
Kirill Bulatov 6a326c1bd8 Toggle buffer search via quick actions 2023-08-16 23:38:11 +03:00
Kirill Bulatov 5c3d563f0f Draft quick actions bar 2023-08-16 23:38:11 +03:00
Mikayla b21b17c120 Merge branch 'main' into collab-panel 2023-08-10 10:04:01 -07:00
Kirill Bulatov 704ab33f72 Restore shutdown behavior 2023-08-09 23:39:21 +03:00
Mikayla 99daa73325 Merge branch 'main' into collab-panel 2023-08-09 10:37:22 -07:00
Nate Butler b23f1c809a 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 b2d9ccc0a2 Move more window methods off AsyncAppContext 2023-08-08 11:38:07 -06:00
Nathan Sobo 95cd96e4be Move debug_elements to AnyWindowHandle 2023-08-08 11:27:19 -06:00
Nathan Sobo d896d89842 Store an AnyWindowHandle in WindowContext 2023-08-08 11:08:37 -06:00
Mikayla 17c9b4ca96 Fix tests 2023-08-08 10:04:29 -07:00
Nathan Sobo f2be3181a9 Move window-related methods from TestAppContext to AnyWindowHandle 2023-08-07 20:23:04 -06:00
Nathan Sobo 486f5bc6ca Get compiling 2023-08-07 19:08:58 -06:00
Max Brunsfeld c537cf2a57 Merge branch 'main' into collab-panel 2023-08-07 11:50:40 -07:00
Nathan Sobo adc50469ff WIP 2023-08-06 12:45:31 -06:00
Nathan Sobo d3c1966d96 WIP: Return WindowHandle<V: View> from AppContext::add_window (#2820)
Instead of returning a usize for the window id, I'm instead returning a
`WindowHandle<V: View>` where `V` is the type of the window's root view.
@as-cii helped me with a cool technique using generic associated types
where methods on `WindowHandle` can return either T or Option<T>
depending on the `BorrowWindowContext::Result` associated type.

Some example usage...

```rs
let window = cx.add_window(|cx| MyView::new(cx));
let my_view = window.root(cx); // If cx is TestAppContext, returns MyView. Otherwise returns Option<MyView>, because the window could be closed.
```


This isn't insanely beneficial on its own, but I think it will help
clean up our testing story. I'm planning on making `window` more useful
in tests for laying out elements, etc.

- [x] Rework tests that call `add_window` 😅 to expect only a window in
return.
- [x] Get tests passing
- [x] 🚬  test
2023-08-03 18:45:51 -06:00
Nathan Sobo 485c0a482e Don't refcount window handles 2023-08-03 17:11:47 -06:00
Nathan Sobo afcc0d621b WIP 2023-08-03 17:03:39 -06:00
Mikayla Maki 6c4964f071 WIP: continue channel management modal and rename panel to collab_panel 2023-08-03 11:40:55 -07:00
Nathan Sobo 884cee6dfd Get tests compiling returning WindowHandle<V: View> from add_window 2023-08-02 14:05:03 -06:00
Max Brunsfeld 7d97d1dd8d Merge branch 'main' into collab-panel 2023-08-02 09:20:53 -07:00
Max Brunsfeld a127b0d3e6 Fix warnings surfaced in Rust 1.71 2023-08-02 09:19:23 -07:00
Mikayla Maki 7f9df6dd24 Move channels panel into collab and rename to collab panel
remove contacts popover and add to collab panel
2023-07-28 13:24:42 -07:00
Mikayla Makiandnate ac35dae66e Add channels panel with stubbed out information
co-authored-by: nate <nate@zed.dev>
2023-07-28 13:21:39 -07:00
Julia 46101bf110 Reattempt Node installation if the installation itself errors
This also makes us a bit more aggressive about reinstalling Node
2023-07-28 15:24:40 -04:00
JuliaandMikayla Maki fc9687d163 Avoid panic by accessing view handle by global in wrong window
View handles are window specific but this global will be doing things
in all windows, that would cause a panic when it attempted to update
a status bar mode indicator in a background window

Co-Authored-By: Mikayla Maki <mikayla@zed.dev>
2023-07-27 18:53:05 -04:00
Conrad Irwin 39f02c2b72 Add a mode indicator for vim (#2763)
Release Notes:

- vim: add a mode indicator
([#409](https://github.com/zed-industries/community/issues/409))

Now updated screenshots with @iamnbutler 
<img width="1043" alt="Screenshot 2023-07-25 at 11 11 57"
src="https://github.com/zed-industries/zed/assets/94272/8301479a-8b58-42d8-81a1-bc40e1e0a4df">
<img width="1043" alt="Screenshot 2023-07-25 at 11 12 00"
src="https://github.com/zed-industries/zed/assets/94272/89c3b8bd-9cbc-4fd7-ad10-dac5538ed3a3">
<img width="1043" alt="Screenshot 2023-07-25 at 11 12 12"
src="https://github.com/zed-industries/zed/assets/94272/adc87fe3-a720-4779-853b-df9443407046">
2023-07-25 20:18:23 -06:00
Conrad Irwin 43d94e37ec Refactor mode indicator to remove itself
One of the problems we had is that the status_bar shows a gap between
items, and we want to not add an additional gap for an invisible status
indicator.
2023-07-24 09:51:54 -06:00
Kirill Bulatov f05095a6dd Focus project panel on directory select 2023-07-23 00:12:25 +03:00
Conrad Irwin 458916409c Add a mode indicator for vim
This is the second most common remaining complaint (after :w not
working).

Fixes: zed-industries/community#409
2023-07-21 16:06:14 -06:00
Kirill Bulatov 595bc16749 Add search in directory action in the project panel 2023-07-21 22:47:57 +03:00
Mikayla Maki fd72f4526d Added file suffix and icon associations data 2023-07-19 11:10:30 -07:00
Kirill Bulatov f5eac82e81 Reload menu after keybindings change 2023-07-17 12:30:42 +03:00
Alex ViscreanuandMikayla Maki c7669317ec feat(workspace): allow alternative actions to open files and symbols in split
Co-authored-by: Mikayla Maki <mikayla@zed.dev>
2023-07-14 21:49:15 +02:00
Julia 66bf56fc4f Prevent duplicate instances by coordinating via a socket 2023-07-07 14:19:44 -04:00
Kirill BulatovandMikayla Maki 4c51ab8a25 Accept null as a valid action, to disable a keystroke
co-authored-by: Mikayla Maki <mikayla@zed.dev>
2023-07-04 21:11:28 +03:00
Mikayla Maki d2127825e3 Add first-pass sound support to Zed 2023-07-03 13:30:04 -07:00
Mikayla Maki 138de37cbf Add basic sound handling infrastructure 2023-06-30 16:10:49 -07:00
Julia 48bed2ee03 Merge branch 'main' into fix-broken-lsp-installations 2023-06-28 16:46:06 -04:00
Julia db2b3e47bc Reinstall Node whenever a NodeRuntime operation has serious error 2023-06-28 16:43:45 -04:00
Mikayla Maki ce52d90a9d Collab UI v2 (#2618)
This PR implements
https://www.figma.com/file/pLq7dvhx2mFeWFOedXpUQ5/Project-%E2%80%93-Collaboration-UI?type=design&node-id=666%3A8610&t=XFGk6KEtTCFXBvCQ-1

Release notes:
- [x] Redesigned collaboration UI
- [x] Added voice support
2023-06-28 09:14:39 -07:00
Antonio ScandurraandNathan Sobo 2cb4616609 Enable assistant on stable
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2023-06-28 12:09:49 +02:00
Piotr Osiewicz 83c1bb07bb Add background to user avatar 2023-06-15 22:05:43 -07:00
Piotr Osiewicz 092cf93dae Move zed actions to zed-actions 2023-06-15 22:05:43 -07:00
Mikayla Maki b156644daf fixed tests to match new behavior 2023-06-15 15:09:37 -07:00
Antonio Scandurra 049c987310 Avoid loading the assistant panel on stable 2023-06-14 12:08:49 +02:00