28f875f
Note installation step via Homebrew (#7053)
Click to expand commit body
https://formulae.brew.sh/cask/zed
Zongle Wang created
28f875f
Note installation step via Homebrew (#7053)
https://formulae.brew.sh/cask/zed
Zongle Wang created
e338f34
Sort dependencies in `Cargo.toml` files (#7126)
This PR sorts the dependency lists in our `Cargo.toml` files so that they are in alphabetical order. This should make them easier to visually scan when looking for a dependency. Apologies in advance for any merge conflicts 🙈 Release Notes: - N/A
Marshall Bowers created
d97e780
Restrict access to global `Audio` (#7122)
This PR restricts access to the `Audio` global to force consumers to go through the `Audio` public interface to interact with it. Release Notes: - N/A
Marshall Bowers created
176f63e
Add ability to copy a permalink to a line (#7119)
This PR adds the ability to copy the permalink to a line from within Zed. This functionality is available through the `editor: copy permalink to line` action in the command palette: <img width="589" alt="Screenshot 2024-01-30 at 7 07 46 PM" src="https://github.com/zed-industries/zed/assets/1486634/332282cb-211f-4f16-9eb1-415bcfee9b7b"> Executing this action will create a permalink to the currently selected line(s) and copy it to the clipboard. Here is an example line: ``` https://github.com/maxdeviant/auk/blob/56c80e80112744740be1969c89fdd34db4be6f64/src/lib.rs#L25 ``` Currently, both GitHub and GitLab are supported. ### Notes and known limitations - In order to determine where to permalink to, we read the URL of the `origin` remote in Git. This feature will not work if the `origin` remote is not present. - Attempting to permalink to a ref that is not pushed to the origin will result in the link 404ing. - Attempting to permalink when Git is in a dirty state may not generate the right link. - For instance, modifying a file (e.g., adding new lines) and grabbing a permalink to it will result in incorrect line numbers. Release Notes: - Added the ability to copy a permalink to a line ([#6777](https://github.com/zed-industries/zed/issues/6777)). - Available via the `editor: copy permalink to line` action in the command palette.
Marshall Bowers created
cbcaca4
Show highlighted symbol in the scrollbar (#7029)
Release Notes: - Added highlighted symbols to the scrollbar; partially mentioned in: - https://github.com/zed-industries/zed/issues/5308 - https://github.com/zed-industries/zed/issues/4866
Felix Salazar created
871b852
Fix per-env settings override (#7114)
Due to a misplaced .trim(), the RELEASE_CHANNEL_NAME included the trailing newline. Release Notes: - N/A
Conrad Irwin created
a5826e2
Add Go file icon (#7110)
 Release Notes: - Added icon to `.go` files
Derrick Laird created
7f66e36
Release version of clippy? (#7107)
Release Notes: - N/A
Conrad Irwin created
3075e58
collab 0.43.0
Conrad Irwin created
911b4b5
Migrate automatically on service start (#7103)
This avoids a forgettable manual step in deploying collab Release Notes: - N/A
Conrad Irwin created
2e7f9c4
Use fully-qualified name to avoid an unused import (#7104)
This PR adjusts how we implement `Global` conditionally to avoid an unused import when compiling in release mode. Release Notes: - N/A
Marshall Bowers created
a54eaae
Add raw window handle implementations to GPUI (#7101)
This is in preparation for experiments with wgpu. This should have no external effect. Release Notes: - N/A
Mikayla Maki created
1d794db
Only `impl Global` for `DebugBelow` when compiling with `debug_assertions` (#7102)
This PR fixes this error when compiling a release build: <img width="504" alt="Screenshot 2024-01-30 at 2 30 38 PM" src="https://github.com/zed-industries/zed/assets/1486634/96470735-2b9e-4945-b4c3-c86ef0168b8c"> `DebugBelow` only exists when compiling with `debug_assertions`, so we only want to implement it using that same criterion. Release Notes: - N/A
Marshall Bowers created
e756602
log: Use local timezone in log timestamps (#7079)
I'm gonna let it sit for a day in case anybody has any objections to that change. Release Notes: - Logs now use local timestamps instead of UTC-based timestamps --------- Co-authored-by: Beniamin <beniamin@zagan.be>
Piotr Osiewicz and Beniamin created
e6ebe79
gpui: Add Global marker trait (#7095)
This should prevent a class of bugs where one queries the wrong type of global, which results in oddities at runtime. Release Notes: - N/A --------- Co-authored-by: Marshall <marshall@zed.dev> Co-authored-by: Marshall Bowers <elliott.codes@gmail.com>
Piotr Osiewicz , Marshall , and Marshall Bowers created
7bfa584
Add protobuf support (#6748)
Release Notes: - Added protobuf syntax highlighting ([#5160](https://github.com/zed-industries/zed/issues/5160)).
Derrick Laird created
dfbcaf3
nightly url setting (#7037)
Release Notes: - Added the ability to set settings per-release stage - Added a `"server_url"` setting
Conrad Irwin created
c073552
Add logging for the font_descriptor panic (#7097)
Release Notes: - Fixed a panic caused by an inconsistency in font metrics.
Conrad Irwin created
631f885
Ensure sqlez build succeeds on Windows (#7072)
On Windows, `OsStr` must be a valid [WTF-8](https://simonsapin.github.io/wtf-8/) sequence, and there are no safety ways converting from bytes to OsStr in std. So I added `PathExt::try_from_bytes` and use it in `sqlez`.
白山風露 created
30b9cef
Improve mention visibility by adding a background color (#7014)
When the chat if going fast, It's hard to see who is mentioning you, so this feature will make it more clear by the UI instead of needing to read all the messages. <img width="242" alt="Screenshot 2024-01-29 at 21 19 07" src="https://github.com/zed-industries/zed/assets/62463826/65ec307d-5027-4ead-9568-854fc746c822"> Release Notes: - Added background to messages that mention you.
Remco Smits created
e5c4c85
C# Support: Add treesitter and OmniSharp LSP support (#6908)
This PR adds the C# tree-sitter grammar. It also adds OmniSharp-Roslyn for LSP support. Resolves issue [#5299](https://github.com/zed-industries/zed/issues/5299) Release Notes: - Added C# support ## VSCode <img width="984" alt="vscode" src="https://github.com/zed-industries/zed/assets/6967829/1f6b4cb7-4e00-4d61-8e58-2867dc5c8ecf"> ## Zed <img width="1722" alt="zed" src="https://github.com/zed-industries/zed/assets/6967829/88436c78-93de-4e26-be15-b0dea6590c55">
fminkowski created
2980f05
Rework loading images from files (#7088)
This PR is a follow-up to #7084, where I noted that I wasn't satisfied with using `SharedUri` to represent both URIs and paths on the local filesystem: > I'm still not entirely happy with this naming, as the file paths that we can store in here are not _really_ URIs, as they are lacking a protocol. > > I want to explore changing `SharedUri` / `SharedUrl` back to alway storing a URL and treat local filepaths differently, as it seems we're conflating two different concerns under the same umbrella, at the moment. `SharedUri` has now been reverted to just containing a `SharedString` with a URI. `ImageSource` now has a new `File` variant that is used to load an image from a `PathBuf`. Release Notes: - N/A
Marshall Bowers created
6d4fe80
Fix panic in fuzzy-finder for unicode characters (#7080)
This fixes a panic in the fuzzy finder which someone ran into when typing in a query that contained the lower-case version of a unicode character that has more chars than its upper-case version. It also fixes another problem which was that we didn't find a match if both candidates and query contained upper-case characters whose lower-case version had more chars. Release Notes: - Fixed a panic in fuzzy-finder that could occur when matching with queries containing upper-case unicode characters whose lower-case version has more chars. Co-authored-by: bennetbo <bennetbo@gmx.de>
Thorsten Ball and bennetbo created
6c7893d
Rename `SharedUrl` to `SharedUri` (#7084)
This PR renames `SharedUrl` to `SharedUri` to better reflect its intent. I'm still not entirely happy with this naming, as the file paths that we can store in here are not _really_ URIs, as they are lacking a protocol. I want to explore changing `SharedUri` / `SharedUrl` back to alway storing a URL and treat local filepaths differently, as it seems we're conflating two different concerns under the same umbrella, at the moment. Release Notes: - N/A
Marshall Bowers created
d18c0d9
Make minor documentation corrections and improvements (#7070)
This PR makes minor documentation corrections and improvements. Release Notes: - N/A
Noritada Kobayashi created
a0582d0
Make avif/heif/webp files to use image icon (#7063)
The Wikipedia Link: - https://en.wikipedia.org/wiki/AVIF - https://en.wikipedia.org/wiki/High_Efficiency_Image_File_Format - https://en.wikipedia.org/wiki/WebP Release Notes: - Made avif/heif/webp files to use an image icon
d1y created
fb9eb6a
Add taplo `toml` LSP (#7034)
Release Notes: - Added `toml` LSP using [taplo](https://taplo.tamasfe.dev/)
Ammar Arif created
7b8bd97
vim: implement <space> in normal mode (#7011)
This fixes #6815 by implementing `<space>` in normal mode in Vim. Turns out that `<space>` behaves like a reverse `<backspace>` (which we already had): it goes to the right and, if at end of line, to the next line. That means I had to touch `movement::right`, which is used in a few places, but it's documentation said that it would go to the next line, which it did *not*. So I changed the behaviour. But I would love another pair of eyes on this, because I don't want to break non-Vim behaviour. Release Notes: - Added support for `<space>` in Vim normal mode: `<space>` goes to the right and to next line if at end of line. ([#6815](https://github.com/zed-industries/zed/issues/6815)).
Thorsten Ball created
4af5425
Fix a spelling typo (#7059)
Release notes: N/A
Hans created
dc5f4c8
Add CSS file type icon (#7062)
The SVG icon RAW link: https://www.svgrepo.com/svg/473577/css3 The Licensing https://www.svgrepo.com/page/licensing/#CC0 <img width="309" alt="image" src="https://github.com/zed-industries/zed/assets/45585937/4b1fa935-144f-4c02-a378-b0974e4d0b39"> Release Notes: - Added a CSS file type icon
d1y created
cddc0fb
vim: fix `t` not being repeatable with `,` (#7007)
This fixes `t` not being repeatable with `,` and `;` in normal mode. Release Notes: - Fixed `t` in Vim mode not being repeatable with `,` or `;`. --------- Co-authored-by: Conrad <conrad@zed.dev>
Thorsten Ball and Conrad created
843916d
Fix two typos (#7056)
Hans created
561cd37
Spell adjust (#7050)
Hans created
dd74643
gpui: Support loading image from filesystem (#6978)
This PR implements support for loading and displaying images from a local file using gpui's `img` element. API Changes: - Changed `SharedUrl` to `SharedUrl::File`, `SharedUrl::Network` Usage: ```rust // load from network img(SharedUrl::network(...)) // previously img(SharedUrl(...) // load from filesystem img(SharedUrl::file(...)) ``` This will be useful when implementing markdown image support, because we need to be able to render images from the filesystem (relative/absolute path), e.g. when implementing markdown preview #5064. I also added an example `image` to the gpui crate, let me know if this is useful. Showcase: <img width="872" alt="image" src="https://github.com/zed-industries/zed/assets/53836821/b4310a26-db81-44fa-9a7b-61e7d0ad4349"> **Note**: The example is fetching images from [Lorem Picsum](https://picsum.photos) ([Github Repo](https://github.com/DMarby/picsum-photos)), which is a free resource for fetching images in a specific size. Please let me know if you're okay with using this in the example.
Bennet Bo Fenner created
b865db4
Fix terminal line background being reset on each line (#7040)
Release Notes: - Fixed #5027 - Fixed #5079 Info: The terminal draws a rectangle for the background color of cells, but this was being reset on every line. The effect of this was that tools like Vim, Helix, and git-delta would only have one line with a background color: <img width="979" alt="Screenshot 2024-01-30 at 2 48 13 pm" src="https://github.com/zed-industries/zed/assets/52195359/ab1873d2-0653-44c6-9406-bc2a277d9a2f"> After this change: <img width="1011" alt="Screenshot 2024-01-30 at 2 49 45 pm" src="https://github.com/zed-industries/zed/assets/52195359/6e4d2a70-590b-48b0-a464-4c827f55622e">
Robert Clover created
372bc42
Fix casing of `OpenZedUrl` action (#7045)
This PR updates the casing of the `OpenZedUrl` action to match the [Rust naming guidelines](https://rust-lang.github.io/api-guidelines/naming.html). Release Notes: - N/A
Marshall Bowers created
0cb8b0e
Clean up `Cargo.toml` files (#7044)
This PR cleans up some inconsistencies in the `Cargo.toml` files that were driving me crazy. Release Notes: - N/A
Marshall Bowers created
3736ce9
protobuf linter? (#7019)
Release Notes: - N/A
Conrad Irwin created
9f9bef4
Prevent GitHub from displaying comments within JSON files as errors (#7043)
This PR adds a `.gitattributes` rule to prevent GitHub from displaying comments within JSON files as errors. We have a number of JSON files (e.g., settings) that make use of comments, and having a bunch of red in a diff is annoying. Release Notes: - N/A
Marshall Bowers created
31e9526
vim: Add support for moving to first, middle and last visible lines (`H`, `L`, `M`) (#6919)
This change implements the vim [motion](https://github.com/vim/vim/blob/master/runtime/doc/motion.txt) commands to move the cursor to the top, middle and bottom of the visible view. This feature is requested in https://github.com/zed-industries/zed/issues/4941. This change takes inspiration from [crates/vim/src/normal/scroll.rs](https://github.com/zed-industries/zed/blob/main/crates/vim/src/normal/scroll.rs). A note on the behavior of these commands: Because `NeovimBackedTestContext` requires compatibility with nvim, the current implementation causes slightly non-standard behavior: it causes the editor to scroll a few lines. The standard behavior causes no scrolling. It is easy enough to account for the margin by adding `VERTICAL_SCROLL_MARGIN`. However, doing so will cause test failures due to the disparity between nvim and zed states. Perhaps `NeovimBackedTestContext` should have a switch to be more tolerant for such cases. Release Notes: - Added support for moving to top, middle and bottom of the screen in vim mode (`H`, `M`, and `L`) ([#4941](https://github.com/zed-industries/zed/issues/4941)).
Vishal Bhavsar created
1ab49fd
Use fallback BPE if the language model doesn't have one (#6848)
Release Notes: - Added a fallback BPE if the language model doesn't have one. --------- Co-authored-by: Piotr Osiewicz <24362066+osiewicz@users.noreply.github.com> Co-authored-by: Marshall Bowers <elliott.codes@gmail.com>
Todsaporn Banjerdkit , Piotr Osiewicz , and Marshall Bowers created
9cb5a84
Add support for loading user themes (#7027)
This PR adds support for loading user themes in Zed.
Themes are loaded from the `themes` directory under the Zed config:
`~/.config/zed/themes`. This directory should contain JSON files
containing a `ThemeFamilyContent`.
Here's an example of the general structure of a theme family file:
```jsonc
{
"name": "Vitesse",
"author": "Anthony Fu",
"themes": [
{
"name": "Vitesse Dark Soft",
"appearance": "dark",
"style": {
"border": "#252525",
// ...
}
}
]
}
```
Themes placed in this directory will be loaded and available in the
theme selector.
Release Notes:
- Added support for loading user themes from `~/.config/zed/themes`.
Marshall Bowers created
5f4dd36
Add ability to expand/collapse directories using the `project_panel::Open` action (#6914)
#6910 I changed the `open_file` symbol to `open`, because this is more consistent with the original intention Release Notes: - Added the ability to expand/collapse directories using the `project_panel::Open` action.
d1y created
2c834c2
Build media and live-kit in test-mode on non-MacOS (#6859)
Build media and live-kit in test-mode on non-MacOS (Related to https://github.com/zed-industries/zed/issues/5391 https://github.com/zed-industries/zed/issues/5395 https://github.com/zed-industries/zed/issues/5394) This makes it possible to build the media and live-kit crates on non-MacOS Release Notes: - N/A
Amin Yahyaabadi created
e69e6f5
Add a newtype wrapper around the global `ThemeRegistry` (#7025)
This PR adds a newtype wrapper around the global `ThemeRegistry`. This allows us to limit where the `ThemeRegistry` can be accessed directly via `cx.global` et al., without going through the dedicated methods on the `ThemeRegistry`. Release Notes: - N/A
Marshall Bowers created
7656096
Rework access to `ThemeRegistry` global (#7023)
This PR reworks how we access the `ThemeRegistry` global. Previously we were making calls directly on the context, like `cx.global::<ThemeRegistry>`. However, one problem with this is that it spreads out the knowledge of exactly what type is stored in the global. In order to make it easier to adjust the type we store in the context (e.g., wrapping the `ThemeRegistry` in an `Arc`), we now call methods on the `ThemeRegistry` itself for accessing the global. It would also be interesting to see how we could prevent access to the `ThemeRegistry` without going through one of these dedicated methods 🤔 Release Notes: - N/A
Marshall Bowers created
2a2cf45
Improve file types list for Ruby syntax (#7022)
### Improved list of file types that require Ruby syntax highlighting - `.ru` files: These are Rackup files and are used for configuring Rack applications. - `.thor` files: Used for defining Thor tasks. Thor is a toolkit for building powerful command-line interfaces in Ruby. - `.cap, .capfile, and Capfile`: These files are used for Capistrano deployment configuration. - `.jbuilder` files: Used for creating JSON responses in a Rails application. - `.rabl files`: RABL (Ruby API Builder Language) files are used for defining JSON templates. - `.rxml` files: RXML files are used for creating XML responses. - `.builder` files: Builder templates, which are used for generating XML and other formats. - `.gemspec` files: These files define metadata for a RubyGem. - `.rdoc` files: RDoc documentation files. - `.thor` files: These files are used for defining Thor tasks. - `.pryrc` files: Configuration files for the Pry REPL (Read-Eval-Print Loop). - `.simplecov`: Configuration file for SimpleCov, a code coverage analysis tool. #### Some examples - <img width="393" alt="image" src="https://github.com/zed-industries/zed/assets/7274458/4e30b03a-ae21-4bae-ab11-48aa46b4bd0b"> - <img width="501" alt="image" src="https://github.com/zed-industries/zed/assets/7274458/07251529-bcde-42d2-8973-341679e5cbc4"> - <img width="365" alt="image" src="https://github.com/zed-industries/zed/assets/7274458/8c9c116c-2b51-4062-b83b-83f60838d28a"> - <img width="396" alt="image" src="https://github.com/zed-industries/zed/assets/7274458/02d591af-88df-41f0-ba52-b11fa370ba07"> - <img width="432" alt="image" src="https://github.com/zed-industries/zed/assets/7274458/91cd760f-f56a-488a-9736-bc03a44b27cf"> - <img width="296" alt="image" src="https://github.com/zed-industries/zed/assets/7274458/282c331e-8896-49d4-b3b6-b3edbf0c1cc5"> - <img width="316" alt="image" src="https://github.com/zed-industries/zed/assets/7274458/a2ddfccf-43d4-4657-a764-9e8d62aa4467"> - <img width="536" alt="image" src="https://github.com/zed-industries/zed/assets/7274458/b0fce8db-4a9e-4615-bf5d-0b6c523bcbc8"> - `path_suffixes` Also new lines the array for readability especially for diffs. Release Notes: - Associated `.ru`, `.thor`, `.cap`, `.capfile`, `Capfile`, `.jbuilder`, `.rabl`, `.rxml`, `.builder`, `.gemspec`, `.rdoc`, `.thor`, `.pryrc`, and `.simplecov` files with Ruby.
Ben Hamment created
3728da1
collab 0.42.1
Max Brunsfeld created
c008c78
Fix slow query for fetching descendants of channels (#7008)
Release Notes: - N/A --------- Co-authored-by: Max <max@zed.dev>
Conrad Irwin and Max created
1313402
Introduce cross-platform file-watching (#6855)
This adds cross-platform file-watching via the [Notify](https://github.com/notify-rs/notify) crate. The previous fs-events implementation is now only used on MacOS, and on other platforms Notify is used. The watching function interface is the same. Related to #5391 #5395 #5394. Release Notes: - N/A
Amin Yahyaabadi created