Commit log

f2b8236 Make LSP status message match new font size of diagnostic message (#2796)

Click to expand commit body
The status bar diagnostic message font size was updated in
https://github.com/zed-industries/zed/commit/1f65effe57b85d126fcb5689d6d37ec3f768502e
but the LSP status message font size remained the same causing a font
size change when swapping between the two

![CleanShot 2023-07-26 at 18 32
13](https://github.com/zed-industries/zed/assets/30666851/8d357f46-3a48-4ed1-9832-d24b4b2be4a8)
![CleanShot 2023-07-26 at 18 30
56](https://github.com/zed-industries/zed/assets/30666851/e4ce9911-f66d-4bc3-b951-78196da44176)

Release Notes:

- Fixed an inconsistency in status bar font size.

Julia created

0ab1c6a Make LSP status message match new font size of diagnostic message

Julia created

46dd717 Maintain cursor stack's position correctly when ascending the tree (#2795)

Click to expand commit body
This fixes a bug that could cause the cursor to incorrectly report its
start when using `slice` or `seek_forward`, and then calling `prev`. We
didn't notice this because we were not testing those three methods
together.

I suppose this could explain some of the panics we've observed because
we do use `slice`/`seek_forward` followed by `prev` calls in production.

Antonio Scandurra created

2e0d051 Maintain cursor stack's position correctly when ascending the tree

Click to expand commit body
This fixes a bug that could cause the cursor to incorrectly report its
start when using `slice` or `seek_forward`, and then calling `prev`. We
didn't notice this because we were not testing those three methods
together.

I suppose this could explain some of the panics we've observed because
we do use `slice`/`seek_forward` followed by `prev` calls in production.

Antonio Scandurra created

129e711 Downgrade tree sitter elm to 5.6.4 (#2794)

Click to expand commit body
The tree sitter elm parser contains a c symbol which collides with other
linked symbols. This PR downgrades the tree sitter elm parser to a
version which doesn't have this problem.

Release Notes:
- Fixed crash when parsing elm files

Mikayla Maki created

d5c3070 Downgrade tree sitter elm to 5.6.4

Mikayla Maki created

b8a2a2e Block extra drag events in original drag handlers (#2793)

Click to expand commit body
In https://github.com/zed-industries/zed/pull/2790 I added an extra drag
event on mouse_up which signaled the end of a drag event, as mouse_up
event themselves wouldn't reliably fire if users moved their mouse too
quickly. This broke the assumptions of the terminal element. This PR
adds filters to all current on_drag handlers which removes this new
event.

Release Notes:

- Fixed a bug causing terminal links to never open (preview only)
- Fixed a bug in terminal link detection causing it to miss files with a
`-` in it

Mikayla Maki created

354c020 Block extra drag events in original drag handlers

Mikayla Maki created

ee66f99 Parallel vector db (#2792)

Click to expand commit body
Parallelize Vector Database calls for project semantic search.

Release Notes: (Preview-only)

- Parallelize Vector database calls for project semantic search. Cuts
query time by 2/3rds.
- Removed default keymap for old semantic search modal.

Kyle Caverly created

fbede4a removed old code

KCaverly created

e2b38f7 remove unused imports

KCaverly created

0616788 remove default keymap for semantic search modal

KCaverly created

5c48729 managed for small batch size edge case in semantic search

KCaverly created

89bbcdf remove debug logging for project_search semantic search

KCaverly created

98fde36 batch search queries in the vector database

KCaverly created

40fcec1 Follow naming convention for menu items

Joseph T. Lyons created

6cd10f3 v0.98.x dev

Joseph T. Lyons created

603387a icon updates (#2791)

Click to expand commit body
Updated app icon and icon system updates

Derek Briggs created

9fc1ebc icon updates

Derek Briggs created

711073c Simple cascading split (#2790)

Click to expand commit body
This PR cascades the split resizing to adjacent splits, if the current
split has already hit the minimum size. This PR also adds support for
detecting the end of a drag event to GPUI, via a bool on the dispatched
drag.

Release Notes:

- Made split resizing more flexible

Mikayla Maki created

a58c9ed fmt

Mikayla Maki created

56704c7 Remove placeholders

Mikayla Maki created

fc1844d Semantic search v2 (#2789)

Click to expand commit body
Move semantic search from navigation modal, to project search option.
This PR is intended to be released in Preview only, and requires an
opt-in semantic_index option to enable. Without this opt-in setting
enable, the user should perceive no differences between previous project
search.

Release Notes: (Preview-only)

- Added Semantic Search as a opt-in feature within Project Search
- Show indexing feedback on indexing process within project search view

Kyle Caverly created

0b61c93 ensure semantic search is not enabled on stable

KCaverly created

394a105 fix warnings

KCaverly created

0ac919f catchup with main

KCaverly created

ca6f7d8 add worktree previously indexed functionality to vector db

KCaverly created

39f02c2 Add a mode indicator for vim (#2763)

Click to expand commit body
Release Notes:

- vim: add a mode indicator
([#409](https://github.com/zed-industries/community/issues/409))

Now updated screenshots with @iamnbutler 
<img width="1043" alt="Screenshot 2023-07-25 at 11 11 57"
src="https://github.com/zed-industries/zed/assets/94272/8301479a-8b58-42d8-81a1-bc40e1e0a4df">
<img width="1043" alt="Screenshot 2023-07-25 at 11 12 00"
src="https://github.com/zed-industries/zed/assets/94272/89c3b8bd-9cbc-4fd7-ad10-dac5538ed3a3">
<img width="1043" alt="Screenshot 2023-07-25 at 11 12 12"
src="https://github.com/zed-industries/zed/assets/94272/adc87fe3-a720-4779-853b-df9443407046">

Conrad Irwin created

1b03c5d Pass PaintContext to Element::paint

Click to expand commit body
I want to use this on another branch, but it's a sweeping change,
so this prepares the ground for it. This can always be reverted if
it doesn't work out.

Nathan Sobo created

7599920 update project search to only show semantic button visible with semantic_index enabled

KCaverly created

cc23360 Add sort lines command (#2786)

Click to expand commit body
This PR adds command palette actions for:

- `sort lines case sensitive`
- `sort lines case insensitive`
- `reverse lines`
- `shuffle lines`

Closes out:

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

and partially closing out:

- https://github.com/zed-industries/community/issues/57 (which is
currently a top-ranked issue)

There are issues with dedupe lines and I didn't try to tackle converting
variable names between different conventions. I'll likely close out 57
with a note to just upvote the remaining individual issues

Release Notes:

- added command palette actions for `sort lines case sensitive`, `sort
lines case insensitive`, `reverse lines`, and`shuffle lines`
(([#57](https://github.com/zed-industries/community/issues/57)),
([#658](https://github.com/zed-industries/community/issues/658)))

Joseph T. Lyons created

e8210b8 move visible text to just start anchor with context lines for semantic search

KCaverly created

cdceddd update semantic index tests for elixir

KCaverly created

4085df5 Add tests for manipulate_lines()

Joseph T. Lyons created

64b252e A little refactor

Click to expand commit body
Co-Authored-By: Mikayla Maki <mikayla.c.maki@gmail.com>

Conrad Irwin and Mikayla Maki created

bf2ca57 Remove { and } from single-line closure

Joseph T. Lyons created

b5630eb Merge branch 'main' into quinn/nix

Mikayla Maki created

c32fd57 Add support for Elm and GLSL (#2782)

Click to expand commit body
This adds tree-sitter grammars for both Elm and GLSL, with injections
for GLSL embedded within Elm. It also adds an `outline.scm` for Elm,
though limitations in the tree-sitter grammar meant that I wasn't able
to get it looking exactly how I'd have liked.

In particular, it wasn't clear how to nicely annotate functions in the
outline as being functions, or how to prevent the fields of a record
declaration from being increasingly indented.


![image](https://github.com/zed-industries/zed/assets/285821/544bc00b-3bfc-4ec7-be9d-764b9f0292ab)

![image](https://github.com/zed-industries/zed/assets/285821/74e57e95-bf87-4989-ae29-a2f625141bcf)

![image](https://github.com/zed-industries/zed/assets/285821/9e283c78-66d5-4c15-9827-1b5b446cdc37)

fixes https://github.com/zed-industries/community/issues/598

Release Notes:
- Added syntax highlighting for the Elm and GLSL languages

Mikayla Maki created

93ec73d Fix code computing new selections

Click to expand commit body
Co-Authored-By: Mikayla Maki <mikayla.c.maki@gmail.com>

Joseph T. Lyons and Mikayla Maki created

97c3d97 update semantic index tests for cpp

KCaverly created

1f65eff Update status bar theming

Click to expand commit body
Co-Authored-By: Nate Butler <iamnbutler@gmail.com>

Conrad Irwin and Nate Butler created

299818c Fix rand import and tweak callbacks

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

Joseph T. Lyons and Julia created

c86096a update semantic index tests for javascript

KCaverly created

1a84382 WIP

Joseph T. Lyons created

bdd0b9f Add open file in project finder via space (#2785)

Click to expand commit body
@mikayla-maki for 👀 

[This PR added in the ability to rename a file via
`enter`](https://github.com/zed-industries/zed/pull/2784). Previously,
`enter` was used to both open a file and confirm a rename, so this PR
changes the opening of a file to use `space`, which is what VS Code
uses. It also makes a bit more sense because now `enter` is just used to
start a rename and confirm the rename, vs being used for 2 different
actions.

N/A on the release notes, as I adjusted the release note in the
previously-tagged PR.

Release Notes:

- N/A

Joseph T. Lyons created

a01d973 More git status optimizations (#2779)

Click to expand commit body
Follow-up to https://github.com/zed-industries/zed/pull/2777
Refs https://github.com/zed-industries/community/issues/1770

In this PR, I reworked the way that git statuses are retrieved. In a
huge repository like `WebKit`, the really slow part of computing a list
of git statuses is the *unstaged* portion of the diff. For the *staged*
diff, `git` can avoid comparing the contents of unchanged directories,
because the index contains hashes of every tree. But for the *unstaged*
portion, Git needs to compare every file in the worktree against the
index. In the common case, when there are no changes, it's enough to
check the `mtime` of every file (because the index stores the mtimes of
files when they are added). But this still requires an `lstat` call to
retrieve each file's metadata.

I realized that this is redundant work, because the worktree is
*already* calling `lstat` on every file, and caching their metadata. So
in this PR, I've changed the `Repository` API so that there are separate
methods for retrieving a file's *staged* and *unstaged* statuses. The
*staged* statuses are retrieved in one giant batch, like before, to
reduce our git calls (which also have an inherent cost). But the
`unstaged` statuses are retrieved one-by-one, after we load files'
mtimes. Often, all that's required is an index lookup, and an mtime
comparison.

With this optimization, it once again becomes pretty responsive to open
`WebKit` or `chromium` in Zed.

Release Notes:

- Optimized the loading of project file when working in very large git
repositories

Max Brunsfeld created

e199a6a Highlight all Elm function calls

Quinn Wilton created

7603659 Add MacOS standard key binding for file renames (#2784)

Click to expand commit body
Release Notes:

- Added a default keybinding for using enter to rename files in the
project panel

Mikayla Maki created

3cc8890 Add all Elm functions to the outline, including locals

Quinn Wilton created

62ee52a Highlight qualified Elm function calls

Quinn Wilton created