Antonio Scandurra
861893b7b6
Autoscroll vertically to the newest selection on SelectNext
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-11-25 16:02:39 +01:00
Antonio Scandurra
10b3fae2c3
Implement SelectNext
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-11-25 15:44:06 +01:00
Antonio Scandurra
543ebb7e4e
Adjust padding on sign in prompt in titlebar
2021-11-25 10:37:30 +01:00
Antonio Scandurra
0d8c68ae1d
Replace signed out silhouette with a "Sign in" label
2021-11-25 10:34:03 +01:00
Nathan Sobo
f7532c785e
Render the current line, column, and line count in go to line dialog
2021-11-24 16:52:18 -07:00
Nathan Sobo
a07fe3aa58
Improve styling of the go to line modal
2021-11-24 16:16:29 -07:00
Nathan Sobo
1e49b56626
Restore scroll position and selections when cancelling go-to-line
...
But preserve the line when confirming.
2021-11-24 15:43:48 -07:00
Nathan Sobo
8c0541b455
Fix warnings
2021-11-24 15:24:27 -07:00
Nathan Sobo
0854976691
Highlight the selected line when typing in the go to line dialog
2021-11-24 15:23:45 -07:00
Antonio Scandurra
53a7da9d3f
Allow centering selections when requesting autoscroll
...
We use this new capability in the "go to line" modal.
2021-11-24 19:50:47 +01:00
Antonio Scandurra
cea8107242
WIP: Start on go to line
2021-11-24 18:45:36 +01:00
Antonio Scandurra
afdac15572
Move integration test up into the zed
crate
2021-11-24 17:39:15 +01:00
Antonio Scandurra
e88d3bb97e
Invert dependency between editor
and workspace
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-11-24 17:07:16 +01:00
Antonio Scandurra
2cf44d30b7
🔥
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-11-24 16:17:41 +01:00
Antonio Scandurra
03bd6d6c33
Pull up diagnostic and cursor position status bar items creation
2021-11-24 16:04:24 +01:00
Antonio Scandurra
9bb195e177
Introduce "entry openers" but still register editors in workspace
2021-11-24 15:18:15 +01:00
Antonio Scandurra
a7186c643f
Skip over block lines when building columnar selections
2021-11-24 10:40:06 +01:00
Antonio Scandurra
3a9b69077e
Reverse columnar selections when head moves before tail's column
2021-11-24 10:37:35 +01:00
Antonio Scandurra
d19d3bbe45
Calculate an overshoot when mousing to build columnar selections
2021-11-24 10:28:32 +01:00
Nathan Sobo
2b9db911c7
WIP
2021-11-24 09:18:41 +01:00
Nathan Sobo
e0bf5337ca
Merge pull request #244 from zed-industries/mouse-selections
...
Improve support for selecting text via the mouse
2021-11-23 18:11:04 -07:00
Max Brunsfeld
294769be35
Add outdent command, fix indent bugs
2021-11-23 16:44:05 -08:00
Nathan Sobo
bfecdb7bc0
Remove newest selection when adding a selection with a click count > 1
...
This prevents selections added in earlier clicks from being rendered under the pending selection.
2021-11-23 16:30:33 -07:00
Nathan Sobo
73afb29b04
Use alt modifier instead of cmd to add selections
2021-11-23 16:23:30 -07:00
Nathan Sobo
9e651ee127
Simplify handling of shift-click to extend selections
2021-11-23 16:03:21 -07:00
Nathan Sobo
d969f38850
Implement shift-click to extend the newest selection
2021-11-23 15:42:21 -07:00
Max Brunsfeld
f0db748ba1
Implement toggle-comments
2021-11-23 14:13:28 -08:00
Max Brunsfeld
091ed9ab47
Maximize new windows
2021-11-23 10:24:31 -08:00
Antonio Scandurra
63089badf1
Simulate line-wise selection when clicking on the gutter
2021-11-23 19:14:39 +01:00
Antonio Scandurra
7a79df7a24
Implement line-wise selection
2021-11-23 19:10:15 +01:00
Antonio Scandurra
bcf38e6bb5
Implement word-wise mouse selection
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-11-23 18:50:17 +01:00
Max Brunsfeld
a0287920e5
Remove cargo-bundle from dev-dependencies
...
The cargo-bundle crate is installed separately in the
'bundle' script via 'cargo install'.
2021-11-23 09:25:22 -08:00
Antonio Scandurra
3269b9925f
WIP: Start integrating SelectMode
and movement::surrounding_word
2021-11-23 17:04:58 +01:00
Antonio Scandurra
a0ea5b38a0
Add a new movement::surrounding_word
function
2021-11-23 17:04:37 +01:00
Antonio Scandurra
005a7076af
Expose a count
field on Event::LeftMouseDown
2021-11-23 16:18:17 +01:00
Antonio Scandurra
6b7ee10287
Retry flaky test_soft_wraps
5 times before giving up
...
We have other tests that rely on loading fonts that intermittently
fail on CI and for which we used the same mitigation.
2021-11-23 11:25:04 +01:00
Max Brunsfeld
4002be882f
Clear sprite cache when scale factor changes
2021-11-22 16:47:51 -08:00
Max Brunsfeld
23fbeaf978
Include scale factor in glyph cache keys
2021-11-22 16:37:01 -08:00
Max Brunsfeld
66e27b7420
Merge pull request #233 from zed-industries/fix-split-selection-into-lines
...
Place the cursor at end of first line when splitting selections into lines
2021-11-22 16:25:19 -08:00
Max Brunsfeld
ce71ed3959
Adjust assertion in test for split_selection_into_lines
2021-11-22 16:19:24 -08:00
Nathan Sobo
68223bdb67
Place the cursor at end of first line when splitting selections into lines
2021-11-22 15:53:37 -07:00
Nathan Sobo
2f39dee28b
Use uniform biases in AnchorMap, AnchorRangeMap
...
Specifying a different bias for every point makes the interface feel pretty unwieldy and we don't really use it.
2021-11-22 15:30:46 -07:00
Max Brunsfeld
612b4404a9
Fix the bias of deserialized selection sets
...
Fixes #224
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-11-22 14:14:48 -08:00
Max Brunsfeld
cfe6103daf
Fix selection set id mismatch when rendering guest selections
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-11-22 14:10:17 -08:00
Max Brunsfeld
ca4086b844
0.8.0
2021-11-22 13:33:54 -08:00
Max Brunsfeld
c13a26ff7b
Bump RPC protocol version
2021-11-22 13:33:05 -08:00
Max Brunsfeld
cfaab6cfb6
Merge pull request #228 from zed-industries/faster-clock-global
...
Switch to a dense representation for `clock::Global`
2021-11-22 13:31:27 -08:00
Max Brunsfeld
7474813a17
Impose a timeout on writing RPC messages
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-11-22 13:23:55 -08:00
Antonio Scandurra
b25c3eb740
Switch to a dense representation for clock::Global
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-11-22 17:20:43 +01:00
Max Brunsfeld
447f710570
Merge pull request #226 from zed-industries/1d-block-map
...
Allow full diagnostic messages to be displayed in the editor
2021-11-19 09:16:49 -08:00
Antonio Scandurra
6f5ca6064b
Use anchor_after
in randomized tests to match BlockMap
2021-11-19 18:04:31 +01:00
Antonio Scandurra
c844fcdc09
Invalidate active diagnostic when its primary range collapses
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-11-19 16:46:54 +01:00
Antonio Scandurra
b0afc80678
Ignore diagnostics with empty ranges
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-11-19 16:30:26 +01:00
Antonio Scandurra
a023950f28
Remove unused group_range
field
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-11-19 16:17:50 +01:00
Antonio Scandurra
8e74cc178e
Invalidate active diagnostics when they are removed
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-11-19 16:15:22 +01:00
Antonio Scandurra
61d8848b31
Make BlockMap::sync
private
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-11-19 15:44:19 +01:00
Antonio Scandurra
dfbfa86548
WIP
2021-11-19 15:31:33 +01:00
Antonio Scandurra
2664dad2bc
Allow styling of invalid diagnostics
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-11-19 14:35:00 +01:00
Antonio Scandurra
8d5e3fb159
Allow styling of the gutter for block lines
2021-11-19 11:30:01 +01:00
Max Brunsfeld
8d1a4a6a24
Start work on allowing blocks to be styled
2021-11-18 18:16:35 -08:00
Max Brunsfeld
c04151f999
Bind ShowNextDiagnostic to f8
2021-11-18 14:24:03 -08:00
Max Brunsfeld
0b63d882ce
Allow key bindings to F1 through F12
2021-11-18 14:23:36 -08:00
Max Brunsfeld
6aa346dec8
Fix switched input + output rows in BlockSnapshot::buffer_rows
2021-11-18 12:41:58 -08:00
Max Brunsfeld
bef09696f6
Align block text with the anchor's column
...
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-11-18 12:17:22 -08:00
Antonio Scandurra
1a8b23e118
Color diagnostic messages based on their severity
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-11-18 17:47:10 +01:00
Antonio Scandurra
f39942863b
Dismiss active diagnostics when hitting escape
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-11-18 16:57:05 +01:00
Antonio Scandurra
5094380c83
Enhance keyboard navigation when showing next diagnostic
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-11-18 16:55:18 +01:00
Antonio Scandurra
643545e91e
When showing the next diagnostic, advance to the next *primary* one
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-11-18 16:04:16 +01:00
Antonio Scandurra
0e51365770
In a diagnostic group, mark the highest-severity diagnostic as primary
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-11-18 15:53:00 +01:00
Antonio Scandurra
401b59be5c
Refactor retrieving oldest and newest selection
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-11-18 15:18:35 +01:00
Antonio Scandurra
0a6293bcda
Support highlighting in blocks
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-11-18 14:08:21 +01:00
Antonio Scandurra
0f1eb3dd2e
Skip block lines when moving up and down
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-11-18 13:45:06 +01:00
Antonio Scandurra
856768a43c
Remove aggressive logging from WrapMap
update code paths
2021-11-18 11:13:40 +01:00
Antonio Scandurra
08e0444ee4
Use char count instead of byte count to determine longest row
2021-11-18 11:01:12 +01:00
Antonio Scandurra
b80887dabe
Don't insert blocks within multi-byte characters in randomized test
2021-11-18 10:54:25 +01:00
Antonio Scandurra
572e571927
Test longest row only when tabs are not present or the tab size is 1
...
This is because the longest row calculation is best-effort at the moment,
since this information is not indexed in the `TabMap`.
2021-11-18 10:54:22 +01:00
Antonio Scandurra
5a9dea5299
Ensure TabMap
works correctly when there are folds
2021-11-18 10:37:04 +01:00
Antonio Scandurra
9ba24794c7
Re-enable tabs, spaces and multi-byte characters in randomized tests
2021-11-18 10:35:31 +01:00
Antonio Scandurra
84d257470a
Fix empty range edge case in FoldMap
2021-11-18 10:33:31 +01:00
Antonio Scandurra
4967a8d5ef
Trim expanded tabs if they overshoot the provided range
2021-11-18 09:52:42 +01:00
Antonio Scandurra
b10c82c015
Stop at range.end
when computing text summary for range in TabMap
2021-11-18 09:52:05 +01:00
Nathan Sobo
213aa36e1c
WIP: Track down bugs with longest_row on wrap map
...
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-11-17 19:45:56 -07:00
Nathan Sobo
c5956a0363
Start at the end of the last transform when catching up to edits during wrapping
...
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-11-17 19:44:17 -07:00
Max Brunsfeld
8230dd9a3b
WIP - BlockSnapshot::longest_row
2021-11-17 16:00:52 -08:00
Max Brunsfeld
cb18131432
Represent scroll position correctly when scrolled mid-block
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-11-17 14:56:55 -08:00
Max Brunsfeld
707ffe8ff3
Implement BlockSnapshot::line_len, use it in DisplayMap
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-11-17 14:56:05 -08:00
Max Brunsfeld
00b5cc472e
Fix BlockSnapshot::chunks when starting in a block
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-11-17 14:54:47 -08:00
Max Brunsfeld
1c3bf90a8a
Reimplement BlockSnapshot::{clip_point,to_block_point,max_point}
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-11-17 12:54:14 -08:00
Antonio Scandurra
e60500dd7c
Re-enable soft-wrapping in randomized tests
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
Co-Authored-By: Max Brunsfeld <max@zed.dev>
2021-11-17 19:46:43 +01:00
Antonio Scandurra
88d0c04444
Implement BlockSnapshot::buffer_rows
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
Co-Authored-By: Max Brunsfeld <max@zed.dev>
2021-11-17 19:45:06 +01:00
Antonio Scandurra
198f6694b7
Use options to represent soft-wrapped buffer rows
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
Co-Authored-By: Max Brunsfeld <max@zed.dev>
2021-11-17 19:30:40 +01:00
Antonio Scandurra
d9283efbe6
Make BlockMap
1d
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
Co-Authored-By: Max Brunsfeld <max@zed.dev>
2021-11-17 19:26:57 +01:00
Nathan Sobo
18354c5e04
Hack in show next diagnostic command
...
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-11-16 16:51:38 -08:00
Nathan Sobo
52a4c15c14
Eliminate non-highlighted chunks APIs
...
Now we only have a single code path for chunks across all layers, but highlighting is optional and controlled by a flag.
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-11-16 16:51:38 -08:00
Nathan Sobo
7dd9b9539e
WIP
2021-11-16 13:19:04 -07:00
Nathan Sobo
092689ed56
WIP
...
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-11-16 13:10:06 -07:00
Nathan Sobo
880b3f087f
Insert empty isomorphic transforms on empty lines
...
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2021-11-16 12:14:00 -07:00
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
8b1b35913a
Fix group_ids assertions in diagnostics test
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-11-15 14:18:58 -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