Commit graph

807 commits

Author SHA1 Message Date
Antonio Scandurra
df13cf0a90 WIP: Compare anchors without using FragmentId 2021-06-01 17:54:58 +02:00
Antonio Scandurra
b3f13ce325 Pull up VersionedOffset 2021-06-01 16:57:03 +02:00
Antonio Scandurra
56efe30558 Fix randomized tests for concurrent edits 2021-06-01 16:54:02 +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
Nathan Sobo
6d83ed2824 Add RPC implementation details to the collaboration plan 2021-05-31 17:40:39 -06:00
Max Brunsfeld
a4d16e61c8 Add document outlining plans for collaboration
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-05-31 15:31:57 -07:00
Antonio Scandurra
e8a9eee84f WIP 2021-05-31 16:57:15 +02:00
Antonio Scandurra
3597305fe3
Merge pull request #77 from zed-industries/merge-selections-larger-syntax-node
Merge selections correctly when selecting larger syntax node
2021-05-31 16:55:21 +02:00
Antonio Scandurra
2ca4dd207e
Merge pull request #78 from zed-industries/fewer-calls-to-add-summary
Avoid calling `add_summary` twice in `sum_tree::Cursor`
2021-05-31 16:55:03 +02:00
Antonio Scandurra
7f265230ea Fix tests 2021-05-31 16:51:33 +02:00
Antonio Scandurra
32fbdfeab5 Avoid calling add_summary twice in sum_tree::Cursor
As I was looking into `SumTree` for the upcoming round of changes to the
buffer, I noticed that we were inadvertently adding summaries twice
every time we skipped over a node in the tree.

This is a pretty heavy code path that's pretty ubiquitous in the
codebase, so this commit gets rid of the unnecessary addition.
2021-05-31 16:45:57 +02:00
Antonio Scandurra
7c418313a7 Merge selections correctly when selecting larger syntax node
When running this command with multiple cursors, if one of them was at a
later position in the buffer but lying on a shallower node, it could
happen that its start could move prior to cursors that were before it
but lying on a deeper node.

This could cause the selection merging algorithm to mistakenly keep some
selections even if they overlapped. With this commit we now sort
selections prior to merging them in `Editor::select_larger_syntax_node`.
2021-05-31 16:33:26 +02:00
Nathan Sobo
081191917c Add more emacs-inspired bindings
Word-wise movement and columnar selection without reaching for the arrows.
2021-05-29 12:06:52 -06:00
Max Brunsfeld
f87aa14ebf Fix error when running workspace:open command 2021-05-28 16:34:28 -07:00
Nathan Sobo
ff2ab4b72d
Merge pull request #75 from zed-industries/naming-cleanup
Clean up naming conventions project-wide
2021-05-28 16:42:20 -06:00
Max Brunsfeld
6ef447866a Rename context parameters to cx in gpui 2021-05-28 15:32:35 -07:00
Max Brunsfeld
173f99748d Rename context parameters to cx in sum_tree 2021-05-28 15:32:24 -07:00
Max Brunsfeld
f6e2754494 Rename context parameters to cx in main.rs 2021-05-28 15:10:39 -07:00
Max Brunsfeld
5fe3081e7c Rename context parameters to cx in pane.rs 2021-05-28 15:09:52 -07:00
Max Brunsfeld
16c6400145 Rename context parameters to cx in fold_map.rs 2021-05-28 15:08:38 -07:00
Max Brunsfeld
a4aba3f2c3 Rename context parameters to cx in selection.rs 2021-05-28 15:06:58 -07:00
Max Brunsfeld
71489251f4 Rename context parameters to cx in movement.rs 2021-05-28 15:06:32 -07:00
Max Brunsfeld
765a8d0636 Rename context parameters to cx in editor/element.rs 2021-05-28 15:05:46 -07:00
Max Brunsfeld
ca87dccf47 Rename context parameters to cx in display_map.rs 2021-05-28 15:04:34 -07:00
Max Brunsfeld
b4430d18ed Rename context parameters to cx in buffer.rs 2021-05-28 15:03:13 -07:00
Max Brunsfeld
e8deed44ab Rename context parameters to cx in worktree.rs 2021-05-28 15:01:35 -07:00
Max Brunsfeld
bc4f5af088 Rename context parameters to cx in workspace.rs 2021-05-28 14:59:24 -07:00
Max Brunsfeld
2285cba70a Rename context parameters to cx in file_finder.rs 2021-05-28 14:56:44 -07:00
Max Brunsfeld
5176f3deba Rename context parameters to cx in editor.rs 2021-05-28 14:56:38 -07:00
Max Brunsfeld
90f35546d3 Rename BufferView -> Editor
* BufferElement -> EditorElement

Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-05-28 14:41:58 -07:00
Max Brunsfeld
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 Brunsfeld
9369249287
Merge pull request #73 from zed-industries/grammars-cursor
Initial syntax support
2021-05-28 14:40:14 -07:00
Max Brunsfeld
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 Brunsfeld
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
Antonio Scandurra
276991fb5f WIP 2021-05-28 19:41:13 +02:00
Antonio Scandurra
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
0b51e99c6e Delete stale indents.scm file 2021-05-28 15:11:54 +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
0ed9e74785 💄 2021-05-28 13:36:20 +02:00
Antonio Scandurra
8a97e9c573 Implement select-smaller-syntax-node for buffer 2021-05-28 13:35:21 +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 Brunsfeld
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
Antonio Scandurra
362b369448 WIP: Print autoindents on tab 2021-05-27 18:22:33 +02:00
Antonio Scandurra
1cd04bd0d1 Rename indent.scm to indents.scm 2021-05-27 11:20:19 +02:00