Commit log

9b453d2 Remove old themes using `UserTheme` constructs (#6897)

Click to expand commit body
This PR removes the themes defined using the `UserTheme` types, as we're
now loading the themes via JSON.

The `theme_importer` has also been reworked to read in a VS Code theme
and output a new JSON theme.

Release Notes:

- N/A

Marshall Bowers created

5f1dcb7 Load JSON themes (#6893)

Click to expand commit body
This PR changes the theme loading to use the JSON themes bundled with
the binary rather then the Rust theme definitions.

### Performance

I profiled this using `cargo run --release` to see what the speed
differences would be now that we're deserializing JSON:

**Before:** `ThemeRegistry::load_user_themes` took 16.656666ms
**After:** `ThemeRegistry::load_user_themes` took 18.784875ms

It's slightly slower, but not by much. There is probably some work we
could do here to bring down the theme loading time in general.

Release Notes:

- N/A

Marshall Bowers created

f7fc4ff Disable Discord URL embed (#6892)

Click to expand commit body
Wrapping links in `<` and `>` disables auto-embeds in Discord, even if
it's a markdown-style link.

Closes #6884

Release Notes:

- N/A

Bjerg created

a2efc8d Add player colors to serialized themes (#6887)

Click to expand commit body
This PR adds player colors to serialized themes.

Release Notes:

- N/A

Marshall Bowers created

0fe0683 Add serialized versions of themes (#6885)

Click to expand commit body
This PR adds serialized versions of each of the themes that currently
ship with Zed.

In a future PR we'll be looking to make these the canonical
representations of the built-in themes.

Note that we're intentionally repurposing the `theme_importer` to do
this, so that crate is a bit rough-and-ready at the moment.

Release Notes:

- N/A

Marshall Bowers created

9d6414b Fix typos configuration (#6877)

Click to expand commit body
- check hidden files
- fix a typos in a hidden file
- ignore "ba" typos in a more specific way
- ignore a typo in collab/migrations/ literally

Release Notes:

- N/A

Viktor Szépe created

1564bd8 Add installation instructions to README (#6870)

Click to expand commit body
This PR adds installation instructions to the README, with a note on
which platforms we currently support.

Release Notes:

- N/A

Marshall Bowers created

bd39258 Address a couple comments re Ruby file associations (#6863)

Click to expand commit body
Release Notes:

- Fixed: Address a [couple comments re Ruby file
associations](https://github.com/zed-industries/zed/pull/6812#discussion_r1468437144)

Stuart Hinson created

ac3e0af fix: move anyhow dependency to dependencies (#6866)

Click to expand commit body
Was moved by mistake in: ebbe52e6b0a33458956e1db400ba07f0e33398c3

This was throwing errors everywhere on Linux because anyhow is needed by
the code and is not macOS dependent.


Release Notes:

- N/A

William Desportes created

0a0a866 Licenses: change license fields in Cargo.toml to AGPL-3.0-or-later. (#5535)

Click to expand commit body
Release Notes:
- N/A

Piotr Osiewicz created

0e4d947 fix: isolate macos-specific dependencies (#6854)

Click to expand commit body
Release Notes:
- N/A

Amin Yahyaabadi created

1f83b5c FileFinder: use idiomatic definition for Ord/PartialOrd (#6851)

Alex Kladov created

5b9f15e add test_data

Brian Strauch created

536a4ab Add `font_style` and `font_weight` to serialized theme representation (#6838)

Click to expand commit body
This PR adds `font_style` and `font_weight` as fields on the
`HighlightStyleContent` used in the serialized theme representation.

Release Notes:

- N/A

Marshall Bowers created

fd3c96d Add Haskell support (#5281) (#6786)

Click to expand commit body
This PR adds the Haskell tree-sitter grammar copied from
[`nvim-treesitter`](https://github.com/nvim-treesitter/nvim-treesitter/tree/master/queries/haskell).
It also adds the Haskell Language Server.

This is a joint effort by myself (adding the grammar) and @leifu1128
(who is adding the language server integration).

This PR resolves https://github.com/zed-industries/zed/issues/5281

Release Notes:

- Added Haskell support
([#5281](https://github.com/zed-industries/zed/issues/5281)).

Mikayla Maki created

0e722f6 Extend support for outlining in Gleam (#6834)

Click to expand commit body
This PR extends support for outlines in the recently-added Gleam
support.

Note that I'm leaving the release notes section blank as we haven't yet
released Gleam support, so it can just roll up into that item.

Release Notes:

- N/A

Marshall Bowers created

eccfc53 Remove `xz` feature (no longer using it)

Pseudomata created

030ff0a Simplify Haskell LSP integration

Click to expand commit body
This change will work without any configuration and assume the user will install the Haskell Language Server using `ghcup`

Pseudomata created

53ee597 Documentation: Clarify shortcuts and fix grammar (#6821)

Click to expand commit body
I got stuck on the "Getting started" page because I was trying to use
the shortcut `⌘+,` and not `⌘,`. This PR removes the `+`'s to make the
shortcuts clearer to the reader.

Release Notes:

- Improved getting started instructions.

---------

Co-authored-by: Marshall Bowers <elliott.codes@gmail.com>

Kieran Gill and Marshall Bowers created

f369e9a vim: fix dtx when x is immediately to the right

Brian Strauch created

9833d4b Add a couple common Ruby file suffixes (#6812)

Click to expand commit body
Release Notes:

- Added `Gemfile.lock` and `rake` as associated Ruby files.

Stuart Hinson created

6bdfde4 Restore key bindings docs (#6823)

Click to expand commit body
This PR restores the key bindings docs from `zed.dev`.

Release Notes:

- N/A

Marshall Bowers created

652ec6f Ability to manually configure LSP for Haskell

Click to expand commit body
Allow users who have HLS installed using `ghcup` to manually provide the path for the Haskell language server

Pseudomata created

c3110d3 Rename `BellBadged` to `BellDot` (#6820)

Click to expand commit body
This PR renames the `BellBadged` icon to `BellDot` to be a bit clearer
as to what its contents are.

Release Notes:

- N/A

Marshall Bowers created

62365e6 Add a badge to the bell icon on new notifications (#6751)

Click to expand commit body
It changes the icon if a new notification event is consumed and changes
it back to normal upon toggling NotificationPanel.

Added a new field to NotificationPanel:
	- have_unseen_notifications: bool

Added a new icon asset
	- IconName::BellBadged => "assets/icons/bell_badged.svg"

Release Notes:

- Added a badge to bell icon for new notifications
([#6721](https://github.com/zed-industries/zed/issues/6721)).

David Rachmaninoff created

895c838 Collab UI improvements (#6805)

Click to expand commit body
- Allow people to leave channels
- Make contacts use right click menu for call
- Add a hover menu to see who's in a channel

Release Notes:

- Fixed clicking on contacts to *not* call them immediately
- Added a hover menu on channels to see who is there
- Added a "Leave Channel" right click option

Conrad Irwin created

7e7a9c2 lint

Conrad Irwin created

faf7798 Use same arguments for LSP binary in `haskell.rs`

Pseudomata created

0576214 Remove Haskell `injections.scm`

Click to expand commit body
Since tree-sitter-haskell does not support injections we don’t want to mix with nvim-treesitter

Pseudomata created

6e25b0a Switch to `tree-sitter-haskell` grammar

Pseudomata created

5db7e8f collab 0.42.0

Conrad Irwin created

a0f8a23 Add a hover menu to see who's in a channel

Click to expand commit body
Co-Authored-By: Max <max@zed.dev>
Inspired-By: @RemcoSmitsDev

Conrad Irwin and Max created

95fab10 Make contacts use right click menu for call

Click to expand commit body
Fixes accidental anxiety.

Co-Authored-By: Max <max@zed.dev>

Conrad Irwin and Max created

1761e60 Improve performance of JSON schema creation (#6770)

Click to expand commit body
JSON LSP adapter now caches the schema. `workspace_configuration` is
back to being async, and we are also no longer asking for font names
twice while constructing the schema.
Release Notes:
- Improved performance when opening the .json files.

---------

Co-authored-by: Kirill <kirill@zed.dev>

Piotr Osiewicz and Kirill created

0a124a9 Feature: PHP: Add `readonly` keyword to keyword list (#6798)

Click to expand commit body
Release Notes:

- Added `readonly` to keyword list for PHP
([#6797](https://github.com/zed-industries/zed/issues/6797)).

Mikayla Maki created

f5f7be1 Add `experimental.theme_overrides` to settings file (#6791)

Click to expand commit body
This PR adds **experimental** support for overriding theme values in the
current theme.

Be advised that both the existence of this setting and the structure of
the theme itself are subject to change.

But this is a first step towards allowing Zed users to customize or
bring their own themes.

### How it works

There is a new `experimental.theme_overrides` setting in
`settings.json`.

This accepts an object containing overrides for values in the theme. All
values are optional, and will be overlaid on top of whatever theme you
currently have set by the `theme` field.

There is JSON schema support to show which values are supported.

### Example

Here's an example of it in action:


https://github.com/zed-industries/zed/assets/1486634/173b94b1-4d88-4333-b980-8fed937e6f6d

Release Notes:

- Added `experimental.theme_overrides` to `settings.json` to allow for
customizing the current theme.
  - This setting is experimental and subject to change.

Marshall Bowers created

c9c9a6b Activate the nushell virtualenv overlay correctly (#6766)

Click to expand commit body
The activate.nu file works a little differently than its counterparts in
other shells, and it needs to be invoked as an overlay, rather than
sourced directly into the shell.

This fixes an outstanding issue left over from #6323.


Release Notes:

- (Improved) ...
([#6323](https://github.com/zed-industries/zed/issues/6323)).

Mikayla Maki created

fd5994b Allow people to leave channels

Click to expand commit body
Co-Authored-By: Max <max@zed.dev>

Conrad Irwin and Max created

8bc105c Simplify Membership Management (#6747)

Click to expand commit body
Simplify Zed's collaboration system by:
- Only allowing member management on root channels.
- Disallowing moving sub-channels between different roots.
- Disallowing public channels nested under private channels.

This should make the mental model easier to understand, and makes it
clearer
who has what access. It is also significantly simpler to implement, and
so
hopefully more performant and less buggy.

Still TODO:
- [x] Update collab_ui to match.
- [x] Fix channel buffer tests.

Release Notes:

- Simplified channel membership management.

Conrad Irwin created

ac05853 Add `readonly` keyword to keyword list

Remco Smits created

b5c64a1 Feature: PHP allow single quote autocompletion (#6796)

Click to expand commit body
Release Notes:

- Added support for single quote autocompletion in PHP
([#6794](https://github.com/zed-industries/zed/issues/6794)).
- Added `#` to supported line comments for PHP
([#6794](https://github.com/zed-industries/zed/issues/6794)).

Remco Smits created

58a9f51 Comment out haskell_persistent and sql injections

Click to expand commit body
- the haskell_persistent grammar has not been added, see https://github.com/nvim-treesitter/nvim-treesitter/tree/master/queries/haskell_persistent and https://github.com/MercuryTechnologies/tree-sitter-haskell-persistent
- the sql grammar has not been added either

Pseudomata created

22034d2 Superstitiously wait some more for flakey test

Conrad Irwin created

08de0d8 Update channel moving to match

Conrad Irwin created

d35c3ee Merge pull request #2 from leifu1128/hls-adapter

Click to expand commit body
implement hls adapter

Pseudomata created

ee750e1 implement hls adapter

Lei created

c6d33d4 Only allow Manage Members on root channels

Conrad Irwin created

3c3cdec Fix bracket captures for Go, C, C++, and Zig (#6784)

Click to expand commit body
This fixes #6702 by adding the captures for Go, C, C++, and Zig.

Witnessed-by: @dammerung2718  <dammerung2718@icloud.com>

Release Notes:

- Fixed matching-bracket navigation via `%` in Vim mode not working for
`(` in Go, C, C++, and not working for any in Zig.
([#6702](https://github.com/zed-industries/zed/issues/6702))

Thorsten Ball created

39f4ba1 Merge pull request #1 from pseudomata/add-haskell-grammar

Click to expand commit body
Add haskell grammar

Pseudomata created

2b9ba46 Merge branch 'haskell-support' into add-haskell-grammar

Pseudomata created