Jeremy Soller
0a11fb1045
Make Editor::buffer_ref accessible, rename lifetimes
2024-01-17 13:31:03 -07:00
Jeremy Soller
cbbf6f0d8f
Allow Editor to use reference or Arc of Buffer
2024-01-17 13:31:03 -07:00
Jeremy Soller
ae030e9885
Move color and x_opt out of Cursor
2024-01-17 13:31:03 -07:00
Jeremy Soller
d0b4b4635e
Refactor of scroll and shaping
...
- Scroll is identified by line index and layout index, instead of just
layout index
- Shaping has the option to prune, where caches outside of the scroll
view are cleared
- Syntax editor no longer requires layout of all lines, only of lines
inside scroll
- BufferLine has a metadata field that can be used by other abstractions
to know when text was changed
2024-01-17 13:31:03 -07:00
Jeremy Soller
018a2e9d2a
Move cursor motions to new Motion enum, move handling to Buffer
2024-01-17 13:31:03 -07:00
Jeremy Soller
94e6cdefda
Add select by word and double/triple click actions
2023-12-12 10:29:14 -07:00
Jeremy Soller
6566350276
ViEditor::finish_change will store change to history
2023-12-12 09:52:22 -07:00
Jeremy Soller
3187e916ab
ViEditor: cleanup logging
2023-12-08 12:03:55 -07:00
Jeremy Soller
b7bdd62eb3
ViEditor: update modit and improve put implementation
2023-12-05 10:05:26 -07:00
Jeremy Soller
de6f2c7fbe
Editor: make delete_range and insert_at methods public
2023-12-05 10:04:50 -07:00
Jeremy Soller
9278e7d0c4
ViEditor: Implement put/yank registers
2023-11-30 13:42:52 -07:00
Jeremy Soller
cbd567d238
Support line selection
2023-11-28 10:42:50 -07:00
Jeremy Soller
7d21045b2f
Add primitive auto indent
2023-11-16 08:59:43 -07:00
Jeremy Soller
1207fd6d80
Edit: use u16 for tab_width
2023-11-16 08:38:48 -07:00
Jeremy Soller
38bed64ef1
Use cosmic_undo_2 instead of undo_2 for improved compiler support
2023-11-15 09:09:46 -07:00
Jeremy Soller
abf58279be
Implement TextObject::Search
2023-11-14 13:23:00 -07:00
Jeremy Soller
bab94a7823
Join together vim changes
2023-11-14 12:28:56 -07:00
Jeremy Soller
4c85a6be72
ViEditor: Track when changed
2023-11-13 14:46:46 -07:00
Jeremy Soller
5352fdee94
Undo/redo support in ViEditor
2023-11-13 13:31:06 -07:00
Jeremy Soller
7830f4107c
Enable external change tracking
2023-11-13 12:37:07 -07:00
Jeremy Soller
e942e649ed
Support LeftInLine and RightInLine motions
2023-11-13 11:10:05 -07:00
Jeremy Soller
d001e5c09e
Implement all modit motions required
2023-11-12 19:01:20 -07:00
Jeremy Soller
fbc33c183a
Convert more actions to modit keys, fix passthrough
2023-11-10 15:53:19 -07:00
Jeremy Soller
ddcd3c8795
Support search
2023-11-10 12:23:00 -07:00
Jeremy Soller
e8dd8ec7d1
Support modit::Key enum
2023-11-10 09:47:45 -07:00
Jeremy Soller
9efcc41a5a
Remove unused import and implemented todo
2023-11-09 09:35:04 -07:00
Jeremy Soller
d7e066c105
Support more modit events
2023-11-08 14:23:13 -07:00
Jeremy Soller
aece6486b9
Adapt to newer modit
2023-11-08 11:57:02 -07:00
Jeremy Soller
fa83b2efe9
Support NextChar and PreviousChar modit motions
2023-11-08 11:03:53 -07:00
Jeremy Soller
74c92e0419
ViEditor: switch to using modit
2023-11-07 15:57:00 -07:00
Jeremy Soller
ac389d9eeb
SyntaxEditor: Allow retrieving syntax theme, optimize updates to theme
2023-11-02 12:55:45 -06:00
Jeremy Soller
ca35e1f429
ViEditor: redraw when passthrough mode changed
2023-11-01 14:17:37 -06:00
Jeremy Soller
7855dce09d
Add indent action and tab width
2023-11-01 13:31:53 -06:00
Jeremy Soller
d53932bd7c
Add function to set metrics and size simultaneously
2023-10-31 20:40:46 -06:00
Jeremy Soller
423fc22439
ViEditor: fix cursor and select positions
2023-10-27 13:17:56 -06:00
Jeremy Soller
c1e40363ab
ViEditor: implement search, capture commands
2023-10-20 14:11:18 -06:00
Jeremy Soller
37789ccdf7
ViEditor: expose current mode, add word stubs
2023-10-20 12:34:03 -06:00
Jeremy Soller
a29eefca5a
ViEditor: implement I and ^ using SoftHome
2023-10-20 10:26:17 -06:00
Jeremy Soller
c6e4f9d04c
ViEditor: add passthrough mode (disables vi features)
2023-10-20 09:46:21 -06:00
Jeremy Soller
6d59885200
ViEditor: draw syntax background color
2023-10-20 09:45:25 -06:00
Héctor Ramón Jiménez
6235716beb
Make Edit::copy_selection immutable
2023-09-16 16:18:56 +02:00
John Nunley
440d24ffa0
Add more Debug implementations
...
I generally like to implement Debug on these kind of types.
2023-07-07 21:44:21 -07:00
Jeremy Soller
85ac473056
Fix tests
2023-07-06 06:47:12 -06:00
Dima Rets
6dba04df08
allow setting cursor
2023-06-10 12:53:34 +01:00
Edgar Geier
3331f41d7a
Improve documentation
2023-03-12 10:39:57 +01:00
Edgar Geier
384c5c1fdc
Remove Mutex from FontSystem
2023-03-12 10:39:56 +01:00
Edgar Geier
057b5b6fa9
Extract borrow of FontSystem from Buffer
2023-03-12 10:39:54 +01:00
Jeremy Soller
7078c3bb98
Fix vi editor compilation
2023-03-02 11:31:07 -07:00
Héctor Ramón Jiménez
4320ae6329
Use f32 instead of i32 for lengths
...
This allows users to use logical coordinates instead of physical ones.
2023-02-28 03:39:31 +01:00
Jeremy Soller
8cc988d374
Run cargo fmt
2023-01-04 20:03:03 -07:00