ea26a01
Do not render a signature popover when its location is before the visible range (#14307)
Click to expand commit body
Follow-up of https://github.com/zed-industries/zed/pull/12909
Release Notes:
- N/A
Kirill Bulatov
created
8abc000
Fix nushell local env detection by using direnv export (#13902)
Click to expand commit body
I don't intend fully on getting this merged, this is just an experiment
on using `direnv` directly without relying on shell-specific behaviours.
It works though, so this finally closes #8633
Release Notes:
- Fixed nushell not picking up `direnv` environments by directly
interfacing with it using `direnv export`
---------
Co-authored-by: Thorsten Ball <mrnugget@gmail.com>
Stanislav Alekseev
and
Thorsten Ball
created
9f5309c
Remove non-default wrap setting for markdown (#14304)
Click to expand commit body
With this setting, markdown files are one of the few that get a line
wrap indicator, a vertical line on the right, which confuses people.
Release Notes:
- N/A
Pulls in https://github.com/rust-x-bindings/xkbcommon-rs/pull/54 to
avoid
panicking.
Release Notes:
- linux: Fix a panic in keyboard handling
Conrad Irwin
created
e402d7e
vim: Add support for vim::PreviousLineStart motion (#14193)
Click to expand commit body
Release Notes:
- vim: Added `-`/`+` to go to beginning of line above/below
([#14183](https://github.com/zed-industries/zed/issues/14183)).
- vim: (Breaking) Removed non-standard builtin binding from `-` to open
the project panel. You can re-add it to your keymap file with:
`{"context":"VimControl", "bindings":{ "-":
"pane::RevealInProjectPanel"}}`
Optionally, include screenshots / media showcasing your addition that
can be included in the release notes.
https://github.com/zed-industries/zed/assets/32429059/0e9e9348-265e-4a81-a45a-4739034dc5d9
---------
Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
sherwyn
and
Conrad Irwin
created
12dfd4a
Don't panic on unknown cursor style on x11 (#14264)
Click to expand commit body
Release Notes:
- linux: Fixed a panic if we request a cursor style your system doesn't
support
This change pulls in https://github.com/kvark/blade/pull/135 and updates
the simplelog dependency for compatibility with that.
Release Notes:
- linux: Show link to troubleshooting docs when we can't open a window
Conrad Irwin
created
ac528dd
Fix panic when evaluating a code snippet containing multi-byte characters (#14269)
Max Brunsfeld
,
Kyle Kelley
, and
Kyle Kelley
created
906688f
assistant: Show a warning indicator when the user needs to run `cargo doc` (#14262)
Click to expand commit body
This PR updates the `/docs` slash command to show a warning to the user
if a crate's docs cannot be indexed due to the target directory not
containing docs:
<img width="782" alt="Screenshot 2024-07-11 at 5 11 46 PM"
src="https://github.com/user-attachments/assets/2f54f7a1-97f4-4d2d-b51f-57ba31e50a2f">
Release Notes:
- N/A
Add support for aligning items to the baseline.
Release Notes:
- N/A
---------
Co-authored-by: Danilo Leal <67129314+danilo-leal@users.noreply.github.com>
Nate Butler
and
Danilo Leal
created
cd4847c
assistant: Use a more generic icon for the `/docs` command (#14247)
Click to expand commit body
This PR updates the `/docs` slash command to use a more generic icon to
convey docs.
It was still using the Rust icon, a relic of when it was still
`/rustdoc`.
Release Notes:
- N/A
Marshall Bowers
created
4c63e8b
docs: Fix Linux aarch64 tarball links (#14245)
Click to expand commit body
Fixed tarball documentation links for linux aarch64 (they were pointing
at x86_64 tarballs)
Release Notes:
- N/A
Brad Pitcher
created
d9d8c1f
assistant: Handle `http://` links in `/fetch` (#14243)
Click to expand commit body
Previously http://google.com would get modified to
https://http://google.com which doesn't work. I assume http links should
be supported.
Release Notes:
- N/A
TC
created
b0dbc80
vim: (BREAKING) clean up keymap contexts (#14233)
Click to expand commit body
Release Notes:
- vim: (BREAKING) Improved vim keymap contexts.
Previously `vim_mode == normal` was true even when operators were
pending, which led to bugs like #13789 and a requirement for custom
keymaps to exclude various conditions like (`!VimObject` and
`!VimWaiting`) to avoid bugs.
Now `vim_mode` will be set to `operator` or `waiting` in these cases as
described in [the docs](https://zed.dev/docs/vim#keybindings). For most
custom keymaps this change will be a no-op or an improvement, but if you
were deliberately relying on the old behaviour (if you were relying on
`VimObject` or `VimWaiting` becoming true) you will need to update your
keymap.
---------
Co-authored-by: Thorsten <thorsten@zed.dev>
3541a11
Disrupt blink for immediate feedback on cursor shape changes (#14177)
Click to expand commit body
# Issue
When a user does something that changes the cursor shape, such as when
switching between vim modes, there may be an up to 500ms (cursor blink
interval) delay until the user receives feedback for their action. This
happens when the shape change happens during the invisible phase of a
blink - the user will not see the cursor shape change until the next
phase, which could be 500ms away.
# Solution
Cursor shape changes should disrupt blinking by forcing the cursor to be
shown, this results in immediate feedback for shape changes. This is in
line with the behavior of other editors I've tried.
Release Notes:
- Improved visual feedback when changing cursor shape
Omer Tuchfeld
created
e51d469
Invalidate anchors when they get deleted (#14116)
Click to expand commit body
Allows deleting the outputs directly within the editor. This also fixes
the overlap logic to make sure that the ends and the starts are
compared.
https://github.com/zed-industries/zed/assets/836375/84f5f582-95f3-4c6a-a3c9-54da6009e34d
Release Notes:
- N/A
---------
Co-authored-by: Antonio <antonio@zed.dev>
Kyle Kelley
and
Antonio
created
018a2a2
vim: Fix `c` when range ends in a multibyte character (#14139)
d49727f
terminal: Set `TERM_PROGRAM` and `TERM_PROGRAM_VERSION` environment variables in integrated terminal (#14213)
Click to expand commit body

These two environment variables are essential when people need to detect
terminal type and do something. Many popular terminals set them.
fixes https://github.com/zed-industries/zed/issues/4571
Release Notes:
- Set `TERM_PROGRAM` and `TERM_PROGRAM_VERSION` environment variables in
the integrated terminal
([#4571](https://github.com/zed-industries/zed/issues/4571)).
`buffer_line_height` has been requested in #5590 and implemented in
#2718, however the documentation was still lacking.
Release Notes:
- N/A
oliverpool
created
fd03454
Fix reverse selections always being cleared (#14150)
Click to expand commit body
When I implemented #13701, I kinda messed up with the reversed
selections, thinking that their anchors are flipped, so I flipped them
again. This caused the reverse selections to always be cleared
Release Notes:
- Fix reverse selections always being cleared, even if the right click
was performed inside
Stanislav Alekseev
created
6eeec9b
windows: Create window with correct size (#14218)
Click to expand commit body
The `Bounds<DevicePixels>` we use to create a window represents the size
of the drawable area.
### Before:
https://github.com/zed-industries/zed/assets/14981363/52f0d196-b113-4b64-a0d1-407972674990
### After
https://github.com/zed-industries/zed/assets/14981363/83298b6c-5e5f-4a47-b051-35b4a02404ac
Release Notes:
- N/A
- Mostly just tweaking some design (colors & spacing) stuff
- Some small accessibility things—e.g., underline decoration for links
and one h1 only per page
- Most of the other captured changes are really just Prettier indenting
stuff
Release Notes:
- N/A
Danilo Leal
created
37fc4ce
Allow Zed Nightly to use v0.0.7 of the Zed extension API (#14209)
Click to expand commit body
This PR updates the Wasm API compatibility check to allow Nightly to
load extensions using v0.0.7 of the Zed extension API.
Release Notes:
- N/A
Marshall Bowers
created
99f5625
docs: Tiny formatting tweaks on the Linux page (#14208)
Click to expand commit body
Release Notes:
- N/A
Danilo Leal
created
f61abe0
Pass `hold: true` to Alacritty for tasks (#13898)
Click to expand commit body
It seems `hold: false` causes alacritty to close the channel earlier,
without waiting for the output from the child command to go to Zed.
Fixes [#13683](https://github.com/zed-industries/zed/issues/13683)
Release Notes:
- Fixed loosing output of a spawned task
([#13683](https://github.com/zed-industries/zed/issues/13683)).
[Screencast from 2024-07-06
18-28-56.webm](https://github.com/zed-industries/zed/assets/39293/4ebef8b5-7c0d-46be-9341-4ac0d809458d)
Aleksei Gusev
created
45c54d1
assistant: Show a message when no docs providers are available (#14207)
Click to expand commit body
This PR updates the `/docs` slash command to show a message to more
clearly indicate when there are no available docs providers.
<img width="379" alt="Screenshot 2024-07-11 at 10 31 53 AM"
src="https://github.com/zed-industries/zed/assets/1486634/d079f87c-4933-4da9-ad82-34dbfe6a284c">
Release Notes:
- N/A
Marshall Bowers
created
2727f55
Add support for projects managed with Yarn (#13644)
Click to expand commit body
TODO:
- [ ] File a PR with Yarn to add Zed to the list of supported IDEs.
Fixes: https://github.com/zed-industries/zed/issues/10107
Fixes: https://github.com/zed-industries/zed/issues/13706
Release Notes:
- Improved experience in projects using Yarn. Run `yarn dlx
@yarnpkg/sdks base` in the root of your project in order to elevate your
experience.
---------
Co-authored-by: Saurabh <79586784+m4saurabh@users.noreply.github.com>
Piotr Osiewicz
and
Saurabh
created
291d64c
lsp: Implement `textDocument/signatureHelp` for `ProjectClientState::Local` environment (#12909)
Click to expand commit body
Closes https://github.com/zed-industries/zed/issues/5155
Closes https://github.com/zed-industries/zed/issues/4879
# Purpose
There was no way to know what to put in function signatures or struct
fields other than hovering at the moment. Therefore, it was necessary to
implement LSP's `textDocument/signatureHelp`.
I tried my best to match the surrounding coding style, but since this is
my first contribution, I believe there are various aspects that may be
lacking. I would greatly appreciate your code review.
# Description
When the window is displayed, the current argument or field at the
cursor's position is automatically bolded. If the cursor moves and there
is nothing to display, the window closes automatically.
To minimize changes and reduce the burden of review and debugging, the
SignatureHelp feature is implemented only when `is_local` is `true`.
Some `unimplemented!()` macros are embedded, but rest assured that they
are not called in this implementation.
# How to try it out
Press `cmd + i` (MacOS), `ctrl + i` (Linux).
# Enable auto signature help (2 ways)
### Add `"auto_signature_help": true` to `settings.json`
<img width="426" alt="image"
src="https://github.com/zed-industries/zed/assets/55743826/61310c39-47f9-4586-94b0-ae519dc3b37c">
Or
### Press `Auto Signature Help`. (Default `false`)
<img width="226" alt="image"
src="https://github.com/zed-industries/zed/assets/55743826/34155215-1eb5-4621-b09b-55df2f1ab6a8">
# Disable to show signature help after completion
### Add `"show_signature_help_after_completion": false` to
`settings.json`
<img width="438" alt="image"
src="https://github.com/zed-industries/zed/assets/55743826/5e5bacac-62e0-4921-9243-17e1e72d5eb6">
# Movie
https://github.com/zed-industries/zed/assets/55743826/77c12d51-b0a5-415d-8901-f93ef92098e7
# Screen Shot
<img width="628" alt="image"
src="https://github.com/zed-industries/zed/assets/55743826/3ebcf4b6-2b94-4dea-97f9-ac4f33e0291e">
<img width="637" alt="image"
src="https://github.com/zed-industries/zed/assets/55743826/6dc3eb4d-beee-460b-8dbe-d6eec6379b76">
Release Notes:
- Show function signature popovers
([4879](https://github.com/zed-industries/zed/issues/4879),
[5155](https://github.com/zed-industries/zed/issues/5155))
---------
Co-authored-by: Kirill Bulatov <kirill@zed.dev>
bdba8b2
dart: Add Flutter runnables and tasks (#13686)
Click to expand commit body
Release Notes:
- Added runnable tasks for Flutter
Abdullah Alsigar
created
2290055
Project panel: Prevent scrollbar size from scaling with rem size (#14167)
Click to expand commit body
The underlying container had width of 0.75 rem, which was equal to 12px
at default ui_font_size. However, with larger values of ui_font_size the
scrollbar would drift towards the center of a project panel, as the
scrollbar itself has a fixed width of 12 pixels. This commit moves
towards using a fixed width of 12px for scrollbar container. The
alternative was to make the scrollbar scale with ui_font_size, but that
isn't what the Editor scrollbar does, so I decided against it.
Release Notes:
- Fixed position of scrollbar in project panel with non-default
`ui_font_size` values.
Piotr Osiewicz
created
6db0b6c
terminal: Prevent extra character on handled meta keystrokes (#14151)
Click to expand commit body
On macOS, when `terminal.option_as_meta` is enabled, pressing key
combinations like `option+b` and `option+f` would lead to both an escape
sequence being sent to the terminal (the expected behavior with
`option_as_meta == true`) AND a character being inserted (the behavior
when `option_as_meta == false`). Prevent the latter by stopping
propagation of the key-down event if it corresponds to a terminal escape
sequence and `option_as_meta` is enabled.
Fixes #7728
Release Notes:
- Fixed insertion of extra characters for some keystrokes if
`terminal.option_as_meta` is enabled
([#7728](https://github.com/zed-industries/zed/issues/7728)).
Denis Washington
created
ba11e9a
Fix SystemUIFont typo in default settings (#14158)
This let's GitHub and the Git cli optionally "skip" certain revs when
generating `git blame`.
Co-authored-by: Gilles Peiffer <gilles.peiffer.yt@gmail.com>
Peter Tripp
and
Gilles Peiffer
created
1b08f14
Document how to enable `vim_mode` in /docs/vim (#14138)
Click to expand commit body
## Documents:
- **Added** instructions on how to enable "Vim mode" to the
["Settings"](https://zed.dev/docs/vim#settings) of
[/docs/vim](https://zed.dev/docs/vim).
While [/docs/configuring-zed](https://zed.dev/docs/configuring-zed)
_does_ mention the `vim_mode` setting,
[/docs/vim](https://zed.dev/docs/vim) does not.
This can be confusing for users like me who went straight to the vim
doc, and could not figure out how to enable vim.
## Release Notes:
- N/A
Chris Hayes
created
36d3b16
Add toggle hunk diff and expand all hunk diffs key bindings (#14130)
Click to expand commit body
Noticed these were missing when I was reading through the docs.
Release Notes:
- Add toggle hunk diff and expand all hunk diffs key bindings
Release Notes:
- Fixed #5236
- Added the ability to select and copy text from information popovers
https://github.com/zed-industries/zed/assets/50590465/d5c86623-342b-474b-913e-d07cc3f76de4
---------
Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
Co-authored-by: Antonio <ascii@zed.dev>
Ephram
,
Conrad Irwin
, and
Antonio
created
f1281c1
Revert Windows normal window title style to `WS_EX_APPWINDOW` (#14132)
Click to expand commit body
Release Notes:
- N/A
@ConradIrwin we must revert this little change.
https://github.com/zed-industries/zed/pull/14063#issuecomment-2221867379
For: #13417
This is a simple version, I'm not sure if we just need to limit this
feature to vim mode, or maybe in normal editor mode, which involves
other logic like the location of the setting
Release Notes:
- N/A
---------
Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>