Commit Graph
39175 Commits
Author SHA1 Message Date
Antonio Scandurra 69a3e151b7 Populate query and select it only if find bar isn't already deployed 2022-01-30 16:44:42 +01:00
Antonio Scandurra 48bd9d5189 Use cmd-f to move focus back to the editor when find bar is focused 2022-01-30 16:30:07 +01:00
Antonio Scandurra d18efa7edc Bind cmd-e to deploy FindBar without focusing it 2022-01-30 16:11:48 +01:00
Antonio Scandurra b7d56b7e45 Propagate Cancel when editor is not in full mode
This is consistent with what VS Code and Sublime Text do and allows the user to
perform only one keybinding to e.g. dismiss the find bar when the query is
(partially) selected.
2022-01-30 16:01:53 +01:00
Antonio Scandurra 1446f1833e Populate query with text under selection when hitting cmd-f 2022-01-30 16:01:05 +01:00
Antonio Scandurra c3e55b3222 Bind enter and shift-enter in FindBar 2022-01-30 15:20:57 +01:00
Antonio Scandurra 428c43d420 Show a message when no matches were found 2022-01-29 18:23:14 +01:00
Antonio Scandurra de774e2371 Fix panic when no matches were found 2022-01-29 18:21:19 +01:00
Antonio Scandurra e79e439ff7 Determine active match index correctly when cursor is after last match 2022-01-29 16:44:26 +01:00
Antonio Scandurra 6c636619c2 Select next/prev find match based on whether we intersect active match
Also, capture the next/prev selection logic in a unit test.
2022-01-29 16:16:48 +01:00
Antonio Scandurra c022c3826a Display active match and allow going to next or previous match
We still need to write a unit test for this, as well as add a keybinding.
2022-01-29 14:38:58 +01:00
Antonio Scandurra 06faec5348 📝 Improve assertion comment 2022-01-29 10:41:55 +01:00
Antonio Scandurra b5da038bea Always return valid locations when refreshing anchors
Specifically, with this commit:

