4af5425
Fix a spelling typo (#7059)
Click to expand commit body
Release notes: N/A
Hans 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
b29f45e
Change underlying type of BufferId to NonZeroU64.
Piotr Osiewicz created
5ab715a
text: Wrap BufferId into a newtype
Piotr Osiewicz created
941e838
Prevent z-index id shuffle when number of z-indicies in the scene change
Julia created
849a132
Fix hovering over elements nested inside their parents
Co-Authored-By: Conrad Irwin <conrad@zed.dev>
Julia and Conrad Irwin created
d60ef81
Setup Danger (#6994)
This PR sets up [Danger](https://danger.systems/js/) to help us codify some of our PR rules. As an initial rule, Danger will check to ensure that every PR has a `Release Notes` section: <img width="943" alt="Screenshot 2024-01-29 at 11 50 12 AM" src="https://github.com/zed-industries/zed/assets/1486634/4d56e759-e72f-4bc0-8e74-42c55e2e6888"> Release Notes: - N/A
Marshall Bowers created
d694017
Add Haskell file type icon (#6995)
Small change to add the Haskell logo as a file icon. Screenshot below shows what this looks like. 
Pseudomata created
d1a6003
Use Git status color for icons in project panel (#6992)
This PR updates the icons in the file tree in the project panel to also use the Git status color: <img width="267" alt="Screenshot 2024-01-29 at 10 21 41 AM" src="https://github.com/zed-industries/zed/assets/1486634/2f4f6e9e-8050-4f5b-851a-e407aec823a0"> Release Notes: - Updated icons in project panel to reflect Git status ([#6991](https://github.com/zed-industries/zed/issues/6991)).
Marshall Bowers created
d296886
rust: Update rust-analyzer repo address (#6986)
I am so sorry that I closed the https://github.com/zed-industries/zed/pull/6980 misoperationally. Here is a new pr.
bestgopher created
a827d0d
fixed zig config on line_comments (#6979)
On a .zig files , the `CMD-/` keybinding don't work, In the language config its the only language with '//' type comment that is written in singular without array. This fixed the problem, so i assume it was just a typo  Release notes: - Fixed line comment continuations and Editor::ToggleComments for Zig, Haskell and PureScript.
Abel Chalier created
843919d
docs: Update configuring_zed__key_bindings.md (#6974)
Release notes: N/A
liruifengv created
8263da0
Make .jsonc icon use storage icon (#6972)
Jsonc is a simplified json format which allows comments and unquoted values delimited by whitespace. A jsonc formatted file can be unambiguously transformed to a json file. Comments will be stripped out and quotes added. Release Notes: - Added an icon for .jsonc files
d1y created
4954275
Correctly check existence of target directory in `copy_recursive` function (#6875)
Fixes https://github.com/zed-industries/zed/issues/6778 Release Notes: - Fixed issue where copy-paste for folders was not working in the project panel ([#6778](https://github.com/zed-industries/zed/issues/6778)).
George Munyoro created
9ef830e
update: Add arch and os to release query parameters. (#6976)
This is no-op right now, but we need it for multi-platform support and (potentially) to split the Universal Binary on mac into two non-universal targets. Related to: #6837 Release Notes: - N/A
Piotr Osiewicz created
8fbc88b
Load embedded fonts directly from .rdata instead of cloning (#6932)
The fonts we embed in Zed binary (Zed Sans & Zed Mono) weigh about 30Mb in total and we are cloning them several times during startup and loading of embedded assets (once explicitly in Zed and then under the hood in font-kit). Moreover, after loading we have at least 2 copies of each font in our program; one in .rdata and the other on the heap for use by font-kit. This commit does away with that distinction (we're no longer allocating the font data) and slightly relaxes the interface of `TextSystem::add_fonts` by expecting one to pass `Cow<[u8]>` instead of `Arc<Vec<u8>>`. Additionally, `AssetSource::get` now returns `Cow<'static, [u8]>` instead of `Cow<'self, [u8]>`; all existing implementations conform with that change. Note that this optimization takes effect only in Release builds, as the library we use for asset embedding - rust-embed - embeds the assets only in Release mode and in Dev builds it simply loads data from disk. Thus it returns `Cow<[u8]>` in it's interface. Therefore, we still copy that memory around in Dev builds, but that's not really an issue. This patch makes no assumptions about the build profile we're running under, that's just an intrinsic property of rust-embed. Tl;dr: this should shave off about 30Mb of memory usage and a fair chunk (~30ms) of startup time. Release Notes: - Improved startup time and memory usage.
Piotr Osiewicz created
e22ffb6
Run weekly update each day
Joseph T. Lyons created
00a6ac6
docs: Consistent shortcut style (#6961)
Hey all. This is a follow-up to my last PR https://github.com/zed-industries/zed/pull/6821. I went through and applied the same style changes to more pages so your docs are more consistent. <img width="1330" alt="image" src="https://github.com/zed-industries/zed/assets/18583882/b9adbb38-b98d-47c6-b585-7e298ffae854"> Note that some pages from your old docs repo haven't been ported to `zed-industries/zed` yet. Release Notes: - Improved documentation consistency.
Kieran Gill created
6cd306e
docs: Add initial language settings documentation (#6957)
This pull request implements the following documentation changes: - [x] Copy existing language settings docs from old docs repo - [x] Add new pages for Zig, Haskell, Gleam, Deno and PureScript - [x] Add `rust-analyzer` target directory section to Rust language page Release Notes: - Added initial language settings documentation ([#4264](https://github.com/zed-industries/zed/issues/4264)).
Brian Ginsburg created
5d0c144
theme_importer: Define more colors in `VsCodeTheme` (#6960)
This PR extends the `VsCodeTheme` struct with more of the colors available on a VS Code theme. Release Notes: - N/A
Marshall Bowers created
331b6e7
Support "dtx" vim key combination when "x" is immediately to the right of the cursor (#6830)
Closes #4358
The bug originates on this line:
https://github.com/zed-industries/zed/blob/5db7e8f89ee4f5d9801a2eab88adc1db3fda0f46/crates/vim/src/motion.rs#L451
- When running "dtx" on "ˇabcx", the range to delete is 0 -> 2 ("abc")
- When running "dtx" on "abˇcx", the range to delete is 2 -> 2 ("c"), so
`new_point == point` and the function incorrectly returns `None` and "c"
is not deleted
- We need to disambiguate between the "not found" case and the "found
immediately to the right" case
- This bug does not apply to the backwards case ("dTx")
Release Notes:
- Fixed "dtx" vim key combination when "x" is immediately to the right
of the cursor (#4358)
Conrad Irwin created
4ab1d8a
Add support for u and U in vim visual mode (#6948)
This pull request adds support for upper / lower casing a visual selection with `u` or `U` respectively, and resolves #6901. I took an approach to split out the logic of the existing `ChangeCase` action into something that could be reused for the two new actions. One area that I could use feedback on is whether or not vim binding updates make sense. Judging purely from the way things work from a clean install of Vim / Neovim, I'm pretty sure that it's a bug that `u` applies an undo in visual mode, so I think it's safe to make this change, but it changes a behavior that some users may be used to by now in Zed. Release Notes: - Added support for `u` and `U` in Vim visual mode ([#6901](https://github.com/zed-industries/zed/issues/6901)).
Conrad Irwin created
7c93f62
Reinstate requirements.txt
Joseph T. Lyons created
92911de
Update top ranking issues script to take in a day interval (#6951)
Switch to `poetry` Update script to take in a `query-day-interval` argument, so we can make a report from all issues or just n last days. Release Notes: - N/A
Joseph T. Lyons created
80cdd60
Add a weekly report
Joseph T. Lyons created
6305761
Update top ranking issues script to take in a day interval
Joseph T. Lyons created
db68fc5
Add PureScript LSP/Highlighting support (#6911)
This PR adds basic support for the language using the `purescript-language-server`. Release Notes: - Added support for PureScript.
Iván Molina Rebolledo created
7767062
Add missing workspace edit capabilities (#6950)
Closes https://github.com/zed-industries/zed/issues/6916 Specification: https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#workspaceEdit Adds a safe minimum of the capabilities that Zed supports already, allowing rust-analyzer to send file edits on rename. Release Notes: - Fixed rust module rename from editor not renaming the FS entries ([6916](https://github.com/zed-industries/zed/issues/6916))
Kirill Bulatov created
444f918
Retrieve credentials for saved conversations (#6949)
This PR fixes an issue where credentials for saved conversations weren't being fully retrieved, which was preventing continuing a conversation with the assistant in a saved conversation. Release Notes: - Fixed continuing a saved conversation with the Zed assistant.
Marshall Bowers created
52f7f2d
Update name of function to match other implementation
Brooks Swinnerton created