KCaverly
655ec92da6
add worktree previously indexed functionality to vector db
2023-07-26 09:17:04 -04:00
Conrad Irwin
44f4f14010
Add a mode indicator for vim ( #2763 )
...
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 ">
2023-07-25 20:18:23 -06:00
Nathan Sobo
8277425558
Merge branch 'paint-context' into cells
2023-07-25 17:36:05 -06:00
Nathan Sobo
d43ef7e00b
Pass PaintContext to Element::paint
...
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.
2023-07-25 17:32:31 -06:00
Nathan Sobo
7148b06bc4
WIP
2023-07-25 16:33:58 -06:00
KCaverly
a399e9f41c
update project search to only show semantic button visible with semantic_index enabled
2023-07-25 16:26:37 -04:00
Joseph T. Lyons
2d7b0074a6
Add sort lines command ( #2786 )
...
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 )))
2023-07-25 15:39:45 -04:00
KCaverly
eb8aaebf66
move visible text to just start anchor with context lines for semantic search
2023-07-25 15:24:27 -04:00
KCaverly
65a6489a79
update semantic index tests for elixir
2023-07-25 15:20:35 -04:00
Joseph T. Lyons
a8b628ce9f
Add tests for manipulate_lines()
2023-07-25 15:17:16 -04:00
Conrad Irwin and Mikayla Maki
e81bab4e2e
A little refactor
...
Co-Authored-By: Mikayla Maki <mikayla.c.maki@gmail.com >
2023-07-25 12:55:01 -06:00
Joseph T. Lyons
3a8579b79b
Remove { and } from single-line closure
2023-07-25 14:48:11 -04:00
Mikayla Maki
b500a49036
Merge branch 'main' into quinn/nix
2023-07-25 11:34:57 -07:00
Mikayla Maki
d2a6264731
Add support for Elm and GLSL ( #2782 )
...
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.



fixes https://github.com/zed-industries/community/issues/598
Release Notes:
- Added syntax highlighting for the Elm and GLSL languages
2023-07-25 11:34:22 -07:00
Joseph T. Lyons and Mikayla Maki
e3dae4eacb
Fix code computing new selections
...
Co-Authored-By: Mikayla Maki <mikayla.c.maki@gmail.com >
2023-07-25 14:04:25 -04:00
KCaverly
d3aacb692d
update semantic index tests for cpp
2023-07-25 13:30:38 -04:00
Conrad Irwin and Nate Butler
8fd9cba675
Update status bar theming
...
Co-Authored-By: Nate Butler <iamnbutler@gmail.com >
2023-07-25 11:06:41 -06:00
Joseph T. Lyons and Julia
f702d3536a
Fix rand import and tweak callbacks
...
Co-Authored-By: Julia <30666851+ForLoveOfCats@users.noreply.github.com >
2023-07-25 11:44:13 -04:00
KCaverly
a5972b022f
update semantic index tests for javascript
2023-07-25 10:38:37 -04:00
Joseph T. Lyons
385367b6c9
WIP
2023-07-25 10:33:20 -04:00
Nathan Sobo
b2d85f95c2
WIP
2023-07-24 23:27:14 -06:00
Joseph T. Lyons
e7724c8621
Add open file in project finder via space ( #2785 )
...
@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
2023-07-24 16:35:01 -04:00
Max Brunsfeld
4f2579494c
More git status optimizations ( #2779 )
...
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
2023-07-24 11:23:32 -07:00
Quinn Wilton
e2cdf03336
Highlight all Elm function calls
2023-07-24 10:55:15 -07:00
Quinn Wilton
ad8a056344
Add all Elm functions to the outline, including locals
2023-07-24 10:45:46 -07:00
Quinn Wilton
3e1304534c
Highlight qualified Elm function calls
2023-07-24 10:45:15 -07:00
Quinn Wilton
802d3edc07
Highlight Elm arrows as keywords
2023-07-24 10:44:56 -07:00
Mikayla Maki
f22ff36ec8
Remove unbound highlight queries
2023-07-24 09:01:15 -07:00
Conrad Irwin
b45bbd6bd4
Better method ordering
2023-07-24 09:57:51 -06:00
Mikayla Maki
8af4eb8c49
Touch up elm tree sitter integration
2023-07-24 08:52:51 -07:00
Conrad Irwin
1fccc35107
Refactor mode indicator to remove itself
...
One of the problems we had is that the status_bar shows a gap between
items, and we want to not add an additional gap for an invisible status
indicator.
2023-07-24 09:51:54 -06:00
Mikayla Maki
c2df957496
Implement cascading resize algorithm
2023-07-24 08:04:46 -07:00
Kirill Bulatov
9b1e8583b7
Fixes a crash when SelectAllMatches action was called on no matches
2023-07-24 15:42:10 +03:00
Quinn Wilton
d8f5a09bed
Add outline.scm for Elm
2023-07-24 00:58:59 -07:00
Quinn Wilton
c546e9fefb
Add tree-sitter-glsl
2023-07-23 22:22:11 -07:00
Quinn Wilton
a227a38a35
Add tree-sitter-elm
2023-07-23 22:22:11 -07:00
Max Brunsfeld
511307ebe5
Fix pathspec in staged_statuses
...
Enable non-literal matching so that directory paths match
all files contained within them.
2023-07-23 21:36:29 -07:00
Quinn Wilton
7926770f1a
Add tree-sitter-nix
2023-07-23 17:24:50 -07:00
Mikayla Maki
d06a2775b8
Add drag end events
...
Fix left dragging cascade
WIP: Implement right dragging, WIP: use drag end events to set and reset state around initial flex orientation
2023-07-23 13:28:30 -07:00
Mikayla Maki
499599ab50
WIP: cascade split resizes
2023-07-23 01:20:25 -07:00
Mikayla Maki
5541447694
Refactor resize handle code to be amenable to cascading resizes
2023-07-22 21:48:45 -07:00
Max Brunsfeld
ab164495c8
Fix filtering of staged statuses
2023-07-22 17:53:58 -07:00
Max Brunsfeld
2e1af62222
Rely on git status for any paths not matching the git index
2023-07-22 17:47:36 -07:00
Kirill Bulatov
58c3c412d1
Focus project panel on directory select
2023-07-23 00:12:25 +03:00
Max Brunsfeld
bf9410bbb7
Optimize full file status via passing in known file mtime
2023-07-22 11:53:26 -07:00
Max Brunsfeld
143e0d5e8b
Compute unstaged git status separately, to take advantage of our cached file mtimes
2023-07-21 17:58:43 -07:00
Max Brunsfeld
da4f477e1f
Only fetch statuses for changed paths
2023-07-21 17:08:31 -07:00
Max Brunsfeld
956a700cb8
Don't call git status when ignored files change
2023-07-21 17:05:42 -07:00
Kirill Bulatov
ce61715f02
Open paths starting with ~ from terminal click
2023-07-22 01:34:25 +03:00
Conrad Irwin
92115eb5bf
Add support for adding/removing status items
2023-07-21 16:06:14 -06:00