Commit log

dbf25ea Add syntax highlighting for Cargo.toml files

Joseph T. Lyons created

580c2ea Fix test name

Joseph T. Lyons created

4e33654 Make LspAdapter::process_diagnostics synchronous

Click to expand commit body
Co-authored-by: Nathan <nathan@zed.dev>

Max Brunsfeld and Nathan created

3e0d0e5 WIP

Nathan Sobo created

d4d3261 WIP

Nathan Sobo created

adc5046 WIP

Nathan Sobo created

e3a4d17 Fix bash `path_suffixes `and add `cmd-/` line comment support (#2827)

Click to expand commit body
<img width="1608" alt="SCR-20230806-cyrg"
src="https://github.com/zed-industries/zed/assets/19867440/2491c4bc-5797-4417-9633-08c136b4e8fe">

I noticed we weren't highlghting bash files if the shebang line didn't
exist. After checking, it looks like the `.` were accidentally added to
the `path_suffixes` list. This PR fixes that and adds in support for
`cmd-/` to trigger line comments.

<img width="1608" alt="SCR-20230806-czxh"
src="https://github.com/zed-industries/zed/assets/19867440/37dd0c8e-c4e7-49e2-9997-9dd8145f460e">


Release Notes:

- Fixed a bug where shell files weren't syntax highlighted if a shebang
didn't exist.
- Added support for `cmd-/` to add line comments to shell files.

Joseph T. Lyons created

ef5b982 Fix bash path_suffixes and add line_comment

Joseph T. Lyons created

dcf8b00 WIP

Nathan Sobo created

7777d97 Expand empty selections to cover full word when doing case conversions and fix bugs (#2826)

Click to expand commit body
When doing case conversions, specifically in the case of an empty
selection, in both VS Code and Sublime, the cursor winds up being in a
different place relative to where it started.

In VS Code, the cursor maintains it position in the text, no matter if
the text expands or shrinks


https://github.com/zed-industries/zed/assets/19867440/b24f5d86-c315-4a72-9ed4-3732b490ea9a

In Sublime, I have no idea what is going on:


https://github.com/zed-industries/zed/assets/19867440/05f21303-6e42-47b2-b844-7accd0bf05d7

I thought it would be a better experience if, when doing an empty
selection transformation, we simply expand the selection and park the
cursor at the end of the newly-transformed text.


https://github.com/zed-industries/zed/assets/19867440/833619ef-04e2-47b6-ad4e-e2b43d54fb2b

This feels similar to us expanding the selection when doing line
manipulations:


https://github.com/zed-industries/zed/assets/19867440/c30c5332-787d-4cf0-a9ee-e66c3c159956

Selections are adjusted to match however each word expands and shrinks,
even when there are multiple:


https://github.com/zed-industries/zed/assets/19867440/d7073aac-8a59-4f2c-b0e5-1df37be1694c

Release Notes:

- Improved behavior of empty-selection case transformations by selecting
resulting word.
- Fixed some bugs with overflow

Joseph T. Lyons created

1abb6a0 Expand empty selections to cover full word and fix bugs

Joseph T. Lyons created

d1048d0 Add more convert to case commands (#2825)

Click to expand commit body
I'm using [convert_case](https://crates.io/crates/convert_case)
underneath the hood, which has over 35 million downloads and feels
solid.

Release Notes:

- Added commands to convert between variable name styles
([#1821](https://github.com/zed-industries/community/issues/1821)).
    - `convert to kebab case`
    - `convert to snake case`
    - `convert to upper camel case`
    - `convert to lower camel case`
    - `convert to title case`

Joseph T. Lyons created

12e8f41 Add more convert to case commands

Click to expand commit body
ConvertToTitleCase
ConvertToSnakeCase
ConvertToKebabCase
ConvertToUpperCamelCase
ConvertToLowerCamelCase

Joseph T. Lyons created

5c2f38a Add `convert to {upper,lower} case` commands (#2824)

Click to expand commit body
Release Notes:

- Added `convert to upper case` and `convert to lower case` commands
([#1011](https://github.com/zed-industries/community/issues/1011)).

Joseph T. Lyons created

8c98b02 Add `convert to {upper,lower} case` commands

Click to expand commit body
Co-Authored-By: Julia <30666851+ForLoveOfCats@users.noreply.github.com>

Joseph T. Lyons and Julia created

d3c1966 WIP: Return WindowHandle<V: View> from AppContext::add_window (#2820)

Click to expand commit body
Instead of returning a usize for the window id, I'm instead returning a
`WindowHandle<V: View>` where `V` is the type of the window's root view.
@as-cii helped me with a cool technique using generic associated types
where methods on `WindowHandle` can return either T or Option<T>
depending on the `BorrowWindowContext::Result` associated type.

Some example usage...

```rs
let window = cx.add_window(|cx| MyView::new(cx));
let my_view = window.root(cx); // If cx is TestAppContext, returns MyView. Otherwise returns Option<MyView>, because the window could be closed.
```


This isn't insanely beneficial on its own, but I think it will help
clean up our testing story. I'm planning on making `window` more useful
in tests for laying out elements, etc.

- [x] Rework tests that call `add_window` 😅 to expect only a window in
return.
- [x] Get tests passing
- [x] 🚬  test

Nathan Sobo created

2d96388 Use WindowHandles in a couple places

Nathan Sobo created

485c0a4 Don't refcount window handles

Nathan Sobo created

afcc0d6 WIP

Nathan Sobo created

ee1b4a5 Add `PathExt` trait (#2823)

Click to expand commit body
This PR adds a `PathExt` trait. It pulls in our existing `compact()`
function, as a method, and then adds a method, and testing, for
`icon_suffix()`. A test was added to fix:

- https://github.com/zed-industries/community/issues/1877

Release Notes:

- Fixed a bug where file icons would not be registered for files with
with `.` characters in their name
([#1877](https://github.com/zed-industries/community/issues/1877)).

Joseph T. Lyons created

3c938a7 WIP

Nathan Sobo created

ad4fd76 Use the same font size for hovered state of LSP status (#2821)

Click to expand commit body
This element is used for the update state as well for some reason so
while we don't normally ever see this state, it is used when the status
is acting as the restart to update button

Release Notes:

- Fixed an inconsistency in the status bar update button font size.

Julia created

df4480b Use the same font size for hovered state of LSP status

Click to expand commit body
This element is used for the update state as well for some reason so
while we don't normally ever see this state, it is used when the status
is acting as the restart to update button

Julia created

8e36da1 Get tests passing

Nathan Sobo created

884cee6 Get tests compiling returning WindowHandle<V: View> from add_window

Nathan Sobo created

9e755bb Revert "Extract syntax highlighting properties from tree-sitter highlight queries (#2797)"

Click to expand commit body
This reverts commit 45c635872b5ef7bb8994e16d593aa25edf8e94bf, reversing
changes made to f2b82369f27b79fdcaa6a4276bb047abddf7171c.

Max Brunsfeld created

60e190e WIP

Nathan Sobo created

b0ec05a v0.99.x dev

Joseph T. Lyons created

a127b0d Fix warnings surfaced in Rust 1.71

Max Brunsfeld created

4c7d60e Upgrade to rust 1.71

Max Brunsfeld created

300ce61 WIP

Nathan Sobo created

b695c42 WIP: Return WindowHandle<V: View> from AppContext::add_window

Nathan Sobo created

5e9f7f1 Improve panic message usefulness on local dev builds (#2819)

Click to expand commit body
I got tired of having to hack in a panic hook bypass whenever I wanted a
backtrace with line numbers. Now a dev channel build will behave more
like the default panic hook, printing a pretty traditional backtrace
message and exit with an error code instead of aborting to avoid the
annoying "Zed crashed" dialog.

I have plans to modify our panic reporting to be able to have line
numbers reported without breaking the de-duping but I haven't done that
yet.

Additionally I slightly improved what we do in threads which panic as a
result of another thread's panic.

Release Notes:

- N/A

Julia created

3cee181 Improve panic message usefulness on local dev builds

Julia created

eb26fb2 Fix variable names

Joseph T. Lyons created

ce258df Expanded Semantic language support (#2818)

Click to expand commit body
Expand Language Support within Semantic Search

Release Notes (Preview-only)

- Added semantic search support for lua, ruby, php, svelte, erb, heex,
html and markdown.
- Full details are included here:
https://linear.app/zed-industries/issue/Z-2611/allow-semantic-search-for-all-supported-languages

Kyle Caverly created

300c693 catchup with main

KCaverly created

e221f23 add support for markdown files to semantic search

KCaverly created

9a50b43 add templating languages html, erb, heex, svelte as entire parseable file types

KCaverly created

06a0c9f Track history items in the buffer and project searches (#2817)

Click to expand commit body
![image](https://github.com/zed-industries/zed/assets/2690773/53ce324f-2243-4cd9-a8aa-11f361c36860)

Tracks last N (20 currently) items in buffer and project search, allows
cycling through between them with up/down keys by default.

Release Notes:

- Track history in buffer and project searches

Kirill Bulatov created

634baee Add project search history

Kirill Bulatov created

646dabe Add buffer search history

Kirill Bulatov created

599f674 add php support for semantic search

KCaverly created

ef57d44 Halve opacity on wrap guides (#2815)

Click to expand commit body
Wrap guides are a little too bright as is

Mikayla Maki created

88474a6 Clip wrap guides from under the scrollbar

Mikayla Maki created

b530aab Additional storage filetypes (#2816)

Click to expand commit body
Been working with some db stuff and thought it would be nice to add a
few more associations

Release Notes:

- Added additional filetype associations in the project browser

Nate Butler created

bb288eb Ensure json uses a tab size of 4

Nate Butler created

c470941 Format

Nate Butler created

e07a81b Add additional storage filetypes

Nate Butler created

89edb3d fix templating bug for parseable entire files

KCaverly created