58919e9
eslint: Change default configuration to fix errors (#11896)
Click to expand commit body
Without this, we'd get constant errors when typing something with ESLint
enabled:
[2024-05-16T10:32:30+02:00 WARN project] Generic lsp request to node
failed: Request textDocument/codeAction failed with message: Cannot read
properties of undefined (reading 'disableRuleComment')
[2024-05-16T10:32:30+02:00 ERROR util]
crates/project/src/project.rs:7023: Request textDocument/codeAction
failed with message: Cannot read properties of undefined (reading
'disableRuleComment')
[2024-05-16T10:32:31+02:00 WARN project] Generic lsp request to node
failed: Request textDocument/codeAction failed with message: Cannot read
properties of undefined (reading 'disableRuleComment')
[2024-05-16T10:32:31+02:00 ERROR util]
crates/project/src/project.rs:7023: Request textDocument/codeAction
failed with message: Cannot read properties of undefined (reading
'disableRuleComment')
This is fixed by changing the default settings for ESLint language
server to have those fields.
I don't think we need to make these configurable yet. These are defaults
that multiple other plugins also use:
- vscode-eslint:
https://sourcegraph.com/github.com/microsoft/vscode-eslint@4d9fc40e71c403d359beaccdd4a6f8d027031513/-/blob/client/src/client.ts?L702-703
- nvim-lspconfig:
https://sourcegraph.com/github.com/neovim/nvim-lspconfig@a27179f56c6f98a4cdcc79ee2971b514815a4940/-/blob/lua/lspconfig/server_configurations/eslint.lua?L94-101
- coc-eslitn:
https://sourcegraph.com/github.com/neoclide/coc-eslint@70eb10d294e068757743f9b580c724e92c5b977d/-/blob/src/index.ts?L698:17-698:35
Release Notes:
- Changed the default ESLint configuration to include the following in
order to silence warnings/errors: `{"codeAction": {
"disableRuleComment": { "enable": true, "location": "separateLine", },
"showDocumentation": { "enable": true } }}`
66e8739
assistant: Factor `RecentBuffersContext` logic out of `AssistantPanel` (#11876)
Click to expand commit body
This PR factors some more code related to the `RecentBuffersContext` out
of the `AssistantPanel` and into the corresponding module.
We're trying to strike a balance between keeping this code easy to
evolve as we work on the Assistant, while also having some semblance of
separation/structure.
This also adds the missing functionality of updating the remaining token
count when the `CurrentProjectContext` is enabled/disabled.
Release Notes:
- N/A
---------
Co-authored-by: Max <max@zed.dev>
Marshall Bowers
and
Max
created
cb430fc
Autodetect parser name with prettier by default (#11558)
Click to expand commit body
Closes https://github.com/zed-industries/zed/issues/11517
* Removes forced prettier parser name for languages, making `auto`
command to run prettier on every file by default.
* Moves prettier configs away from plugin language declarations into
language settings
Release Notes:
- N/A
1651cdf
ruby: Use two spaces per indentation level (#11869)
Click to expand commit body
Hello, this pull request changes the indentation level for Ruby language
from 2 spaces to the most used setting in the Ruby world: 2 spaces per
indentation level.
This setting is mentioned in the [Ruby style guide from the Rubocop
(Ruby linter and formatter)
team](https://rubystyle.guide/#spaces-indentation) and/or in another
popular Rubocop configuration tool -
[`standardrb`](https://github.com/standardrb/standard/blob/main/config/base.yml#L233)
Thanks!
Release Notes:
- N/A
Vitaly Slobodin
created
a1e5f6b
windows: Use `DwmFlush()` to trigger vsync event (#11731)
Click to expand commit body
Currently , on Windows 10, we used a `Timer` to trigger the vsync event,
but the `Timer`'s time precision is only about 15ms, which means a
maximum of 60FPS. This PR introduces a new function to allow for higher
frame rates on Windows 10.
And after reading the codes, I found that zed triggers a draw after
handling mouse or keyboard events, so we don't need to call draw again
when we handle `WM_*` messages. Therefore, I removed the
`invalidate_client_area` function.
Release Notes:
- N/A
张小白
created
4ae3396
Make primary clipboard Linux only (#11843)
Click to expand commit body
I guess only Linux supports the primary clipboard.
Release Notes:
- N/A
张小白
created
1c62839
Add missing linux dependencies for compiling openssl on Fedora (#11857)
f7c5d70
macOS: Support all `OpenType` font features (#11611)
Click to expand commit body
This PR brings support for all `OpenType` font features to
`macOS(v10.10+)`. Now, both `Windows`(with #10756 ) and `macOS` support
all font features.
Due to my limited familiarity with the APIs on macOS, I believe I have
made sure to call `CFRelease` on all variables where it should be
called.
Close #11486 , and I think the official website's
[documentation](https://zed.dev/docs/configuring-zed) can be updated
after merging this PR.
> Zed supports a subset of OpenType features that can be enabled or
disabled for a given buffer or terminal font. The following OpenType
features can be enabled or disabled too: calt, case, cpsp, frac, liga,
onum, ordn, pnum, ss01, ss02, ss03, ss04, ss05, ss06, ss07, ss08, ss09,
ss10, ss11, ss12, ss13, ss14, ss15, ss16, ss17, ss18, ss19, ss20, subs,
sups, swsh, titl, tnum, zero.
https://github.com/zed-industries/zed/assets/14981363/44e503f9-1496-4746-bc7d-20878c6f8a93
Release Notes:
- Added support for **all** `OpenType` font features to macOS.
Release Notes:
- Fixed the size of the completions menu changing based on the size of
the aside
([#11722](https://github.com/zed-industries/zed/issues/11722)).
https://github.com/zed-industries/zed/assets/30776250/c67e6fef-20f2-4dc5-92b3-09bb73f874a7
https://github.com/zed-industries/zed/assets/30776250/7467b8ee-6e66-42d7-a8cc-2df11df58c5e
---------
Co-authored-by: Marshall Bowers <elliott.codes@gmail.com>
1b9014b
tailwind: Allow Tailwind LS to be used in Scala (#11858)
Click to expand commit body
This fixes the issue mentioned here:
https://github.com/zed-industries/zed/issues/5830#issuecomment-2111947083
In order for other languages to work, we need to pass the following
settings along to the Tailwind language server.
With the following Zed settings, it then also works for Scala:
```json
{
"languages": {
"Scala": {
"language_servers": ["tailwindcss-language-server"]
},
},
"lsp": {
"tailwindcss-language-server": {
"settings": {
"includeLanguages": {
"scala": "html"
},
"experimental": {
"classRegex": ["[cls|className]\\s\\:\\=\\s\"([^\"]*)"]
}
}
}
}
}
```
Release Notes:
- Added ability to configure settings for `tailwindcss-language-server`,
namely the `includeLanguages` and `experimental` objects.
**NOTE**: I have only tested that the language server boots up for Scala
files and that the settings are forwarded correctly. I don't have a
Scala+Tailwind project with which to test that the actual completions
also work.
cc @nguyenyou
This PR removes a stray `println!` left over from #11844.
Release Notes:
- N/A
Marshall Bowers
created
a59a388
tasks: Wire through click handlers in new tasks modal (#11854)
Click to expand commit body
:facepalm:
Spotted by @SomeoneToIgnore
Release Notes:
- N/A
Piotr Osiewicz
created
43d79af
metal renderer: Increase instance buffer size dynamically (#11849)
Click to expand commit body
Previously, we had an instance buffer pool that could only allocate
buffers with a fixed size (hardcoded to 2mb). This caused certain scenes
to render partially, e.g. when showing tens of thousands of glyphs on a
big screen.
With this commit, when `MetalRenderer` detects that a scene would be too
large to render using the current instance buffer size, it will:
- Clear the existing instance buffers
- Allocate new instance buffers that are twice as large
- Retry rendering the scene that failed with the newly-allocated buffers
during the same frame.
This fixes #11615.
Release Notes:
- Fixed rendering issues that could arise when having large amounts of
text displayed on a large display. Fixed by dynamically increasing the
size of the buffers used on the GPU.
([#11615](https://github.com/zed-industries/zed/issues/11615)).
Before:
https://github.com/zed-industries/zed/assets/1185253/464463be-b61c-4149-a417-01701699decb
After:
https://github.com/zed-industries/zed/assets/1185253/4feacf5a-d862-4a6b-90b8-317ac74e9851
Co-authored-by: Antonio <me@as-cii.com>
Thorsten Ball
and
Antonio
created
26ffdaf
tasks: Use unique id for run indicator (#11846)
Click to expand commit body
This fixes a small visual issue with the run indicator. As all run
indicators use the same element id they all show up as pressed when
clicking on a single button. We can safely use a combination of
"run_indicator" and the actual row as the element id, as there can only
ever be one run indicator per line.
Before:
<img width="552" alt="Screenshot 2024-05-15 at 12 24 08"
src="https://github.com/zed-industries/zed/assets/53836821/18779f1a-0984-488f-83fd-4a6a561f223e">
After:
<img width="633" alt="image"
src="https://github.com/zed-industries/zed/assets/53836821/07ea26b5-06ad-4955-8250-d96d4704220c">
Release Notes:
- Fixed an issue where all run buttons would show up as pressed when
clicking on a single run button
Bennet Bo Fenner
created
2666434
rust: reduce false positives in runnables query (#11845)
Click to expand commit body
We were marking `#[cfg(test)]`ed function as a test, which is wrong.
Also allow for other attribute_items (such as #[should_panic]) between
test attribute and a function item.
Release Notes:
- N/A
Piotr Osiewicz
created
8bc41e1
Use editor's current font size to scale UI elements (#11844)
Click to expand commit body
This is a follow-up to #11817 and fixes the case where the font size has
been changed with `cmd +/-` and not through the settings.
It now works with both: when the font size is adjusted in the settings
and when changing it via shortcuts.
Release Notes:
- N/A
Demo:
https://github.com/zed-industries/zed/assets/1185253/2e539bd3-f5cc-4aae-9f04-9ae014187959
After #11795, the context menu was looking a little ridiculous on Mac in
vim mode (and the command palette has for a while).
<img width="258" alt="Screenshot 2024-05-14 at 20 35 50"
src="https://github.com/zed-industries/zed/assets/94272/cb0ec8b9-4da6-4ab4-9eec-c60d62f79eff">
<img width="581" alt="Screenshot 2024-05-14 at 20 56 28"
src="https://github.com/zed-industries/zed/assets/94272/d8fec440-17cc-4c20-80d9-c1d7f2f18315">
A future change would be to have a platform style for vim keybindings so
we can render `g A`, but for now this just removes a bunch of (to my
eyes at least) unnecessary space:
<img width="576" alt="Screenshot 2024-05-14 at 21 01 55"
src="https://github.com/zed-industries/zed/assets/94272/a39f4123-dc3b-4bb5-bb8d-5de6b37552e7">
cc @iamnbutler
Release Notes:
- N/A
Conrad Irwin
created
3cbac27
Show buffer_search on vim::MoveToNextMatch (#11836)
Click to expand commit body
This changes the vim::MoveToNextMatch event callback to open the
buffer_search toolbar. This fixes an issue where highlights would appear
which were only cancellable by opening then closing the toolbar.
Release Notes:
- the buffer search toolbar now opens on vim::MoveToNextMatch fixing the
issue where highlights were not cancellable
---------
Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
ba26acc
blade: Fix display of straight underlines (#11818)
Click to expand commit body
Fixes: #11715
(also apply alpha of the color to wavy ones while we're at it)
Release Notes:
- Fixed display of straight underlines when using the blade renderer
(#11715)
jansol
created
edadc6f
Fix bug with keymaps flickering in mouse menu (#11795)
Click to expand commit body
Fixes a bug where Vim bindings would flash in the mouse context menu and
then be replaced by the default keybindings. Also fixes those bindings
not being usable while the mouse context menu was open.
Release Notes:
- Fixed bug where Vim bindings were not available when mouse context
menu was open
---------
Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
Hi. This pull request fixes a small error with `solargraph` completions
to make them more detailed. It removes the nested match expression to
resolve the problem with highlighting the completion items and their
signatures with the return type as well. Thanks.
See screenshots below.
Release Notes:
- N/A
| Before | After |
| ------------- | ------------- |
| 
| 
|
Vitaly Slobodin
created
26b5f34
assistant: Add basic current project context (#11828)
Click to expand commit body
This PR adds the beginnings of current project context to the Assistant.
Currently it supports reading a `Cargo.toml` file and using that to get
some basic information about the project, and its dependencies:
<img width="1264" alt="Screenshot 2024-05-14 at 6 17 03 PM"
src="https://github.com/zed-industries/zed/assets/1486634/cc8ed5ad-0ccb-45da-9c07-c96af84a14e3">
Release Notes:
- N/A
---------
Co-authored-by: Nate <nate@zed.dev>
Marshall Bowers
and
Nate
created
5b2c019
cli: Support --foreground for debugging (#11819)
Click to expand commit body
Release Notes:
- Added `--foreground` to the cli to allow running zed on the current
PTY.
Conrad Irwin
created
18b6ded
Auto-open remote projects on creation (#11826)
Click to expand commit body
Release Notes:
- N/A
Conrad Irwin
created
67c9fc5
Fix a link to Zed configuring docs (#11739)
Click to expand commit body
Based on https://github.com/zed-industries/zed/pull/11736
Release Notes:
- N/A
Kirill Bulatov
created
ba4d4c8
assistant: Restructure ambient context in preparation for adding more (#11822)
Click to expand commit body
This PR restructures the ambient context in the `assistant` crate to
make it more amenable to adding more kinds of ambient context.
Release Notes:
- N/A
Marshall Bowers
created
bf44787
Prevent remoting dialog from losing focus (#11820)
This adds highlighting of phpdoc tags and PHP types to phpdoc comments,
using
[tree-sitter-phpdoc](https://github.com/claytonrcarter/tree-sitter-phpdoc)
(maintained by yours me, and also in use by neovim).
<table>
<tr>
<td>
<strong>Before</strong>
<img
src="https://github.com/zed-industries/zed/assets/1420419/bae4c502-8a2c-4399-893f-fcff4e5797b6">
</td>
<td>
<strong>After</strong>
<img
src="https://github.com/zed-industries/zed/assets/1420419/8848e9fb-61a0-4938-a118-7041da9589c0">
</td>
</tr>
</table>
Release Notes:
- N/A
claytonrcarter
created
1db136f
tasks: Refresh available tasks in editor when tasks.json changes (#11811)
Click to expand commit body
Release Notes:
- N/A
Piotr Osiewicz
created
0ae0b08
linux: Add Keybinds Ctrl-Insert to Copy and Shift-Insert to Paste (#11799)
Click to expand commit body
Release Notes:
- N/A
Thomas Aunvik
created
5b8bb62
Scale UI elements in the editor based on the `buffer_font_size` (#11817)
Click to expand commit body
This PR adjusts how UI elements are rendered inside of full-size editors
to scale with the configured `buffer_font_size`.
This fixes some issues where UI elements (such as the `IconButton`s used
for code action and task run indicators) would not scale as the
`buffer_font_size` was changed.
We achieve this by changing the rem size when rendering the
`EditorElement`, with a rem size that is derived from the
`buffer_font_size`.
`WindowContext` now has a new `with_rem_size` method that can be used to
render an element with a given rem size. Note that this can only be
called during `request_layout`, `prepaint`, or `paint`, similar to
`with_text_style` or `with_content_mask`.
### Before
<img width="1264" alt="Screenshot 2024-05-14 at 2 15 39 PM"
src="https://github.com/zed-industries/zed/assets/1486634/05ad7f8d-c62f-4baa-bffd-38cace7f3710">
<img width="1264" alt="Screenshot 2024-05-14 at 2 15 49 PM"
src="https://github.com/zed-industries/zed/assets/1486634/254cd11c-3723-488f-ab3d-ed653169056c">
### After
<img width="1264" alt="Screenshot 2024-05-14 at 2 13 02 PM"
src="https://github.com/zed-industries/zed/assets/1486634/c8dad309-62a4-444f-bfeb-a0009dc08c03">
<img width="1264" alt="Screenshot 2024-05-14 at 2 13 06 PM"
src="https://github.com/zed-industries/zed/assets/1486634/4d9a3a52-9656-4768-b210-840b4884e381">
Note: This diff is best viewed with whitespace changes hidden:
<img width="245" alt="Screenshot 2024-05-14 at 2 22 45 PM"
src="https://github.com/zed-industries/zed/assets/1486634/7cb9829f-9c1b-4224-95be-82182017ed90">
Release Notes:
- Changed UI elements within the editor to scale based on
`buffer_font_size` (e.g., code action indicators, task run indicators,
etc.).
If you go to the file tree and press "x" (which is
"project_panel::RevealInFinder"). It will open the default file
manager(in my case nautilus). But on Linux it makes Zed unresponsive.
This fixes that.
Release Notes:
- Fixed Zed blocked after opening file manager in the file tree on
Linux.
Zed can detect changes in monitor connections and disconnections and
provide corresponding feedback. For example, if the current window's
display monitor is disconnected, the window will be moved to the primary
monitor. And now Zed always opens on the monitor specified in
`WindowParams`.
Release Notes:
- N/A
张小白
created
5154910
windows: Update crate `Windows` from `0.53` to `0.56` (#11662)
Click to expand commit body
Version 0.56 has fixed many of the previous bugs, and one of the bugs
prevent me implementing some functions.
Release Notes:
- N/A