Max Brunsfeld
9c25d37dfc
Merge branch 'main' into randomized-tests-operation-script
...
In randomized integration test, incorporate random updates of existing
files into the test's new structure.
2023-01-24 12:39:24 -08:00
Mikayla Maki
d060114f00
Added complete scripts for generating third party license files
2023-01-23 12:47:12 -08:00
Max Brunsfeld
56080771e6
Add test for avoiding indent adjustment inside newly-created errors
2023-01-20 17:02:38 -08:00
Max Brunsfeld
f243633f3e
Set up flow for mutating clients via explicit operation values
2023-01-06 15:32:11 -08:00
Nathan Sobo
273988b8d5
Set transaction group interval to ZERO by default in tests
...
We were seeing non-deterministic behavior in randomized tests when
generating backtraces took enough time to cause transactions to group
in some cases, but not group in others.
Tests will need to explicitly opt into grouping if they want it by
setting the interval explicitly. We have tests in the text module that
currently test the history grouping explicitly, but I'm not sure
it's needed elsewhere.
2022-12-27 16:47:28 -07:00
Max Brunsfeld
6120d6488b
Start work on following in multi-buffers
2022-11-29 14:50:43 -08:00
Max Brunsfeld
f71145bb32
Add a layer of indirection between excerpt ids and locators
2022-11-28 14:18:49 -08:00
Julia
525d84e5bf
Remove spurious lifetimes
...
Co-Authored-By: Max Brunsfeld <max@zed.dev>
2022-11-23 13:52:39 -05:00
Julia
55ca085d7d
Consistency in prefix/suffix/signature of UTF16 point to point conversion
...
Co-Authored-By: Max Brunsfeld <max@zed.dev>
2022-11-23 13:52:18 -05:00
Julia
e51cbf67ab
Fixup compile errors
2022-11-22 02:49:47 -05:00
Julia
1c84e77c37
Start adding concept of Unclipped
text coordinates
...
Co-Authored-By: Max Brunsfeld <max@zed.dev>
2022-11-21 15:48:25 -05:00
Julia
436c89650a
Rename clamped -> clipped
2022-11-21 15:23:00 -05:00
Julia
074e3cfbd6
Clamp UTF-16 to point conversions
2022-11-21 14:25:01 -05:00
Julia
bb32599ded
Clamp for all UTF-16 to offset conversions which used to use ToOffset
2022-11-21 14:25:01 -05:00
Julia
f9cbed5a1f
Clamp UTF-16 coordinate while performing LSP edits rather than panicing
2022-11-21 11:48:13 -05:00
Max Brunsfeld
6cdf4e98fc
Re-export basic text types from text and language crates
...
Also avoid production dependencies on fs and rope in collab
2022-10-12 15:48:19 -07:00
Mikayla Maki
0beb97547e
Finished refactoring out fs and rope
2022-10-11 15:25:54 -07:00
Mikayla Maki
0a8e2f6bb0
Moved fs to it's own crate, build failing due to cyclic dependency on rope
2022-10-11 13:03:36 -07:00
Julia
ce7f6dd082
Start a test for remote git data updating
...
Co-Authored-By: Mikayla Maki <mikayla@zed.dev>
Co-Authored-By: Max Brunsfeld <max@zed.dev>
2022-09-30 15:51:32 -04:00
Julia
1c5d15b85e
Use sumtree instead of iterator linear search for diff hunks in range
...
Co-Authored-By: Max Brunsfeld <max@zed.dev>
Co-Authored-By: Mikayla Maki <mikayla@zed.dev>
2022-09-30 13:32:54 -04:00
Julia
61ff24edc8
Move cloneable diff state into new snapshot type
...
Co-Authored-By: Max Brunsfeld <max@zed.dev>
2022-09-29 13:16:02 -04:00
Julia
a86e93d46f
Checkpoint on incremental diff sumtree shenanigans
2022-09-29 13:16:02 -04:00
Antonio Scandurra
f54c1f05c5
💄
2022-09-28 11:27:07 +02:00
Antonio Scandurra
e17627b07d
Use a SumTree
as the backing storage of UndoMap
...
This makes it cheap to clone and avoids slowdowns when there the undo
history is long.
2022-09-28 11:24:45 +02:00
Max Brunsfeld
d4bbf21650
Merge pull request #1559 from zed-industries/language-injection
...
Add language injection support
2022-08-30 11:54:00 -07:00
Max Brunsfeld
74fd348d22
Add Buffer::anchored_edits_since method
...
This method returns the anchor range associated with each edit. The
anchor ranges allow you to determine how each edit interacts with
an existing anchor range that the edit has touched.
2022-08-29 16:51:31 -07:00
Max Brunsfeld
1f12186e3c
Update to latest tree-sitter commit
...
This is needed for https://github.com/tree-sitter/tree-sitter/pull/1845
2022-08-25 10:58:46 -07:00
Antonio Scandurra
f0d35ccc50
Move operation serialization off the main thread
2022-08-23 16:34:25 +02:00
Antonio Scandurra
ab236a6008
Fix divergence bug in undo/redo
...
As part of #1405 , we changed the way we performed undo and redo to
support combining transactions that were not temporally adjacent for
IME purposes.
We introduced a bug with that release that caused divergence
when performing undo: the bug was caused by only changing the visibility
of fragments whose insertion id was contained in the undo operation. However,
an undo operation also affects deletions which we were mistakenly not
considering. Randomized tests caught this but I guess we didn't run enough
of them.
2022-08-17 11:30:04 +02:00
ForLoveOfCats
8ba2f77148
One big cleanup pass of clippy lints
...
Co-authored-by: Mikayla <mikayla@zed.dev>
2022-08-10 16:51:01 -07:00
Max Brunsfeld
4c8d9384b1
Replaces lines_utf16 with a single u32 - last_line_len_utf16
2022-07-25 11:35:42 -07:00
Antonio Scandurra
47e8bd5f4f
Introduce MultiBuffer::clip_offset_utf16
2022-07-25 15:06:04 +02:00
Antonio Scandurra
c46be992e0
Introduce Rope::clip_offset_utf16
2022-07-25 15:02:45 +02:00
Antonio Scandurra
ca3e73106c
Merge branch 'main' into ime-support-2
2022-07-25 10:47:49 +02:00
Antonio Scandurra
d3567e381c
Coalesce IME compositions into a single edit
2022-07-25 09:53:51 +02:00
Antonio Scandurra
555e705ccb
🎨
2022-07-23 09:31:41 +02:00
Antonio Scandurra
0fc7308932
Allow grouping local transactions even if remote peer edits in between
2022-07-23 09:27:21 +02:00
Max Brunsfeld
79f960b69e
Combine adjacent ranges in 'edited_ranges_for_transaction'
2022-07-22 17:41:31 -07:00
Max Brunsfeld
7c3421e041
Remove versioned offset ranges from transactions and undo operations
...
Now, instead of using these versioned offset ranges, we locate the
fragments associated with a transaction using the transaction's
edit ids. To make this possible, buffers now store a new map called
`insertion_slices`, which lets you look up the ranges of insertions
that were affected by a given edit.
Co-authored-by: Antonio Scandurra <antonio@zed.dev>
2022-07-22 17:28:55 -07:00
Max Brunsfeld
65fd943509
Move edited_ranges_for_transaction from BufferSnapshot to Buffer
...
Co-authored-by: Antonio Scandurra <antonio@zed.dev>
2022-07-22 11:24:14 -07:00
Antonio Scandurra
b02681ee8a
Treat NSTextInputClient ranges as UTF-16
2022-07-21 13:41:35 +02:00
Antonio Scandurra
32662b6b92
Start indexing UTF-16 offsets
...
This is needed because cocoa will report ranges as UTF-16 indices.
2022-07-21 09:40:48 +02:00
K Simmons
95952f0c66
working diagnostic popover. Also renamed GoToNextDiagnostic to GoToDiagnostic and adjusted it's action to jump to the popover's diagnostic if it is visible
2022-07-20 19:02:33 -07:00
Antonio Scandurra
2c1906d710
Normalize line endings when parsing completions
...
Co-Authored-By: Max Brunsfeld <max@zed.dev>
2022-07-06 19:32:45 +02:00
Antonio Scandurra
13c9b1778b
Replace lone carriage returns with newlines
2022-07-06 11:00:56 +02:00
Antonio Scandurra
113eb9b94f
Don't slice midway through multi-byte char when detecting line ending
2022-07-06 10:21:30 +02:00
Max Brunsfeld
7e9beaf4bb
Strip carriage returns from all text in text::Buffer
...
* Moving the logic from Rope to text::Buffer makes it easier
to keep the Rope in sync with the fragment tree.
* Removing carriage return characters is lossier, but is much
simpler than incrementally maintaining the invariant that
there are no carriage returns followed by newlines. We may
want to do something smarter in the future.
Co-authored-by: Keith Simmons <keith@zed.dev>
2022-07-05 17:25:09 -07:00
Max Brunsfeld
116fa92e84
Change Buffer constructors to construct the History internally
2022-07-05 14:51:52 -07:00
Antonio Scandurra
f9bad2d81d
Replace \r and \r\n with \n when indexing text into the rope
2022-07-04 15:37:40 +02:00
Antonio Scandurra
4f215a77cd
Don't compute fingerprint for every text summary
2022-06-17 15:15:27 +02:00