Antonio Scandurra
d25ec39a23
Rework BufferRows
iterator to pass the randomized tests
...
...without booleans.
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
Co-Authored-By: Max Brunsfeld <max@zed.dev>
2021-11-16 18:18:47 +01:00
Antonio Scandurra
712616d167
Start on a randomized test for BlockMap::buffer_rows
2021-11-16 15:35:35 +01:00
Max Brunsfeld
1cc7615d06
Implement basic version of BlockMap::buffer_rows
...
Passed 1 simple test
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-11-15 17:41:13 -08:00
Max Brunsfeld
76ee44748e
Fix minor bug in BlockMap::clip_point
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-11-15 16:25:51 -08:00
Nathan Sobo
7d1ba6455b
Implement BlockMapWriter::remove
...
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-11-15 17:09:26 -07:00
Nathan Sobo
7b12c1c9e0
Enable soft wrap in randomized test of BlockMap
...
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-11-15 16:59:02 -07:00
Nathan Sobo
862b988d56
Position blocks above/below buffer lines, even when the anchored line is soft-wrapped
...
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-11-15 16:45:51 -07:00
Max Brunsfeld
2cb8b0fcd3
wip
2021-11-15 15:04:53 -08:00
Max Brunsfeld
3bd4542bce
Remove bias parameter when converting display points to buffer points
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-11-15 14:36:03 -08:00
Max Brunsfeld
213b94afd4
Remove bias parameter from to_display_point
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-11-15 14:21:55 -08:00
Max Brunsfeld
0a704b8d67
Fix infinite loop in BlockMap::highlighted_chunks
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-11-15 14:18:45 -08:00
Max Brunsfeld
b4bc7906d2
Propagate wrap edits to block map when folding / unfolding
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-11-15 14:18:24 -08:00
Max Brunsfeld
d2f4d37af8
Get BlockMap randomized test passing w/o soft wraps
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-11-15 13:36:40 -08:00
Max Brunsfeld
3498e92d1c
Get BlockMap unit test passing
2021-11-15 12:39:40 -08:00
Antonio Scandurra
763ab4d5f1
WIP
2021-11-15 19:52:48 +01:00
Antonio Scandurra
53872a6024
WIP
2021-11-15 19:38:06 +01:00
Antonio Scandurra
314c97715d
WIP
2021-11-15 18:01:30 +01:00
Antonio Scandurra
131979dff0
WIP
2021-11-15 17:54:28 +01:00
Antonio Scandurra
34f85b5690
WIP
2021-11-15 17:15:30 +01:00
Antonio Scandurra
cebab56c94
Make BlockMap
randomized test pass in low-complexity cases
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-11-15 16:47:30 +01:00
Antonio Scandurra
296944e34d
Make BlockMap
unit test pass with 2d coordinates
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-11-15 16:30:58 +01:00
Nathan Sobo
3154ccbafe
WIP
2021-11-14 16:24:40 -07:00
Nathan Sobo
e644c0876e
WIP: Start moving BlockMap to a 2d indexing scheme
2021-11-14 08:29:41 -07:00
Nathan Sobo
5832153712
Hack: Synthesize a newline before blocks below the last line of the buffer
2021-11-14 07:43:35 -07:00
Nathan Sobo
b6e6dafca7
Account for trailing below blocks in BlockSnapshot::max_point
2021-11-13 19:50:42 -07:00
Nathan Sobo
d6bc05cad0
Fix BlockMap unit test by skipping below blocks when advancing transforms
2021-11-13 18:19:21 -07:00
Nathan Sobo
c9cbeafc05
Start on BlockSnapshot::clip_point
...
Not sure it works yet. Ran into another failure in the unit tests.
2021-11-13 17:44:09 -07:00
Max Brunsfeld
364fab7b5f
wip - wiring up blockmap into displaymap
2021-11-12 17:29:09 -08:00
Max Brunsfeld
c278503166
Make block insertion work in simple cases
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-11-12 16:40:01 -08:00
Max Brunsfeld
2e61a586b6
Fix compile errors
2021-11-12 13:55:47 -08:00
Nathan Sobo
e605a5ead2
Sketch an initial implementation for block_map::HighlightedChunks
...
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-11-12 14:51:25 -07:00
Max Brunsfeld
6f97a9be3b
wip
2021-11-12 12:09:35 -08:00
Max Brunsfeld
227c612dac
BlockMap WIP
2021-11-12 11:49:48 -08:00
Antonio Scandurra
c8e47a8c63
Start on a randomized test for BlockMap
...
This is currently passing and ensures we maintain the input coordinate
space correctly.
Co-Authored-By: Max Brunsfeld <max@zed.dev>
2021-11-12 19:01:39 +01:00
Antonio Scandurra
d721c2ba4b
Remove redundant code path in Patch::compose
2021-11-12 17:24:25 +01:00
Antonio Scandurra
3f11b8af56
Maintain row edits since last sync in WrapMap
2021-11-12 17:05:49 +01:00
Antonio Scandurra
4e32fabfdc
Add text manipulation facilities to Rope
for test purposes
2021-11-12 17:02:51 +01:00
Antonio Scandurra
fe786f3366
Init env_logger
in the editor
crate for tests only
2021-11-12 17:01:57 +01:00
Antonio Scandurra
b9c459e800
Use log::info
instead of println
in patch randomized tests
2021-11-12 17:00:44 +01:00
Antonio Scandurra
b2aab0c773
🎨
2021-11-12 16:31:01 +01:00
Antonio Scandurra
f49c9db423
Make Patch::compose
work
2021-11-12 15:07:28 +01:00
Antonio Scandurra
6e882bcd02
Avoid composing edits together for now
2021-11-12 09:01:15 +01:00
Nathan Sobo
068aa1adb3
WIP
2021-11-12 00:20:39 -07:00
Nathan Sobo
47ad9baebc
wip
2021-11-12 00:03:47 -07:00
Nathan Sobo
84d789b8ac
WIP
2021-11-11 23:28:45 -07:00
Max Brunsfeld
0159019850
Simplify assertions in randomized patch test, fix some patch bugs
2021-11-11 18:28:07 -08:00
Max Brunsfeld
1f2eb9ddbc
Add patch unit tests, get composition working for ops <= 3
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-11-11 17:36:30 -08:00
Antonio Scandurra
d75f415b25
WIP
2021-11-11 19:49:01 +01:00
Antonio Scandurra
4fecab6d4b
WIP
2021-11-11 19:42:55 +01:00
Antonio Scandurra
e0897cd019
WIP
2021-11-11 18:13:35 +01:00
Antonio Scandurra
a939535d95
WIP
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-11-11 16:52:14 +01:00
Antonio Scandurra
59bbe43a46
WIP
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-11-11 16:00:52 +01:00
Antonio Scandurra
b2caf9e905
WIP: Start on BlockMap
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-11-11 15:04:39 +01:00
Antonio Scandurra
7dcf30c954
WIP
2021-11-11 15:04:31 +01:00
Nathan Sobo
118f137f18
WIP: Rework injection map to be focused solely on block injections
2021-11-10 20:49:06 -07:00
Nathan Sobo
0fff7d9166
WIP: Probably the wrong direction
2021-11-10 17:44:56 -07:00
Nathan Sobo
62ec105bff
WIP
2021-11-10 14:00:51 -07:00
Antonio Scandurra
941d935c4a
End pending selection when starting a transaction
...
Co-Authored-By: Max Brunsfeld <max@zed.dev>
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-11-03 19:15:54 +01:00
Antonio Scandurra
c07d794249
Avoid ending the pending selection until updating selections
...
Co-Authored-By: Max Brunsfeld <max@zed.dev>
2021-11-03 19:07:06 +01:00
Antonio Scandurra
9dc3c74260
Make resolving selections generic
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
Co-Authored-By: Max Brunsfeld <max@zed.dev>
2021-11-03 17:51:57 +01:00
Antonio Scandurra
a26b066788
Introduce a status bar and add the cursor position to it
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
Co-Authored-By: Max Brunsfeld <max@zed.dev>
2021-11-03 17:27:51 +01:00
Antonio Scandurra
258b89bb70
Request autoscroll when undoing/redoing
2021-11-03 09:44:23 +01:00
Antonio Scandurra
6e5ec2a00d
Take a &clock::Global
instead of cloning in edits_since
2021-11-01 10:48:20 +01:00
Antonio Scandurra
6212ebad9b
Communicate with language servers in terms of UTF-16 coordinates
...
This required indexing UTF-16 positions in `Rope`. We tried opting
into the UTF-8 experimental support but it didn't seem to work
correctly and the standard is UTF-16 anyway.
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-10-29 18:33:23 +02:00
Max Brunsfeld
e1556893f7
Merge branch 'anchor-map-selections' into lsp
2021-10-28 17:08:06 -07:00
Max Brunsfeld
a1e576343e
Rename AnchorRangeSet::to_point_ranges -> point_ranges
2021-10-28 16:32:49 -07:00
Max Brunsfeld
efc85d1b75
Get the Editor crate compiling
2021-10-28 15:42:24 -07:00
Antonio Scandurra
9c74be3bf2
Start fixing compilation errors on Editor
...
Co-Authored-By: Max Brunsfeld <max@zed.dev>
2021-10-28 19:36:43 +02:00
Antonio Scandurra
bc076c1cc1
Update display map snapshots when diagnostics are updated
...
This is similar to what we do when we receive new parse trees from
tree-sitter.
2021-10-27 12:42:16 +02:00
Max Brunsfeld
c539069cbb
Include diagnostic info in HighlightedChunks iterator
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-10-26 17:57:50 -07:00
Max Brunsfeld
5bfbeb55c0
Simplify buffer constructor methods
...
Don't expose the `buffer::History` to callers of `language::Buffer`
2021-10-26 14:26:47 -07:00
Max Brunsfeld
4069db4959
Allow underlines to have different color than the text
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-10-26 12:46:46 -07:00
Antonio Scandurra
0674e76864
WIP
2021-10-26 19:42:40 +02:00
Antonio Scandurra
e8a2885721
Introduce Content::anchor_range_multimap
2021-10-26 14:28:02 +02:00
Max Brunsfeld
37eae2ba67
Remove unnecessary dependencies in buffer and language crates
2021-10-21 09:40:50 +02:00
Max Brunsfeld
81a85e9c79
Extract a language crate
2021-10-20 22:51:40 +02:00
Max Brunsfeld
cdb268e656
Re-enable randomized concurrent edits test
2021-10-20 21:44:26 +02:00
Max Brunsfeld
30e2e2014d
Extract a TextBuffer from Buffer, which has no tree or file
...
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-10-20 00:10:57 +02:00
Nathan Sobo
5558d553bb
Insert an extra newline between brackets
...
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-10-19 13:17:16 +02:00
Nathan Sobo
b4680144c5
Unconditionally preserve indentation when inserting newlines
...
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2021-10-08 10:25:00 -06:00
Max Brunsfeld
451f0e7adb
Replace Buffer::request_autoindent API with ::edit_with_autoindent
...
When computing the "previous autoindent suggestion", we can't just
use the old tree and the current text. We need to find out what the
suggestion would have been before we made any changes.
2021-10-07 17:55:23 -07:00
Antonio Scandurra
2018537bb8
Introduce a Tab
action to indent line or insert soft tabs
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-10-07 17:31:58 +02:00
Max Brunsfeld
b83b4ad7c7
Start work on a Buffer API for requesting autoindent on the next parse
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-10-06 16:09:30 -07:00
Antonio Scandurra
724272931a
Skip autoclosed pairs
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
Co-Authored-By: Max Brunsfeld <max@zed.dev>
2021-10-06 19:04:55 +02:00
Antonio Scandurra
05d7e9c4e7
Start on autoclosing pairs
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-10-06 16:34:57 +02:00
Max Brunsfeld
3cb7ba0f57
Make the fields of buffer::Language private
2021-10-05 14:19:33 -07:00
Antonio Scandurra
f70e3878b6
Flip the dependency between editor and theme
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
Co-Authored-By: Max Brunsfeld <max@zed.dev>
2021-10-05 19:21:13 +02:00
Antonio Scandurra
9c7ef39da6
Minimize code generation for synchronous gpui::test
macro
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-10-05 17:47:46 +02:00
Antonio Scandurra
499616d769
Move workspace
module into its own crate
2021-10-05 13:49:10 +02:00
Antonio Scandurra
36594ecf1d
Use edition = 2018 instead of 2021 for the editor crate
2021-10-05 10:16:13 +02:00
Max Brunsfeld
94209d2b6d
Rename rpc_client -> client
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-10-04 17:14:21 -07:00
Max Brunsfeld
75cf2488db
List path dependencies first in all Cargo.toml files
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-10-04 15:36:52 -07:00
Max Brunsfeld
1d97f08901
Move editor into its own crate
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-10-04 15:23:10 -07:00