This reverts commit d034d73af9d335f2a97dbc784999d2b94af58a03.
Release Notes:
- N/A
Conrad Irwin
created
9de6d31
feature_flags: Add support for flags that aren't auto-enabled for staff (#15093)
Click to expand commit body
This PR adds support for defining feature flags that aren't auto-enabled
for Zed staff.
This will be useful in situations where we want to land a feature behind
a feature flag, but only want to ship it to certain staff members (e.g.,
the members currently working on it) initially.
Release Notes:
- N/A
Marshall Bowers
created
d540c95
settings_ui: Add prototype for settings controls (#15090)
Click to expand commit body
This PR adds a prototype for controlling settings via the settings UI.
Still staff-shipped.
Release Notes:
- N/A
Improved SublimeText keymap (Mac & Linux).
- Add bind for MoveLineUp/Down (`ctrl-shift-up` on linux and `cmd-ctrl-up` on MacOS).
Co-authored-by: unixtensor <brandon@rhpidfyre.io>
23c5fc1
chore: Use explicit if let instead of for .. in option (#15086)
Click to expand commit body
Fixes one clippy violation from 1.80 (that's due for release tomorrow).
Release Notes:
- N/A
Piotr Osiewicz
created
c43eafb
Update the test code to newer realities (#15084)
Click to expand commit body
Follow-up of https://github.com/zed-industries/zed/pull/14886
We do not require the branch to be up-to-date with `main` before
merging, and in 4 days some related test code got reworked so that there
were no conflicts and it slipped.
Release Notes:
- N/A
Kirill Bulatov
created
62a890f
Increase size of icon buttons within the inline editor (#15051)
Click to expand commit body
This PR increases the size of the the icon buttons within the inline
editors, both within the buffer and on the terminal. I also added
properties to make sure they always render as a square, as well as
tweaking the stop icon SVG, adding an alternative sparkle icon that fit
the same grid as the close (14x14) icon, and adding a bit more right
padding on the buffer's case so it doesn't collide with the scrollbar.
End result is that they have a bit of an easier target space area and
normalized sizes.
---
Release Notes:
- N/A
Danilo Leal
created
5ad3c6b
inline_assistant: Respect tabs when selection first row is not indented (#14886)
Click to expand commit body
When using the inline assistant with a language such as Go that uses
tabs, if the user selects a block of text that is correctly formatted
and where the first line has no indentation, the `suggested_line_indent`
variable ends up with `IndentSize { len: 0, kind: Space }`. That's
because `suggested_line_indent` current relies on
`BufferSnapshot::suggested_indents` suggestion for the first line on the
selection, but since it is already correctly indented, there are no
suggestions and `MultiBufferSnapshot::indent_size_for_line` is used
instead.
https://github.com/zed-industries/zed/blob/2d96bba61fd9e60951ecfcf697707a974475c1b2/crates/assistant/src/inline_assistant.rs#L2124-L2128
In this patch, we also take a look at the rest of the selection and
detect tabs. If one is encountered, we assume that tabs should always be
used. I suppose this isn't perfect, especially if the original file had
a mix of spaces and tabs, however it seems better than the status quo.
I considered using `BufferSnapshot::language_indent_size_at`, but I
imagine tabs should be preserved even when a specific language isn't
being used.
See screenshot below of the original prompt with this patch.
Tests:
* New unit test
* I've also manually tested with a few other cases: selection where all
lines are indented and file that only use spaces.
Release Notes:
- Fixed 'inline_assistant: tabs are overwritten with space characters
when first line in selection has no indentation'
([#14885](https://github.com/zed-industries/zed/issues/14885)).
<img width="942" alt="image"
src="https://github.com/user-attachments/assets/f2c5d7e9-e8bc-400b-bd6f-09e4a89d22c1">
Improved Project Panel Settings Documentation: The documentation for the
project panel settings has been enhanced for clarity and
comprehensiveness, providing better guidance and examples for users.
Default values have been aligned with project_panel_settings.rs.
Release Notes:
- N/A
schdaniel20
created
babf892
Do not show signature help when editor is not focused (#15080)
Click to expand commit body
Show the help again, if it was not dismissed and the editor regains
focus.
Release Notes:
- N/A
Kirill Bulatov
created
faf5ab7
Fix a typo in the remote development docs (#15078)
912b396
Adjust model selector popover design (#15056)
Click to expand commit body
This PR mostly refines the model selector popover design by formatting
the models names' and adjusting spacing/alignment in the list-related
items. The list component changes could've been made in a separate PR
but it was also very practical to do it here as I was already
in-context. Either way, I'm happy to separate if that's better!
One thing I couldn't necessarily figure out, though, is why the order
changed (e.g., Anthropic at last ). I wonder if that was because of the
separator logic somehow? I'd love guidance here—new to Rust!
| Before | After |
|--------|--------|
| <img width="228" alt="Screenshot 2024-07-23 at 21 02 33"
src="https://github.com/user-attachments/assets/3372c6c9-08dc-4d71-9265-26f015e2dbc2">
| <img width="228" alt="Screenshot 2024-07-23 at 21 01 45"
src="https://github.com/user-attachments/assets/624cc7db-a3d9-48e3-99d7-c29829501130">
|
---
Release Notes:
- N/A
---------
Co-authored-by: Marshall Bowers <elliott.codes@gmail.com>
Co-authored-by: Bennet Bo Fenner <bennet@zed.dev>
Co-authored-by: Antonio <antonio@zed.dev>
Co-authored-by: Antonio Scandurra <me@as-cii.com>
Danilo Leal
,
Marshall Bowers
,
Bennet Bo Fenner
,
Antonio
, and
Antonio Scandurra
created
87d9303
Support Jupytext-style line comments for REPL evaluation ranges (#15073)
Click to expand commit body
This adds support for detecting line comments in the
[Jupytext](https://jupytext.readthedocs.io/) format. When line comments
such as `# %%` is present, invoking `repl: run` will evaluate the code
between these line comments as a unit.
/cc @rgbkrk
```py
# %%
# This is my first block
print(1)
print(2)
# %%
# This is my second block
print(3)
```
Release Notes:
- N/A
---------
Co-authored-by: Antonio Scandurra <me@as-cii.com>
Co-authored-by: Antonio <antonio@zed.dev>
Co-authored-by: Thorsten <thorsten@zed.dev>
Co-authored-by: Thorsten Ball <mrnugget@gmail.com>
Nathan Sobo
,
Antonio Scandurra
,
Antonio
,
Thorsten
, and
Thorsten Ball
created
af4b980
assistant: Fix issues when configuring different providers (#15072)
Click to expand commit body
Release Notes:
- N/A
---------
Co-authored-by: Antonio Scandurra <me@as-cii.com>
Bennet Bo Fenner
and
Antonio Scandurra
created
ba6c36f
repl: Fix repl-over-selection not being Vim-line-wise aware (#15068)
Click to expand commit body
Release Notes:
- N/A
Thorsten Ball
created
7644605
docs: Fix default binding for REPL (#15065)
Release Notes:
- linux: Fixed typing shortcuts like ctrl-/ on some systems
Conrad Irwin
created
c84da37
rpc: Add support for OAEP-based encryption format (#15058)
Click to expand commit body
This PR adds support for a new encryption format for exchanging access
tokens during the authentication flow.
The new format uses Optimal Asymmetric Encryption Padding (OAEP) instead
of PKCS#1 v1.5, which is known to be vulnerable to side-channel attacks.
**Note: We are not yet encrypting access tokens using the new format, as
this is a breaking change between the client and the server. This PR
only adds support for it, and makes it so the client and server can
decrypt either format moving forward.**
This required bumping the RSA key size from 1024 bits to 2048 bits. This
is necessary to be able to encode the access token into the ciphertext
when using OAEP.
This also follows OWASP recommendations:
> If ECC is not available and RSA must be used, then ensure that the key
is at least 2048 bits.
>
> —
[source](https://cheatsheetseries.owasp.org/cheatsheets/Cryptographic_Storage_Cheat_Sheet.html#algorithms)
Release Notes:
- N/A
This PR upgrades the `rsa` crate to v0.9.6.
The version we were using was rather old, and for something
security-sensitive we should be using a recent version.
No behavioral changes have been made, just updates to account for
changes in the crate's API.
Release Notes:
- N/A
Marshall Bowers
created
1307a80
rpc: Add regression tests for encoding/decoding public keys (#15054)
Click to expand commit body
This PR adds some tests to ensure we don't regress in our public key
encoding/decoding capabilities when making changes in this area.
Release Notes:
- N/A
Marshall Bowers
created
9d11a6f
repl: Detect Conda and Python environments with their own kernel specs (#15047)
Click to expand commit body
Detect kernels in conda and python environments.
Release Notes:
- N/A
Kyle Kelley
created
6769e55
Revert "chore: Bump async-tungstenite to 0.23 (and tungstenite to 0.20.1) (#15039)" (#15048)
Click to expand commit body
This reverts commit 4d65f7eea39beeaf9b1952264fe713c0379a0739.
Reverting because it causes auth with collab to break.
Release Notes:
- N/A
This PR adds a global `Fs` instance to the app context.
This will make it easier to access the filesystem in some cases instead
of having to thread it around.
Release Notes:
- N/A
Marshall Bowers
created
5062bf0
repl: Pad the table rows with a fraction of the line height (#15042)
Click to expand commit body
Compute the final height using the number of rows and the constant
fraction.
Ensures we don't accidentally overlap lines below table output.
<img width="663" alt="image"
src="https://github.com/user-attachments/assets/fe24b08d-2271-4dcc-88c7-8702ba4c68b0">
Release Notes:
- N/A
Kyle Kelley
created
4d65f7e
chore: Bump async-tungstenite to 0.23 (and tungstenite to 0.20.1) (#15039)
Click to expand commit body
Release Notes:
- N/A
Piotr Osiewicz
created
7ae305a
Make vim::test_remap less flaky on linux (#15040)
Click to expand commit body
Release Notes:
- N/A
Conrad Irwin
created
ba4ff1d
chore: Remove clap3 dependency by disabling default features of cbindgen (#15037)
Click to expand commit body
cbindgen pulled that in, but we don't really need it (Plus it pulls in a
dep with an advisory)
Release Notes:
- N/A
---------
Co-authored-by: Marshall Bowers <elliott.codes@gmail.com>
This pulls in https://github.com/kvark/blade#144 to see if it results in
fewer bad GPU configurations selected
Release Notes:
- linux: Improved graphics card detection
Conrad Irwin
created
5f7881f
Improve ssh remote error handling and logging (#15035)
Release Notes:
- linux: Show an error and troubleshooting steps for inotify limits
(#10310)
Conrad Irwin
created
41a3e78
Don't try to connect to X11/Wayland when headless (#15028)
Click to expand commit body
Release Notes:
- remote development: Stopped logging every 16ms when connected to a
remote server with a badly configured X server.
Conrad Irwin
created
5021397
Fix diagnostic popups flickering when moving cursor in the boundaries of the symbol (#14870)
Click to expand commit body
This PR just uses ranges returned by an LSP to work, the subsequent PR
would focus on trying to fall back onto tree-sitter in case of info
hovers. I'm also unsure if I'm supposed to use `local_diagnostic` or
`primary_diagnostic` when both are available
Release Notes:
- Fix diagnostic popups flickering when moving cursor in the boundaries
of the symbol
Before:
https://github.com/user-attachments/assets/4905a7e5-c333-453b-b204-264b3ef79586
After:
https://github.com/user-attachments/assets/c742c424-fb20-450d-8848-baaf1937dd47
Stanislav Alekseev
created
b2b9d4c
Extend task templates with `shell` and `hide` fields to use custom shells and custom close behavior (#15031)
Kirill Bulatov
created
4a43084
Bump `wasmtime` and `wasmtime-wasi` to v19.0.2 (#15033)
Click to expand commit body
This PR bumps `wasmtime` and `wasmtime-wasi` to v19.0.2 for some bug
fixes.
https://github.com/bytecodealliance/wasmtime/releases/tag/v19.0.2
Release Notes:
- N/A
ec093c3
repl: Change keybinding to ctrl-shift-enter for repl::Run (#15026)
Click to expand commit body
... on all platforms.
`ctrl-shift-enter` for the repl, `cmd-enter` for the assistant. People
can override this behavior as they desire in their own keymaps.
Release Notes:
- N/A
Kyle Kelley
created
3d1bf09
Allow user to use multiple formatters (#14846)
Click to expand commit body
Fixes #4822
- [x] Release note
- [ ] Surface formatting errors via a toast
- [x] Doc updates
- [x] Have "language-server" accept an optional name of the server.
Release Notes:
- `format` and `format_on_save` now accept an array of formatting
actions to run.
- `language_server` formatter option now accepts the name of a language
server to use (e.g. `{"language_server": {"name: "ruff"}}`); when not
specified, a primary language server is used.
---------
Co-authored-by: Thorsten <thorsten@zed.dev>
Piotr Osiewicz
and
Thorsten
created
53b711c
repl: Make the terminal background transparent (#15022)
Click to expand commit body
Keeps the background the same as the output area background by making
the terminal background be `Hsla::transparent_black()`.
Release Notes:
- N/A
---------
Co-authored-by: Nathan Sobo <nathan@zed.dev>
Co-authored-by: Antonio Scandurra <me@as-cii.com>
Kyle Kelley
,
Nathan Sobo
, and
Antonio Scandurra
created
<img width="624" alt="image"
src="https://github.com/user-attachments/assets/f492b0bd-14c3-49e2-b2ff-dc78e52b0815">
- [x] Correctly set custom model token count
- [x] How to count tokens for Gemini models?
- [x] Feature flag zed.dev provider
- [x] Figure out how to configure custom models
- [ ] Update docs
Release Notes:
- Added support for quickly switching between multiple language model
providers in the assistant panel
---------
Co-authored-by: Antonio <antonio@zed.dev>
Bennet Bo Fenner
and
Antonio
created
17ef9a3
zed: Add ability to restore last session w/ multiple windows (#14965)
Click to expand commit body
This adds the ability for Zed to restore multiple windows after
restarting. It's now the default behavior.
Release Notes:
- Added ability to restore all windows that were open when Zed was quit.
Previously only the last used workspace was restored. This is now the
default behavior. To get back the old behavior, add the following to
your settings: `{"restore_on_startup": "last_workspace"}` (Part of
[#4985](https://github.com/zed-industries/zed/issues/4985) and
[#4683](https://github.com/zed-industries/zed/issues/4683))
Demo:
https://github.com/user-attachments/assets/57a375ec-0c6a-4724-97c4-3fea8f18bc2d
---------
Co-authored-by: Nathan <nathan@zed.dev>
Thorsten Ball
and
Nathan
created
53f828d
Avoid inserting extra newlines when evaluating code (#15018)
Click to expand commit body
When the evaluation range ends at the start of a line, back it up to the
end of the previous line. This avoids inserting extra newlines below the
evaluation range when they already exist.
Release Notes:
- N/A
Co-authored-by: Nathan <nathan@zed.dev>