47329f4
Add `search.match_background` colors to bundled themes (#7385)
Click to expand commit body
This PR populates the `search.match_background` colors in the bundled
themes, using the values from the Zed1 themes.
Release Notes:
- Added theme-specific `search.match_background` colors to built-in
themes.
Marshall Bowers
created
223f45c
Remove default keybinds for navigating between docks/editors (#7381)
Click to expand commit body
Turns out that these keybindings are active in Vim *and* in non-Vim mode
and they shadow `Ctrl-w` in terminals.
We should fix `Ctrl-w` being shadowed, but until then let's remove the
default keybindings.
Release Notes:
- N/A
Co-authored-by: Kirill <kirill@zed.dev>
Co-authored-by: Conrad <Conrad@zed.dev>
Thorsten Ball
,
Kirill
, and
Conrad
created
d742b3b
Mark the window as dirty when first opening it (#7384)
Click to expand commit body
Otherwise we won't display anything if the window never notifies.
Release Notes:
- N/A
Co-authored-by: Nathan <nathan@zed.dev>
Antonio Scandurra
and
Nathan
created
3bf412f
Use window's screen rather than window itself to start display link
Click to expand commit body
Co-Authored-By: Antonio Scandurra <antonio@zed.dev>
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
Julia
,
Antonio Scandurra
, and
Nathan Sobo
created
8030e8c
Improve the contrast of the default `search_match_background` colors (#7382)
Click to expand commit body
This PR improves the contrast of the default `search_match_background`
colors.
Release Notes:
- Improved the contrast of the default `search.match_background` colors.
Marshall Bowers
created
45429a4
Fix inlay hints using stale editor data (#7376)
Click to expand commit body
Refactor the hint query code to pass along an actual `cx` instead of its
potentially stale, cloned version.
Release Notes:
- Fixed occasional duplicate hints inserted and offset-related panics
when concurrently editing the buffer and querying multiple its ranges
for hints
That way crates that use Picker::new do not have to codegen constructor of Editor; tl;dr, 10% of LLVM shaved off of crates like vcs_menu or theme_selector in release mode.
Piotr Osiewicz
created
87d3f59
Do not show completion documentation if disabled (#7372)
Click to expand commit body
This fixes #7348 by not rendering completions if they are disabled in
the settings. Previously we only checked that setting when starting or
not starting background threads to fetch documentation. But in case we
already have documentation, this stops it from being rendered.
Release Notes:
- Fixed documentation in completions showing up even when disabled via
`show_completion_documentation`
([#7348](https://github.com/zed-industries/zed/issues/7348))
Thorsten Ball
created
81bfa5f
fix: create the settings and keymaps to unblock file watching
Amin Yahyaabadi
created
fde159f
build: add Blade font-config sys deps on Linux
Amin Yahyaabadi
created
521b2b1
linux: create a hidden window inside the platform
Click to expand commit body
It allows us to receive messages from the dispatcher,
which breaks us out of waiting and lets us execute
main thread runnables as a part of the main loop.
Dzmitry Malyshau
created
282cc71
linux: refactor LinuxPlatform to avoid recursive locking from the window callbacks
Dzmitry Malyshau
created
8d339ed
linux: HACK disable watcher and crash uploader temporarily
1c410c1
linux: only tick the main thread tasks and one at a time in the event loop
Dzmitry Malyshau
created
f92be4b
linux: temporarily disable purescript tree sitter
Click to expand commit body
Link error:
= note: /nix/store/idiaraknw071d20nlqp49s18gbvw4wa0-binutils-2.40/bin/ld: /x/Code/zed/target/x86_64-unknown-linux-gnu/debug/deps/libtree_sitter_haskell-7323f782ad886c6d.rlib(scanner.o): in function `state_new':
/home/kvark/.cargo/git/checkouts/tree-sitter-haskell-74c278e7a2ef8d7d/cf98de2/src/scanner.c:218: multiple definition of `state_new'; /x/Code/zed/target/x86_64-unknown-linux-gnu/debug/deps/libtree_sitter_purescript-b0a95fb604a5817c.rlib(scanner.o):/home/kvark/.cargo/git/checkouts/tree-sitter-purescript-88dd3ec656c48026/a37140f/src/scanner.c:218: first defined here
Dzmitry Malyshau
created
b13b572
linux: disable mac-os specific build commands
Hi folks! @absynce and I paired a bit to improve the
`elm-language-server` configuration. We have realised that sometimes
`elm-language-server` settings were being reset to default. We had been
configuring `elm-language-server` like this:
```json
"lsp": {
"elm-language-server": {
"initialization_options": {
"disableElmLSDiagnostics": true,
"onlyUpdateDiagnosticsOnSave": true,
"elmReviewDiagnostics": "warning"
}
}
}
```
And then we noticed that the following communication happened:
```
// Send:
{"jsonrpc":"2.0","method":"workspace/didChangeConfiguration","params":{"settings":{}}}
// Receive:
{"jsonrpc":"2.0","id":5,"method":"workspace/configuration","params":{"items":[{"section":"elmLS"}]}}
// Send:
{"jsonrpc":"2.0","id":5,"result":[null],"error":null}
```
In `elm-language-server` the settings from `didChangeConfiguration`
[replace the initial
settings](https://github.com/elm-tooling/elm-language-server/blob/edd68133883f3902f8940a6e5e2834a9cd627dc1/src/common/providers/diagnostics/diagnosticsProvider.ts#L188).
Setting the value to `{}` effectively resets the configuration options
to defaults.
In Zed, `initialization_options` and `workspace_configuration` are two
different things, but in `elm-language-server` they are coupled.
Additionally, `elm-language-server` is requesting workspace
configuration for the `elmLS` section that doesn't exist.
This PR:
1. Fixes settings reset on `didChangeConfiguration` by populating
`workspace_configuration` from `initialization_options`
2. Makes workspace configuration requests work by inserting an extra
copy of the settings under the `elmLS` key in `workspace_configuration`
— this is a bit ugly, but we're not sure how to make both kinds of
configuration messages work in the current setup.
This is how communication looks like after the proposed changes:
```
// Send:
{
"jsonrpc": "2.0",
"method": "workspace/didChangeConfiguration",
"params": {
"settings": {
"disableElmLSDiagnostics": true,
"onlyUpdateDiagnosticsOnSave": true,
"elmReviewDiagnostics": "warning",
"elmLS": {
"disableElmLSDiagnostics": true,
"onlyUpdateDiagnosticsOnSave": true,
"elmReviewDiagnostics": "warning"
}
}
}
}
// Receive:
{
"jsonrpc": "2.0",
"id": 4,
"method": "workspace/configuration",
"params": {
"items": [
{
"section": "elmLS"
}
]
}
}
// Send:
{
"jsonrpc": "2.0",
"id": 4,
"result": [
{
"disableElmLSDiagnostics": true,
"onlyUpdateDiagnosticsOnSave": true,
"elmReviewDiagnostics": "warning"
}
],
"error": null
}
```
Things we have considered:
1. Extracting the `elm-language-server` settings into a separate
section: we haven't found this being widely used in Zed, seems that all
language server configuration should fall under the top level `lsp`
section
2. Changing the way `elm-language-server` configuration works:
`elm-language-server` has got integrations with multiple editors,
changing the configuration behaviour would mean updating all the
existing integrations. Plus we are not exactly sure if it's doing
anything wrong.
Release Notes:
- Improved elm-language-server configuration options
Co-authored-by: Jared M. Smith <absynce@gmail.com>
This re-introduces the changes of #7305 but this time we create a
display link using the `NSScreen` associated with the window. We're
hoping we'll get these frame requests more reliably, and this seems
supported by the fact that awakening my laptop restores the frame
requests.
Release Notes:
- See #7305.
Co-authored-by: Nathan <nathan@zed.dev>
Antonio Scandurra
and
Nathan
created
59642bf
blade: point to master, remove the override
Adds settings for hiding breadcrumbs and quick action bar from
the editor toolbar. If both elements are hidden, the toolbar disappears
completely.
Example:
```json
"toolbar": {
"breadcrumbs": true,
"quick_actions": false
}
```
- It intentionally doesn't hide breadcrumbs in other views (for
instance, in the search result window) because their usage there differ
from the main editor.
- The editor controls how breadcrumbs are displayed in the toolbar, so
implementation differs a bit for breadcrumbs and quick actions bar.
Release Notes:
- Added support for configuring the editor toolbar ([4756](https://github.com/zed-industries/zed/issues/4756))
Andrew Lygin
created
55185c1
Support documentation as a resolvable property (#7306)
Click to expand commit body
Closes #7288
<img width="1800" alt="Screenshot 2024-02-03 at 01 56 14"
src="https://github.com/zed-industries/zed/assets/69181766/ed97ef30-c958-45c8-812c-a59bbbd02b19">
Release Notes:
- Improved LSP `completionItem/resolve` request by supporting `documentation` as a resolvable property
This pull request decreases the size of each instance buffer and shares
instance buffers across windows.
Release Notes:
- Improved GPU memory usage.
---------
Co-authored-by: Nathan Sobo <nathan@zed.dev>
Antonio Scandurra
and
Nathan Sobo
created
d08d417
Modify the default tab size of OCaml & OCaml Interface to 2 (#7315)
Click to expand commit body
Thanks @pseudomata for the heads up.
Release Notes:
- N/A
Rashid Almheiri
created
2e32f58
linux: various fixes across the crates to make it compile
- Add a setting for `vertical_scroll_offset`
- Fix H/M/L in vim with scrolloff
Release Notes:
- Added a settings for `vertical_scroll_offset`
- vim: Fix H/M/L with various values of vertical_scroll_offset
---------
Co-authored-by: Vbhavsar <vbhavsar@gmail.com>
Co-authored-by: fdionisi <code@fdionisi.me>
Added explanations for binding `null` to a keyboard binding.
Release Notes:
- N/A
Tom Planche
created
430f5d5
vim: Convert from visual mode to normal mode with a single click (#6985)
Click to expand commit body
Release Notes:
- Fixed #4319
Here is a demo after the fix:
https://github.com/zed-industries/zed/assets/22256154/a690f146-73c9-4b0e-8527-e4faf690cca2
Actually I'm not really sure should I submit my idea to discussion,
since it's not a large change, and it's something like a bug fix. So I
directly create a pr here.
---------
Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
WindSoilder
and
Conrad Irwin
created
15edc46
Maintain smooth frame rates when ProMotion and direct mode are enabled (#7305)
Click to expand commit body
This is achieved by starting a `CADisplayLink` that will invoke the
`on_request_frame` callback at the refresh interval of the display.
We only actually draw frames when the window was dirty, or for 2 extra
seconds after the last input event to ensure ProMotion doesn't downclock
the refresh rate when the user is actively interacting with the window.
Release Notes:
- Improved performance when using a ProMotion display with fast key
repeat rates.
---------
Co-authored-by: Nathan Sobo <nathan@zed.dev>
Antonio Scandurra
and
Nathan Sobo
created
f2ba969
Dismiss update notification when viewing releases notes (#7297)
Click to expand commit body
After updating zed, a notification is shown in the bottom right with the
new version number, a link to the release notes, and an 'x' to dismiss
the dialog.
Before this PR, clicking the link to the release notes would not dismiss
the modal. So, a user returning to the IDE after viewing the notes in
the browser would still see the notification. With this change, clicking
'View release notes' also dismisses the notification.
Co-authored-by: tomholford <tomholford@users.noreply.github.com>
Release Notes:
- Made update notification to dismiss when viewing releases notes
tomholford
created
2d58226
Avoid logging errors about missing themes dir (#7290)