Code at the speed of thought – Zed is a high-performance, multiplayer code editor from the creators of Atom and Tree-sitter.
Find a file
Kyle Kelley 221edfc267
Bring Jupyter to Zed Editing (#12062)
Run any Jupyter kernel in Zed on any buffer (editor):

<img width="1074" alt="image"
src="https://github.com/zed-industries/zed/assets/836375/eac8ed69-d02b-4d46-b379-6186d8f59470">

## TODO

### Lifecycle

* [x] Launch kernels on demand
* [x] Wait for kernel to be started
* [x] Request Kernel info on start
* [x] Show in progress indicator
* [ ] Allow picking kernel (it defaults to first matching language name)
* [ ] Menu for interrupting and shutting down the kernel
* [ ] Drop running kernels once editor is dropped

### Media Outputs

* [x] Render text and tracebacks with ANSI color handling
* [x] Render markdown as text
* [x] Render PNG and JPEG images using an explicit height based on
line-height
* ~~Render SVG~~ -- not happening for this PR due to lack of text in SVG
support
* [ ] Process `update_display_data` message and related `display_id`
* [x] Process `page` data from payloads as outputs
* [ ] Render markdown as, well, rendered markdown -- Note: unsure if we
can get line heights here

### Document

* [x] Select code and run
* [x] Run current line
* [x] Clear previous overlapping runs
* [ ] Support running markdown code blocks
* [ ] Action to export session as notebook or output files
* [ ] Action to clear all outputs
* [ ] Delete outputs when lines are deleted

## Other missing features

The following is a list of missing functionality or expectations that
are out of scope for this PR.

### Python Environments

Detecting python environments should probably be done in a separate PR
in tandem with how they're used with LSP. Users likely want to pick an
environment for their project, whether a virtualenv, conda env, pyenv,
poetry backed virtualenv, or the system. Related issues:

* https://github.com/zed-industries/zed/issues/7646
* https://github.com/zed-industries/zed/issues/7808
* https://github.com/zed-industries/zed/issues/7296

### LSP Integration

* Submit `complete_request` messages for completions to interleave
interactive variables with LSP
* LSP for IPython semantics (`%%timeit`, `!ls`, `get_ipython`, etc.)

## Future release notes

- Run code in any editor, whether it's a script or a markdown document

Release Notes:

- N/A
2024-06-17 10:02:31 -07:00
.cargo Fix collab deploy (#13076) 2024-06-14 16:15:13 -06:00
.cloudflare Remove 2 removal (#11867) 2024-05-15 11:06:05 -06:00
.config
.github overwrite 2024-06-14 16:36:48 -06:00
.zed Remove wiring for assistant2 (#11940) 2024-05-16 18:32:53 -04:00
assets vim: Fix minor keybinding bugs (#13086) 2024-06-14 22:38:50 -06:00
crates Bring Jupyter to Zed Editing (#12062) 2024-06-17 10:02:31 -07:00
docs docs: Fix the missing shortcut for Go Back (#13138) 2024-06-17 14:37:01 +03:00
extensions ruby: Remove outline for running tests (#12642) 2024-06-10 18:04:43 +02:00
script Remove Gemini testing script (#13143) 2024-06-17 10:51:29 -04:00
tooling/xtask
.dockerignore
.gitattributes
.gitignore Add Flatpak build system and support (#12006) 2024-05-27 19:01:20 -06:00
.mailmap
Cargo.lock Bring Jupyter to Zed Editing (#12062) 2024-06-17 10:02:31 -07:00
Cargo.toml Bring Jupyter to Zed Editing (#12062) 2024-06-17 10:02:31 -07:00
CODE_OF_CONDUCT.md
CONTRIBUTING.md
debug.plist
docker-compose.sql
docker-compose.yml
Dockerfile chore: Bump Rust version to 1.79 (#12987) 2024-06-13 23:05:25 +02:00
LICENSE-AGPL
LICENSE-APACHE
LICENSE-GPL
livekit.yaml
Procfile
README.md
rust-toolchain.toml chore: Bump Rust version to 1.79 (#12987) 2024-06-13 23:05:25 +02:00
typos.toml

Zed

CI

Welcome to Zed, a high-performance, multiplayer code editor from the creators of Atom and Tree-sitter.

Installation

You can download Zed today for macOS (v10.15+).

Support for additional platforms is on our roadmap:

For macOS users, you can also install Zed using Homebrew:

brew install --cask zed

Alternatively, to install the Preview release:

brew install --cask zed@preview

Developing Zed

Contributing

See CONTRIBUTING.md for ways you can contribute to Zed.

Also... we're hiring! Check out our jobs page for open roles.

Licensing

License information for third party dependencies must be correctly provided for CI to pass.

We use cargo-about to automatically comply with open source licenses. If CI is failing, check the following:

  • Is it showing a no license specified error for a crate you've created? If so, add publish = false under [package] in your crate's Cargo.toml.
  • Is the error failed to satisfy license requirements for a dependency? If so, first determine what license the project has and whether this system is sufficient to comply with this license's requirements. If you're unsure, ask a lawyer. Once you've verified that this system is acceptable add the license's SPDX identifier to the accepted array in script/licenses/zed-licenses.toml.
  • Is cargo-about unable to find the license for a dependency? If so, add a clarification field at the end of script/licenses/zed-licenses.toml, as specified in the cargo-about book.