Max Brunsfeld
83db3ac840
Add unit tests for selective indentation adjustment
2021-10-11 13:02:01 -07:00
Max Brunsfeld
991d42724a
Move buffer tests into their own file
2021-10-11 12:18:31 -07:00
Max Brunsfeld and Nathan Sobo
71ed81bc93
Ensure that autoindent task yields frequently to respect cancellation
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-10-11 11:25:15 -07:00
Antonio Scandurra and Nathan Sobo
f8188c8519
WIP: Determine autoindents asynchronously
...
We still need to insert yield points in `compute_autoindents`.
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-10-11 18:00:48 +02:00
Antonio Scandurra
864ebc7c31
Fix creation of anchors for the inserted portion of an edit
2021-10-11 13:08:50 +02:00
Antonio Scandurra
6471d88238
Always use seek_forward when resolving anchors
2021-10-11 09:37:21 +02:00
Nathan Sobo
a4223aab87
Improve auto-indenting of inserted lines
...
Still not working totally correctly with our new approach, but getting closer.
2021-10-08 22:07:01 -06:00
Max Brunsfeld and Nathan Sobo
149fc28019
Start on new way of comparing old and new indent suggestions
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-10-08 16:54:27 -07:00
Nathan Sobo and Antonio Scandurra
5b09707cb0
Don't request auto-indent if there is no language assigned on the buffer
...
Co-Authored-By: Antonio Scandurra <me@as-cii.com >
2021-10-08 10:25:16 -06:00
Antonio Scandurra and Nathan Sobo
4c6c4d5750
💄
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-10-08 17:43:19 +02:00
Antonio Scandurra
db8cac6536
Cancel out outdents and indents referring to the previous row
2021-10-08 12:52:48 +02:00
Antonio Scandurra
66a833c337
Bias the start of an autoindent request towards the right for new text
...
When a newline is inserted, this prevents the request from including
the line on which the newline got inserted.
2021-10-08 12:15:21 +02:00
Max Brunsfeld
470fa86a60
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
Max Brunsfeld and Nathan Sobo
0053182229
Preserve indentation for lines that are both indented and outdented
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-10-07 13:55:59 -07:00
Max Brunsfeld
bc1a6ff075
Remove no-longer-used dirty field on buffer::SyntaxTree
...
This became unnecessary when we reworked our reparsing logic
to block from 1ms on each parse.
2021-10-07 12:46:08 -07:00
Max Brunsfeld
8bb2a5f35a
Fix collection of row ranges in Buffer::perform_autoindent
2021-10-07 12:43:26 -07:00
Max Brunsfeld and Antonio Scandurra
3202d11680
Implement selective auto-indent by comparing old and new suggestions
...
Co-Authored-By: Antonio Scandurra <me@as-cii.com >
2021-10-07 10:46:40 -07:00
Antonio Scandurra and Max Brunsfeld
f1aa471d38
WIP
...
Co-Authored-By: Max Brunsfeld <max@zed.dev >
2021-10-07 19:09:14 +02:00
Antonio Scandurra and Nathan Sobo
0d6f728b81
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
Antonio Scandurra and Nathan Sobo
b4337b0c2f
Don't push empty transactions onto the undo stack
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-10-07 16:06:55 +02:00
Max Brunsfeld
9a954bc1d6
Generalize strategy for processing indentation ranges
...
* Take into account the ranges' start and end columns, not just the rows
* Generalize the approach to dedenting
2021-10-06 22:16:18 -07:00
Max Brunsfeld and Nathan Sobo
4525cbc448
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 and Nathan Sobo
0acdd804f8
Start on autoclosing pairs
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-10-06 16:34:57 +02:00
Max Brunsfeld
22eeeb4690
Make the fields of buffer::Language private
2021-10-05 14:19:33 -07:00
Max Brunsfeld
5c8d1d1fb6
Add Cargo.toml features to fix compilation of individual crates
2021-10-05 14:18:04 -07:00
14e9b03c52
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
Max Brunsfeld and Nathan Sobo
95c15b11b1
Rename rpc_client -> client
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-10-04 17:14:21 -07:00
Max Brunsfeld and Nathan Sobo
bf7b277038
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 and Nathan Sobo
4e31762075
Move editor into its own crate
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-10-04 15:23:10 -07:00
Nathan Sobo and Max Brunsfeld
8e0cb6bec3
Rename zrpc to rpc
...
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com >
2021-10-04 13:28:00 -06:00
Nathan Sobo and Max Brunsfeld
a1b11e8907
Move all crates to a top-level crates folder
...
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com >
2021-10-04 13:22:21 -06:00