fb4d77c
Pin a specific version of `typos` in CI (#15128)
Click to expand commit body
This PR makes it so we pin a specific version of `typos` in CI, rather
than just relying on whatever is already installed or what the latest
version is.
Release Notes:
- N/A
Marshall Bowers
created
b14bb6b
Make git blame for SSH remote projects (#15106)
Click to expand commit body
This also refactors the BufferStore + WorktreeStore interfaces to make
them cleaner, more fully encapsulating the RPC aspects of their
functionality.
Release Notes:
- N/A
Max Brunsfeld
created
8501ae6
Make context and dropdown menus scrollable (#15127)
Click to expand commit body
This PR makes context and dropdown menus scrollable, so that they don't
become totally unusable when they overflow the window.
Release Notes:
- N/A
Marshall Bowers
created
4e88a08
chore: Some more dependency bumps (#15125)
Click to expand commit body
Release Notes:
- N/A
Piotr Osiewicz
created
659f34b
settings_ui: Add UI and buffer font family controls (#15124)
Click to expand commit body
This PR adds settings controls for changing the UI and buffer font
families.
Release Notes:
- N/A
* Added some missing operators, delimeters and keywords
* Highlight destructor, and operator overload as `@function`
* Moved `(field_identifier)` to the top, as it was highlighting methods
as `@property`
There are still some problems with something like `n1::n2::foo(...)`,
`foo` is not properly highlighted as a function
Release Notes:
- Improved C++ syntax highlighting
Fernando Tagawa
created
298ca5f
Prefer `.map` for conditionals with `else` conditions (#15118)
Click to expand commit body
This PR updates instances where we were using `.when_else` and
`.when_else_some` to use `.map` with a conditional inside.
This allows us to avoid reinventing Rust's syntax for conditionals and
(IMO) makes the code easier to read.
Release Notes:
- N/A
Marshall Bowers
created
596ee58
Bump tree-sitter and related core language parser libraries (#14986)
Click to expand commit body
Closes https://github.com/zed-industries/zed/issues/4565
To fix issues with code blocks' parsing in Markdown, a
tree-sitter-markdown library update is needed.
But `tree_sitter::language` is used in many places within core Zed,
which forced more library updates.
Release Notes:
- Updated tree-sitter parsers for core languages
---------
Co-authored-by: Max Brunsfeld <max@zed.dev>
Co-authored-by: Piotr Osiewicz <piotr@zed.dev>
Kirill Bulatov
,
Max Brunsfeld
, and
Piotr Osiewicz
created
fd4a412
Use proper names for sorting path entries (#15116)
Click to expand commit body
Closes https://github.com/zed-industries/zed/issues/12470
Release Notes:
- Fixed project panel not showing properly file entries for directories
with dots in their names
([#12470](https://github.com/zed-industries/zed/issues/12470))
Kirill Bulatov
created
0297a42
Use US English spelling of "behavior" and "customize" (#15117)
Click to expand commit body
This PR fixes some instances that weren't using US English spellings of
"behavior" and "customize".
Release Notes:
- N/A
Marshall Bowers
created
9c9a0bd
lsp: Check if "Goto Definition" supported before request (#15111)
Click to expand commit body
This is related to #15023 where we have the running Rubocop LSP that
provides diagnostics and formatting capabilities. Rubocop LSP sends its
capabilities
back to Zed without support for "textDocument/definition" request, Zed
actually does not check that and sends a request to Rubocop that results
in the server error "Unsupported method: textDocument/definition".
The fix here is related to
https://github.com/zed-industries/zed/pull/14666
Release Notes:
- N/A
This PR adds settings controls for the theme settings.
Release Notes:
- N/A
Marshall Bowers
created
325e6b9
editor: Improve performance of buffer/project search (#15109)
Click to expand commit body
Fixes #15102
Release Notes:
- Improved performance of project and buffer search when there are many
matches.
Piotr Osiewicz
created
65c63de
Ensure quick action bar icon buttons are a square (#15092)
Click to expand commit body
As the title says! Also decreased a bit the gap between them so that's
consistent with other similar icon button stacks. I wish they could be
bigger buttons but the icons would need to be refined further for that,
as each has been drawn with a different dimension/bounding-box. Maybe in
the near future :)
---
Release Notes:
- N/A
Danilo Leal
created
274e56b
settings_ui: Add UI and buffer font weight controls (#15104)
Click to expand commit body
This PR adds settings controls for the UI and buffer font weight
settings.
It also does some work around grouping the settings into related
sections.
Release Notes:
- N/A
Marshall Bowers
created
7fb906d
vim: Prevent overflowing integer when pushing count digit (#15079)
Click to expand commit body
Minor bug where the command count overflows when enough digits are
entered. This swaps out simple multiplication/addition for their checked
counter parts, falling back to the previous value in case of overflow.
Release Notes:
- N/A
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