- We will now refresh the anchor if it escapes the boundaries of the excerpt by
using the `Excerpt::contains` method. This was not the case before, as we were
just checking if the excerpt id and buffer id of the anchors matched the ones
stored on the excerpt.
- We fixed a bug that was causing the anchor to be outside of the excerpt when
resetting it to one of the excerpt's endpoints after we couldn't keep its
position. This would happen because we were using `anchor_at`, which resolved
the anchor to an offset first and then converted it back into an anchor with
the given bias, which is a lossy operation. We now use `Anchor::bias` to
achieve the same goal: note that this could still lead to the anchor escaping
the excerpt's boundary when the bias doesn't match the endpoint's bias, so we
take extra care to avoid that and `min`/`max` the newly-produced anchor with
the other endpoint.
2022-01-29 10:10:53 +01:00
Antonio Scandurra 009e45df15 Prevent anchors from escaping their excerpt's range when resolving them
This could happen if an anchor was created on an excerpt with a larger range.
Then, if the excerpt was removed and added back at the same position and with
the same buffer but a smaller range, resolving the anchor could overshoot
the excerpt's boundaries.
2022-01-29 09:52:38 +01:00
Max Brunsfeld 7c33d0dfd4 WIP - Navigate to prev/next search result 2022-01-28 14:00:00 -08:00
Max Brunsfeld 981f00da33 Add a simple unit test for find bar 2022-01-28 13:05:29 -08:00
Max Brunsfeld dfa55cbf1b Merge pull request #376 from zed-industries/bump-rust-analyzer
Bump rust-analyzer to the 2022-01-24 release
2022-01-28 13:24:24 -07:00
Max Brunsfeld e5a75adb41 Adjust hover assertion in lsp test after bumping rust-analyzer 2022-01-28 12:11:26 -08:00
Antonio Scandurra cbdb9107cd Bump rust-analyzer to the 2022-01-24 release 2022-01-28 19:46:14 +01:00
79f59ac40f Optimize search when regex doesn't contain newlines
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
Co-Authored-By: Max Brunsfeld <max@zed.dev>
2022-01-28 17:26:08 +01:00
Antonio ScandurraandNathan Sobo 7aec06cffe Implement regex search with multiline support
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-01-28 16:15:18 +01:00
Antonio ScandurraandNathan Sobo 3adb1789b3 Maintain search results as query and active editor changes
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-01-28 15:19:58 +01:00
Antonio Scandurra eab37caea0 Move finding results in the background 2022-01-28 12:15:55 +01:00
Antonio Scandurra ccda42e148 Optimize some common operations when MultiBuffer is a singleton 2022-01-28 11:50:13 +01:00
Antonio Scandurra 67ac4b0bc2 Implement whole word mode 2022-01-28 11:48:04 +01:00
Nathan Sobo 7e792dd77f A bit more progress styling find
Fix the pinwheel when hovering mode buttons.
2022-01-27 18:59:44 -07:00
Max Brunsfeld d523c20027 WIP 2022-01-27 16:16:51 -08:00
Max Brunsfeld 9fb2c2cda2 Avoid panic when closing the last tab in a pane, due to calling activate_item 2022-01-27 15:38:10 -08:00
Max BrunsfeldandNathan Sobo ee65e56216 Highlight find matches
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-01-27 15:19:52 -08:00
Max BrunsfeldandNathan Sobo 421cb954af Add highlighted_ranges API to editor
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-01-27 15:19:28 -08:00
Max BrunsfeldandNathan Sobo f2c58f61ba WIP - Run substring search when typing in find bar
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-01-27 13:00:51 -08:00
Max BrunsfeldandNathan Sobo 77ac1c92f0 Inform toolbars when active item changes
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-01-27 13:00:23 -08:00
b76c7f9aab Deploy FindBar when hitting cmd-f
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
Co-Authored-By: Max Brunsfeld <max@zed.dev>
2022-01-27 17:56:50 +01:00
b485554e64 Take an Into<AnyViewHandle> in ChildView::new
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
Co-Authored-By: Max Brunsfeld <max@zed.dev>
2022-01-27 17:54:45 +01:00
Antonio Scandurra 4182060386 Merge pull request #375 from zed-industries/more-project-diagnostics-styling
Last touches on project diagnostics for now
2022-01-27 16:47:05 +01:00
Antonio Scandurra 3bc01b54b5 Merge pull request #374 from zed-industries/fix-editor-panic
Fix editor panic when ending transaction that wasn't started by the same editor
2022-01-27 16:36:49 +01:00
Antonio ScandurraandNathan Sobo c8c3f77580 Pause cursor blinking only when editor is focused
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-01-27 16:33:47 +01:00
Antonio ScandurraandNathan Sobo df51f7ae0a Show non-disk-based diagnostics in project diagnostics
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-01-27 16:23:50 +01:00
Antonio ScandurraandNathan Sobo 9cd3e5eeac Fix warning
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-01-27 15:55:48 +01:00
Antonio ScandurraandNathan Sobo 2b2bf99359 Don't panic when ending transaction that wasn't started by the same editor
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-01-27 15:53:44 +01:00
Antonio ScandurraandNathan Sobo e8ea29213f Avoid grouping transactions created by different editors
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-01-27 15:51:46 +01:00
Antonio Scandurra 34f4346530 Style empty project diagnostics state 2022-01-27 10:21:26 +01:00
Antonio Scandurra 1b21fae7fc Merge pull request #373 from zed-industries/empty-diagnostic-message
Filter out supporting diagnostics that contain no messages
2022-01-27 10:12:13 +01:00
Antonio Scandurra 603ddcb7f1 Filter out supporting diagnostics that contain no messages 2022-01-27 09:51:15 +01:00
Antonio Scandurra 888f3f3a02 Merge pull request #371 from zed-industries/metal-debug
Add script to debug Metal frames
2022-01-27 08:56:05 +01:00
Antonio Scandurra f1bac331b0 Add script to debug Metal frames 2022-01-27 08:51:55 +01:00
Max Brunsfeld 2630e28454 Use latest rust docker image 2022-01-26 12:54:51 -08:00
Max BrunsfeldandNathan Sobo 505289aceb Use new feature resolver
This fixes a build failure on linux because gpui was being spuriously
included as a dependency of zed-server, due to its presence as an
optional dependency in the rpc crate.

Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-01-26 12:51:29 -08:00
Max BrunsfeldandNathan Sobo 4b081bd128 Use Rust 2021 edition in all crates
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-01-26 12:50:31 -08:00
Max Brunsfeld 53779b46ff Avoid stripping newlines before opening backticks in error messages 2022-01-26 11:51:12 -08:00