50dd38b
Linux: adjust docs for building (#8246)
Click to expand commit body
Improve docs & remove `vulkan-validation-layers` from the dependencies.
Rom Grk created
50dd38b
Linux: adjust docs for building (#8246)
Improve docs & remove `vulkan-validation-layers` from the dependencies.
Rom Grk created
caa156a
Fix a panic in the assistant panel (#8244)
Release Notes: - Fixed a panic in the assistant panel when the app is shutting down.
Conrad Irwin created
a82f485
Add settings to control gutter elements (#7665)
The current gutter was a bit too big for my taste, so I added some
settings to change which visual elements are shown, including being able
to hide the gutter completely.
This should help with the following issues: #4963, #4382, #7422
New settings:
```json5
"gutter": {
"line_numbers": true, // Whether line numbers are shown
"buttons": true // Whether the code action/folding buttons are shown
}
```
The existing `git.git_gutter` setting is also taken into account when
calculating the width of the gutter.
We could also separate the display of the code action and folding
buttons into separate settings, let me know if that is desirable.
## Screenshots:
- Everything on (`gutter.line_numbers`, `gutter.buttons`,
`git.git_gutter`):
<img width="434" alt="SCR-20240210-trfb"
src="https://github.com/zed-industries/zed/assets/17355488/bcc55311-6e1d-4c22-8c43-4f364637959b">
- Only line numbers and git gutter (`gutter.line_numbers`,
`git.git_gutter`):
<img width="406" alt="SCR-20240210-trhm"
src="https://github.com/zed-industries/zed/assets/17355488/0a0e074d-64d0-437c-851b-55560d5a6c6b">
- Only git gutter (`git.git_gutter`):
<img width="356" alt="SCR-20240210-trkb"
src="https://github.com/zed-industries/zed/assets/17355488/7ebdb38d-93a5-4e38-b008-beabf355510d">
- Only git gutter and buttons (`git.git_gutter`, `gutter.buttons`):
<img width="356" alt="SCR-20240210-txyo"
src="https://github.com/zed-industries/zed/assets/17355488/e2c92c05-cc30-43bc-9399-09ea5e376e1b">
- Nothing:
<img width="350" alt="SCR-20240210-trne"
src="https://github.com/zed-industries/zed/assets/17355488/e0cd301d-c3e0-4b31-ac69-997515928b5a">
## Release Notes:
- Added settings to control the display of gutter visual elements. `"gutter": {"line_numbers": true, "code_actions": true, "folds": true}` ([#8041](https://github.com/zed-industries/zed/issues/8041)) ([#7422](https://github.com/zed-industries/zed/issues/7422))
```
---------
Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
Felipe and Conrad Irwin created
0de8672
Add `SystemClock` (#8239)
This PR adds a `SystemClock` trait for abstracting away the system clock. This allows us to swap out the real system clock with a `FakeSystemClock` in the tests, thus allowing the fake passage of time. We're using this in `Telemetry` to better mock the clock for testing purposes. Release Notes: - N/A
Marshall Bowers created
cc8e3c2
Show more extensions (#8234)
This is a bandaid fix for: https://github.com/zed-industries/zed/issues/8228. Release Notes: - N/A
Joseph T. Lyons created
347f688
Support ESLint flat configs (#8109)
Not available before the new eslint language server version is released, but prepares the ground for it. ## Further reading - https://eslint.org/docs/latest/use/configure/configuration-files-new - https://github.com/microsoft/vscode-eslint?tab=readme-ov-file#settings-options Release Notes: - Added ESLint flat config support ([#7271](https://github.com/zed-industries/zed/issues/7271))
Kristján Oddsson created
a475d86
Introduce file_id on Windows (#8130)
Added a function `file_id` to get the file id on windows, which is similar to inode on unix. Release Notes: - N/A
Small White created
991c9ec
Integrate profiling into gpui (#8176)
[Profiling](https://crates.io/crates/profiling) crate allows easy integration with various profiler tools. The best thing is - annotations compile to nothing unless you request a specific feature. For example, I used this command to enable Tracy support: ```bash cargo run --features profiling/profile-with-tracy ``` At the same time I had Tracy tool open and waiting for connection. It gathered nice stats from the run:  Release Notes: - N/A
Dzmitry Malyshau created
250df70
Tidy up indicators in collab panel (#8214)
Move away from columns of icons towards the "changed" info dot we used for files. Secondary actions for chat/notes still show up (if you're lucky) on hover. Co-Authored-By: Marshall <marshall@zed.dev> Release Notes: - Improved design of collab panel --------- Co-authored-by: Marshall <marshall@zed.dev> Co-authored-by: Marshall Bowers <elliott.codes@gmail.com>
Conrad Irwin , Marshall , and Marshall Bowers created
ba6b319
Add an app_menu to Storybook which enables quitting with `cmd-q` (#8166)
I really think storybook is a cool standalone app but there are some usability issues that are getting in the way of making this a fun tool to use. Currently it is not easy to gracefully exit out of storybook. In fact even trying to Ctrl-c out of storybook seems currently broken to me... So the only real way to exit out of storybook is to kill the process after a Ctrl-z. This PR attempts to make this much easier by adding a simple app_menu with a menu item called quit along with the ability to *Cmd-q* out of storybook as well... Both the menu item quit and *Cmd-q* gracefully exit storybook. There are still a bunch of issues with storybook which I plan on addressing in future PR's but this is a start and something that to me is the highest priority to make storybook more functional and easy to use moving forward. One of my longer term goals of storybook is to have it be a nice stand alone application similar to [Loungy](https://github.com/MatthiasGrandl/Loungy) which can be used as a nice tutorial application for how to develop a real world *gpui* app. For that reason I added a *assets/keymaps/storybook.json* file as well.
Michael Angerman created
bd94a0e
Wayland: implement focus events (#8170)
Implements keyboard focus in/out events. This also enables vim mode to work on wayland, which is only activated when an editor gains focus.
Rom Grk created
40bbd00
linux: fix reveal_path for files (#8162)
Fixes 'Reveal in Finder' opening files instead of showing them in the file explorer. Tested on Fedora KDE 39. Release Notes: - N/A
apricotbucket28 created
946f4a3
Wayland: avoid replacing text with empty string (#8103)
Fix an issue where the `ime_key` is sometimes an empty string, and pressing a keystroke replaces the selected text. E.g. select some text, press `Escape`: selected text is deleted.
Rom Grk created
af06063
Add checkbox to only show installed extensions (#8208)
This PR adds a checkbox to the extensions view to allow filtering to just extensions that are installed: <img width="1408" alt="Screenshot 2024-02-22 at 12 05 40 PM" src="https://github.com/zed-industries/zed/assets/1486634/b5e82941-53be-432e-bfe5-fec7fd0959c5"> Release Notes: - Added a checkbox to the extensions view to only show installed extensions.
Marshall Bowers created
5c4f3c0
Add option to either use system clipboard or vim clipboard (#7936)
Release Notes:
- vim: Added a setting to control default clipboard behaviour. `{"vim":
{"use_system_clipboard": "never"}}` disables writing to the clipboard.
`"on_yank"` writes to the system clipboard only on yank, and `"always"`
preserves the current behavior. ([#4390
](https://github.com/zed-industries/zed/issues/4390))
---------
Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
Mahdy M. Karam and Conrad Irwin created
c6826a6
talkers (#8158)
Release Notes: - Added an "Unmute" action for guests in calls. This lets them use the mic, but not edit projects.
Conrad Irwin created
fa2c92d
Editor: tweak label for "Go to implementation" tabs (#8201)
No release notes as this is a followup to #7890 Release Notes: - N/A
Piotr Osiewicz created
20b10fd
Add ./script/symbolicate (#8165)
This lets you get a readable backtrace from an .ips file of a crash report. Release Notes: - N/A
Conrad Irwin created
4f40d3c
Require prerelease eslint version (#8197)
Fixes https://github.com/zed-industries/zed/issues/7650 Release Notes: - Fixed eslint diagnostics not showing up due to old eslint version used
Kirill Bulatov created
b716035
Editor: support go to implementation (#7890)
Release Notes: - Added "Go to implementation" support in editor.
Leon Huston created
94bc216
worktree: Do not scan for .gitignore files beyond project root. (#8189)
This has been fixed and reported before (and got lost in gpui1->gpui2 transition); https://github.com/zed-industries/zed/issues/5749#issuecomment-1959217319 Release Notes: - Fixed .gitignore files beyond the first .git directory being respected by the worktree (zed-industries/zed#5749).
Piotr Osiewicz created
95d5ea7
Add "Extensions" item to user menu (#8183)
<img width="274" alt="Screenshot 2024-02-22 at 18 12 52" src="https://github.com/zed-industries/zed/assets/56961917/9057d1be-bedb-474a-a663-c53d62366f26"> Release Note: - Add "Extensions" menu item to the UI
Ngô Quốc Đạt created
aff858b
Added a `cmd-backspace` keybinding to delete files in the project panel. (#8163)
Fixes #7228 Release Notes: - Added a `cmd-backspace` keybinding to delete files in the project panel ([7228](https://github.com/zed-industries/zed/issues/7228))
Jason Lee created
583d85c
Do not add empty tasks to inventory (#8180)
I ran into this when trying out which keybindings work and accidentally added empty tasks. They get then added to the task inventory and displayed in the picker. Release Notes: - Fixed empty tasks being added to the list of tasks when using `task: spawn` --------- Co-authored-by: Kirill <kirill@zed.dev>
Thorsten Ball and Kirill created
36586b7
gpui: use a separate image in the image example and remove unnecessary examples (#8181)
Follow-up of https://github.com/zed-industries/zed/pull/8174#issuecomment-1959031659, Fixes image example and removes window-less "noop" example. <img width="1975" alt="Screenshot 2024-02-22 at 17 34 15" src="https://github.com/zed-industries/zed/assets/9134003/060d8484-63b6-415a-9f06-189542422457"> Release Notes: - N/A
Xinzhao Xu created
587788b
Update docs for inlay hints (#8178)
Follow up of #7943. Updates the docs for inlay hints as they are incorrect (for Svelte). Release Notes: - N/A
Robin Pfäffle created
6f36527
gpui: add example sections in Cargo.toml (#8174)
So that we can run the example simply by `cargo run --example hello_world` Release Notes: - N/A
Xinzhao Xu created
aa34e30
Fix removal of brackets inserted by auto-close when using snippets (#7265)
Release Notes: - Fixed auto-inserted brackets (or quotes) not being removed when they were inserted as part of a snippet. ([#4605](https://github.com/zed-industries/issues/4605)) --------- Co-authored-by: Thorsten Ball <mrnugget@gmail.com>
Hans and Thorsten Ball created
e5d971f
Add url preview tooltip to repository link in extensions view (#8179)
Because the `repository` url field is defined via the user's `extension.json` file, a user could insert a malicious link. I want to be able to preview repository urls before clicking the button. Release Notes: - Add url preview tooltip to repository link in extensions view.
Joseph T. Lyons created
38c3a93
Add action to open release notes locally (#8173)
Fixes: https://github.com/zed-industries/zed/issues/5019 zed.dev PR: https://github.com/zed-industries/zed.dev/pull/562 I've been wanting to be able to open release notes in Zed for awhile, but was blocked on having a rendered Markdown view. Now that that is mostly there, I think we can add this. I have not removed the `auto update: view release notes` action, since the Markdown render view doesn't support displaying media yet. I've opted to just add a new action: `auto update: view release notes locally`. I'd imagine that in the future, once the rendered view supports media, we could remove `view release notes` and `view release notes locally` could replace it. Clicking the toast that normally is presented on update (https://github.com/zed-industries/zed/issues/7597) would show the notes locally. The action works for stable and preview as expected; for dev and nightly, it just pulls the latest stable, for testing purposes. I changed the way the markdown rendered view works by allowing a tab description to be passed in. For files that have a name, it will use `Preview <name>`: <img width="1496" alt="SCR-20240222-byyz" src="https://github.com/zed-industries/zed/assets/19867440/a0ef34e5-bd6d-4b0c-a684-9b09d350aec4"> For untitled files, it defaults back to `Markdown preview`: <img width="1496" alt="SCR-20240222-byip" src="https://github.com/zed-industries/zed/assets/19867440/2ba3f336-6198-4dce-8867-cf0e45f2c646"> Release Notes: - Added a `zed: view release notes locally` action ([#5019](https://github.com/zed-industries/zed/issues/5019)). https://github.com/zed-industries/zed/assets/19867440/af324f9c-e7a4-4434-adff-7fe0f8ccc7ff
Joseph T. Lyons created
f930969
Allow removing workspaces from the "recent projects" modal (#7885)
<img width="492" alt="Screenshot 2024-02-19 at 10 59 01 AM" src="https://github.com/zed-industries/zed/assets/1823955/922117f6-81c1-409d-938a-131bcec0f24c"> <img width="675" alt="Screenshot 2024-02-19 at 10 59 27 AM" src="https://github.com/zed-industries/zed/assets/1823955/fefac68b-9a99-43bb-ac0c-724e7c622455"> Release Notes: - Added a way to remove entries from the recent projects modal ([7426](https://github.com/zed-industries/zed/issues/7426)).
Tung Hoang created
266bb62
Update linux deps to include opensuse (#8127)
Release Notes: - Added support for openSuse to Linux dependency installer script.
eyecreate created
6e897d9
buf-version (#8154)
Release Notes: - N/A
Conrad Irwin created
d90b052
Update dependencies to include openssl (#8136)
Openssl is required by the `openssl-sys` crate. Trying to build zed on a Fedora 39 workstation install. This is the error I got from the compiler. ``` error: failed to run custom build command for `openssl-sys v0.9.93` Caused by: process didn't exit successfully: `/home/dionysus/git/zed/target/debug/build/openssl-sys-9f784a7979d04ba8/build-script-main` (exit status: 101) --- stdout cargo:rerun-if-env-changed=X86_64_UNKNOWN_LINUX_GNU_OPENSSL_LIB_DIR X86_64_UNKNOWN_LINUX_GNU_OPENSSL_LIB_DIR unset cargo:rerun-if-env-changed=OPENSSL_LIB_DIR OPENSSL_LIB_DIR unset cargo:rerun-if-env-changed=X86_64_UNKNOWN_LINUX_GNU_OPENSSL_INCLUDE_DIR X86_64_UNKNOWN_LINUX_GNU_OPENSSL_INCLUDE_DIR unset cargo:rerun-if-env-changed=OPENSSL_INCLUDE_DIR OPENSSL_INCLUDE_DIR unset cargo:rerun-if-env-changed=X86_64_UNKNOWN_LINUX_GNU_OPENSSL_DIR X86_64_UNKNOWN_LINUX_GNU_OPENSSL_DIR unset cargo:rerun-if-env-changed=OPENSSL_DIR OPENSSL_DIR unset cargo:rerun-if-env-changed=OPENSSL_NO_PKG_CONFIG cargo:rerun-if-env-changed=PKG_CONFIG_x86_64-unknown-linux-gnu cargo:rerun-if-env-changed=PKG_CONFIG_x86_64_unknown_linux_gnu cargo:rerun-if-env-changed=HOST_PKG_CONFIG cargo:rerun-if-env-changed=PKG_CONFIG cargo:rerun-if-env-changed=OPENSSL_STATIC cargo:rerun-if-env-changed=OPENSSL_DYNAMIC cargo:rerun-if-env-changed=PKG_CONFIG_ALL_STATIC cargo:rerun-if-env-changed=PKG_CONFIG_ALL_DYNAMIC cargo:rerun-if-env-changed=PKG_CONFIG_PATH_x86_64-unknown-linux-gnu cargo:rerun-if-env-changed=PKG_CONFIG_PATH_x86_64_unknown_linux_gnu cargo:rerun-if-env-changed=HOST_PKG_CONFIG_PATH cargo:rerun-if-env-changed=PKG_CONFIG_PATH cargo:rerun-if-env-changed=PKG_CONFIG_LIBDIR_x86_64-unknown-linux-gnu cargo:rerun-if-env-changed=PKG_CONFIG_LIBDIR_x86_64_unknown_linux_gnu cargo:rerun-if-env-changed=HOST_PKG_CONFIG_LIBDIR cargo:rerun-if-env-changed=PKG_CONFIG_LIBDIR cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR_x86_64-unknown-linux-gnu cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR_x86_64_unknown_linux_gnu cargo:rerun-if-env-changed=HOST_PKG_CONFIG_SYSROOT_DIR cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR run pkg_config fail: `PKG_CONFIG_ALLOW_SYSTEM_CFLAGS="1" "pkg-config" "--libs" "--cflags" "openssl"` did not exit successfully: exit status: 1 error: could not find system library 'openssl' required by the 'openssl-sys' crate --- stderr Package openssl was not found in the pkg-config search path. Perhaps you should add the directory containing `openssl.pc' to the PKG_CONFIG_PATH environment variable Package 'openssl', required by 'virtual:world', not found --- stderr thread 'main' panicked at /home/dionysus/.cargo/registry/src/index.crates.io-6f17d22bba15001f/openssl-sys-0.9.93/build/find_normal.rs:190:5: Could not find directory of OpenSSL installation, and this `-sys` crate cannot proceed without this knowledge. If OpenSSL is installed and this crate had trouble finding it, you can set the `OPENSSL_DIR` environment variable for the compilation process. Make sure you also have the development packages of openssl installed. For example, `libssl-dev` on Ubuntu or `openssl-devel` on Fedora. If you're in a situation where you think the directory *should* be found automatically, please open a bug at https://github.com/sfackler/rust-openssl and include information about your system as well as this message. $HOST = x86_64-unknown-linux-gnu $TARGET = x86_64-unknown-linux-gnu openssl-sys = 0.9.93 note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace warning: build failed, waiting for other jobs to finish...``` I didn't explicitly test this patch on arch or debian. Release Notes: - Added/Fixed/Improved ... ([#8135](https://github.com/zed-industries/zed/issues/8135)).
Ferdinand Theil created
49a53e7
titlebar: show placeholder when no project is selected (#8021)
When no project is selected, the recent project dropdown is displaying an empty string, making the button basically impossible to click. This PR adds a placeholder value for that case. Here is what it looks like now:  Release Notes: - Added placeholder to titlebar when no project is selected
Bennet Bo Fenner created
3220986
Format docs with Prettier (#8134)
This PR formats the docs with Prettier. Release Notes: - N/A
Marshall Bowers created
9fcda5a
blade: quad render fast path (#8110)
Ported from #7231 Release Notes: - N/A
Dzmitry Malyshau created
5e43290
v0.125.x dev
Joseph T. Lyons created
f895d66
Make language server id more explicit in unhandled message logs (#8131)
Before:
```
[2024-02-21T18:55:55+02:00 INFO language::language_registry] starting language server "eslint", path: "/Users/someonetoignore/Downloads/eslint-configs-demo", id: 2
[2024-02-21T18:55:56+02:00 INFO lsp] 2 unhandled notification window/logMessage:
{
"type": 3,
"message": "ESLint server running in node v18.15.0"
}
[2024-02-21T18:55:56+02:00 INFO lsp] 2 unhandled notification eslint/confirmESLintExecution:
{
"scope": "local",
"uri": "file:///Users/someonetoignore/Downloads/eslint-configs-demo/index.js",
"libraryPath": "/Users/someonetoignore/Downloads/eslint-configs-demo/node_modules/eslint/lib/api.js"
}
```
After:
```
[2024-02-21T18:57:31+02:00 INFO language::language_registry] starting language server "eslint", path: "/Users/someonetoignore/Downloads/eslint-configs-demo", id: 2
[2024-02-21T18:57:32+02:00 INFO lsp] Language server with id 2 sent unhandled notification window/logMessage:
{
"type": 3,
"message": "ESLint server running in node v18.15.0"
}
[2024-02-21T18:57:32+02:00 INFO project::prettier_support] Fetching default prettier and plugins: [("prettier-plugin-tailwindcss", "0.5.11"), ("prettier", "3.2.5")]
[2024-02-21T18:57:32+02:00 INFO lsp] Language server with id 2 sent unhandled notification eslint/confirmESLintExecution:
{
"scope": "local",
"uri": "file:///Users/someonetoignore/Downloads/eslint-configs-demo/index.js",
"libraryPath": "/Users/someonetoignore/Downloads/eslint-configs-demo/node_modules/eslint/lib/api.js"
}
```
We have to pass a name there too, but the problem here is that the
unhandled message callback is created very early, along with the binary,
but the server name is received from the LSP initialize response, which
is a totally separate piece of code.
I plan to refactor that code next, but so far, improve the logs at least
slightly.
Release Notes:
- N/A
Kirill Bulatov created
7bf16f2
Fix a bug when extension loading is failed after it's folder is viewed by MacOS finder (#8111)
Fixes #8096 # Bug description I was experimenting with adding extensions and almost went crazy trying to make my demo extension work. It appeared that I was copying files with Finder that creates hidden `.DS_Store` files which interfered with Zed's loading logic. It assumes that `languages/` directory contains only directories and never files and so it crashes when meets `.DS_Store`. This makes any extension stop working after it has been viewed via Finder # Change Check if path is directory when loading extension languages (so it will skip .DS_Store files)
Ivan Buryak created
d3745a3
Document new theme options (#7899)
Added documentation for [#4970](https://github.com/zed-industries/zed/issues/4970), a feature added in the latest update. Will need to modify `Default Settings` to reflect the new default theme example. Release Notes: - N/A
Kyber created
0c939e5
Add task docs and default keybindings (#8123)
Also group task source modules together Release Notes: - N/A --------- Co-authored-by: Piotr Osiewicz <24362066+osiewicz@users.noreply.github.com>
Kirill Bulatov and Piotr Osiewicz created
b9151b9
Runnables: remove version field from the format (#8118)
This changes the format of runnables slightly (the top-level object is now a sequence, not a map). The 2nd commit pulls in aliases from .zshrc and co. Release Notes: - N/A
Piotr Osiewicz created
2679457
Rename runnables into tasks (#8119)
Release Notes: - N/A
Kirill Bulatov created
45e2c01
Copilot: handle "ok" status message when no user is set (#8116)
In #6954 a user has trouble using copilot. We haven't gotten to the
bottom of the problem, but one problem is that apparently sometimes (I'm
going to find out when) copilot sends an `"OK"` status message without a
username. This is from the user's logs:
2024-02-20T15:28:41-03:00 [ERROR] failed to deserialize response from
language server: missing field `user`. Response from language server:
"{\"status\":\"OK\"}"
The official `copilot.vim` plugin handles this as if the user is not
authenticated (!= authorized):
https://github.com/github/copilot.vim/blob/1a284014d2e0baf367706a94b2a9ee5fd56fd457/autoload/copilot.vim#L574-L579
So that's what I'm doing here too.
Release Notes:
- Fixed wrong handling of Copilot sign-in status in rare cases.
Thorsten Ball created
fd98238
Tiny change: use consistent casing in log message (#8115)
Release Notes: - N/A
Thorsten Ball created
d5aba27
Log when starting language servers (#8075)
This should help us debug more failures because we can now see what exactly was started. Release Notes: - N/A Co-authored-by: Nathan <nathan@zed.dev> Co-authored-by: Max <max@zed.dev>
Thorsten Ball , Nathan , and Max created
92b2e56
Fix crash when closing last zed window (#8102)
Fixes: #8100 Release Notes: - N/A
Joseph T. Lyons created
c58d72e
Improve automatic indentation in Gleam code files (#8098)
Release Notes: - Improved automatic indentation in Gleam code files ([#7295](https://github.com/zed-industries/zed/issues/7295)).
Joseph T. Lyons created
58a5a1e
Automatically indent the cursor when adding a newline after a `{` in Gleam code files (#8097)
Fixes: https://github.com/zed-industries/zed/issues/7295
Release Notes:
- Fixed a bug where adding a newline after a `{` would not automatically
indent the cursor in Gleam code files
([#7295](https://github.com/zed-industries/zed/issues/7295)).
Joseph T. Lyons created