Commit Graph
188 Commits
Author SHA1 Message Date
Nathan Sobo c3dda14490 WIP: Move sum_tree module into gpui so we can use it in List 2021-08-20 16:18:39 -06:00
Nathan SoboandAntonio Scandurra a6a8f4fd81 Introduce a struct for spanned_rows result
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2021-07-30 09:50:28 -07:00
Nathan SoboandAntonio Scandurra 029460bf7e Respect buffer row boundaries in line-oriented edit operations
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2021-07-30 09:50:28 -07:00
Max Brunsfeld 05f8a61bc8 Add a bias parameter when converting buffer points to fold points 2021-07-30 09:50:28 -07:00
c1a9a20ac9 Setup randomized test harness in gpui::test
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
Co-Authored-By: Max Brunsfeld <max@zed.dev>
2021-07-30 09:50:28 -07:00
Max Brunsfeld 8e9a5e072d Fix typo in Point::add_assign 2021-07-19 13:28:35 -07:00
Nathan Sobo e193a660aa WIP 2021-07-19 13:59:07 -06:00
Max Brunsfeld f561f33aa9 Move DisplayMap's reading methods to DisplayMapSnapshot 2021-07-15 11:48:57 -07:00
Nathan SoboandMax Brunsfeld 2bde54971e Move all FoldMap query methods to FoldMapSnapshot
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-07-15 11:36:24 -06:00
Antonio Scandurra e80439daaa Merge branch 'main' into rpc 2021-06-29 10:25:42 +02:00
Max Brunsfeld 60ee97be24 Always represent anchor as a versioned offset
Remove the `Start` and `End` variants, and always
use the structure that was previously called `Middle`.
This makes Anchors simpler to serialize and deserialize.
2021-06-25 17:02:48 -07:00
Antonio Scandurra 742241a903 Rename Cursor::{start,end} to Cursor::{sum_start,sum_end} 2021-06-10 14:06:27 +02:00
Antonio Scandurra dc2805bb14 Add Cursor::seek_end and audit the codebase to use seek_start more 2021-06-10 14:05:56 +02:00
Antonio Scandurra e071d40058 Use a single Bias enum everywhere 2021-06-04 13:39:57 +02:00
Max Brunsfeld 68994248ee Add custom error message for rope cursor slice precondition 2021-06-02 17:47:25 -07:00
Antonio Scandurra 84fe7f50ac Speed up anchor comparison when the version is the same 2021-06-02 12:24:00 +02:00
Max Brunsfeld dda9c6898b Remove count field from FragmentSummary
Sort anchors according to their 'full offset' (deleted + visible)
2021-06-01 12:28:04 -07:00
e3c07942d5 Compare anchors via their fragment and their offset within it
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2021-06-01 11:52:42 -07:00
Antonio Scandurra df13cf0a90 WIP: Compare anchors without using FragmentId 2021-06-01 17:54:58 +02:00
Antonio Scandurra da7e3c8cd8 Implement anchors using an offset + a version vector 2021-06-01 15:28:20 +02:00
Antonio Scandurra 311e1b0f5e Supply a context when adding summary to Dimension 2021-06-01 12:50:10 +02:00
Antonio Scandurra e8a9eee84f WIP 2021-05-31 16:57:15 +02:00
Max Brunsfeld a4aba3f2c3 Rename context parameters to cx in selection.rs 2021-05-28 15:06:58 -07:00
Max BrunsfeldandNathan Sobo 139bcb8304 Rename foo/mod.rs files too foo.rs
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-05-28 14:41:58 -07:00
Max BrunsfeldandNathan Sobo 7339b9bce7 Bump Tree-sitter
Pass ranges to `set_byte_range`, `set_point_range`

Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-05-28 14:25:30 -07:00
Max BrunsfeldandNathan Sobo 8b7a314474 Implement bracket matching using queries
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-05-28 13:09:57 -07:00
Nathan Sobo e9bd872b06 Implement buffer::move_to_enclosing_bracket 2021-05-28 12:07:30 -06:00
bf8eee26f8 Add Buffer::enclosing_bracket_ranges
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
Co-Authored-By: Max Brunsfeld <max@zed.dev>
2021-05-28 19:35:04 +02:00
Antonio Scandurra 36c1d21025 Add unit test for BufferView::select_{larger,smaller}_syntax_node 2021-05-28 14:59:29 +02:00
Antonio Scandurra 23d1d91414 Implement select_larger_syntax_node for buffer 2021-05-28 13:25:09 +02:00
Antonio Scandurra 6992c19aee Acquire and release QueryCursors via a QueryCursorHandle 2021-05-28 11:48:49 +02:00
Antonio Scandurra 07aeb32ef4 Punt on auto-indentation for now 2021-05-28 10:17:10 +02:00
Max Brunsfeld 79878f20cc WIP - new approach to autoindent
- Indent one row at a time.
- Consider only the innermost match.
2021-05-27 15:05:19 -07:00
Max BrunsfeldandAntonio Scandurra fc8758c619 Reset QueryCursors before putting them back in the pool
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2021-05-27 09:37:17 -07:00
Antonio Scandurra c423033042 Fix panic in autoindent_for_rows caused by overshooting row range 2021-05-27 18:23:32 +02:00
Max BrunsfeldandNathan Sobo 7bea3fd2fe Start on a query-based autoindent system
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-05-26 17:23:53 -07:00
Max Brunsfeld 3c0673852b 💄 Add Buffer::row_count 2021-05-26 12:01:09 -07:00
Antonio ScandurraandNathan Sobo 7c084846af Batch indent_for_rows
There's still a `todo!` in the test to write more assertions and verify
this more complex, batched logic.

Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-05-26 17:37:50 +02:00
Antonio Scandurra acf84f939d Add Buffer::autoindent_for_row 2021-05-26 16:00:01 +02:00
Max BrunsfeldandNathan Sobo 5d2ac3f4e4 Use new Tree-sitter captures API
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-05-25 16:02:43 -07:00
Antonio Scandurra 43ddb6f640 WIP: Push failing test for DisplayMap::highlighted_chunks_at 2021-05-25 17:20:46 +02:00
Antonio Scandurra bafac35d6a Reparse if syntax tree is up-to-date but in an interpolated state 2021-05-25 12:10:36 +02:00
Antonio Scandurra aeb68867da Move highlighted_text_in_range from Buffer to buffer::Snapshot 2021-05-25 11:51:29 +02:00
Max Brunsfeld 8340958b33 Convert query capture indices to style ids
* Introduce a Theme struct as a new part of the app's settings
* Store on each Language a ThemeMap, which converts the capture ids
  from that language's highlight query into StyleIds, which identify
  styles in the current Theme.
* Update `highlighted_chunks` methods to provide StyleIds instead of
  capture ids.
2021-05-24 16:44:14 -07:00
Antonio Scandurra d1788c69ab Support highlighted_text_for_range for buffers without a language 2021-05-24 16:47:13 +02:00
Antonio Scandurra 4ddf10967e Introduce fold_map::HighlightedChunks 2021-05-24 15:39:22 +02:00
Antonio Scandurra 491932b691 Rename HighlightedChunksIter to HighlightedChunks 2021-05-24 15:07:02 +02:00
Antonio Scandurra 4ada5e0666 Rename rope::ChunksIter to rope::Chunks
This is consistent with how we name the other chunk iterators.
2021-05-24 15:05:11 +02:00
Antonio Scandurra 6e791edb18 Don't acquire the buffer mutably in highlighted_text_for_range 2021-05-24 12:43:29 +02:00
Antonio Scandurra 23b25307d9 Start on a basic implementation of HighlightedChunksIter 2021-05-24 11:23:42 +02:00