Commit graph

78 commits

Author SHA1 Message Date
e666d5c092 Ensure Float position is in range 0.0..=1.0 2023-02-18 14:07:25 +01:00
caca3b6ef1 Derive Debug, Clone, Copy for widgets 2023-02-18 14:07:03 +01:00
f25ce49e77 Rename Layer parts 2023-02-18 02:49:52 +01:00
95a01d5fc8 Add Either widget 2023-02-17 21:27:46 +01:00
8834bb6d9d Add more Float functions 2023-02-17 21:26:00 +01:00
7c3277a822 Add Layer widget 2023-02-17 21:26:00 +01:00
72b44fb3fc Add back optional Terminal::measuring_required 2023-02-17 20:25:23 +01:00
ba6ee45110 Don't measure widths while presenting 2023-02-17 18:59:32 +01:00
fae12a4b9f Improve coords documentation 2023-02-17 15:04:56 +01:00
b2d87543d7 Improve Terminal documentation 2023-02-17 14:58:21 +01:00
ac2546ba97 Add Terminal::{present_widget, present_async_widget} 2023-02-17 14:00:46 +01:00
ed14ea9023 Measure automatically in Terminal::present 2023-02-17 13:59:16 +01:00
e3365fdc02 Improve WidthDb documentation 2023-02-17 13:35:28 +01:00
2dee39c03c Add Cursor widget 2023-02-17 12:13:56 +01:00
5a15838989 Fix Float sizing for unset directions 2023-02-17 00:15:46 +01:00
845d88c93f Make widget example look slightly less horrible 2023-02-16 23:37:16 +01:00
c689d97974 Write transparent Style to Buffer correctly 2023-02-16 23:37:16 +01:00
9ff8007cae Switch usages of ContentStyle to Style 2023-02-16 21:24:52 +01:00
4c304ffe79 Add own Style type 2023-02-16 21:11:51 +01:00
67f703cf68 Extract Pos and Size to separate file 2023-02-16 21:10:48 +01:00
eb36bfa2ea Fix code blocks in docstrings 2023-02-16 20:40:20 +01:00
3f7e985b3f Add Background widget 2023-02-16 16:26:47 +01:00
b327dee3c3 Remove unnecessary AsyncWidgetExt trait 2023-02-16 16:12:50 +01:00
47df35d9db Add Empty widget 2023-02-16 16:07:05 +01:00
575faf9bbf Add Float widget 2023-02-16 15:13:23 +01:00
bcc07dc9ba Add WidgetExt and AsyncWidgetExt traits 2023-02-16 15:12:33 +01:00
dbafc40700 Add Padding widget 2023-02-16 14:37:50 +01:00
964f3bf011 Add Border widget 2023-02-16 14:30:06 +01:00
6a0c0474ec Add widget hello world example 2023-02-16 10:08:45 +01:00
f793ec79ac Add Text widget 2023-02-16 09:58:18 +01:00
70d33d4d5d Add vscode settings 2023-02-16 09:37:59 +01:00
904f5c16fa Add Widget and AsyncWidget traits 2023-02-16 09:37:59 +01:00
4ffaae067e Export all types at top level 2023-02-16 09:37:31 +01:00
0d59116012 Update dependencies 2023-02-11 21:21:14 +01:00
0a3b193f79 Fix clippy lint 2023-01-05 17:34:30 +01:00
8942b381f5 Add and fix some lints 2022-12-11 20:44:06 +01:00
06aefd562b Remove wrap method from Frame 2022-09-26 17:34:38 +02:00
f48901f543 Expose WidthDb from Terminal 2022-09-26 17:21:48 +02:00
6ed47ad916 Rename WidthDB to WidthDb 2022-09-26 17:01:49 +02:00
f258c84094 Expose Widthdb directly via Frame 2022-09-26 17:00:46 +02:00
24fd0050fb Fix drawing widgets on cursor not removing cursor 2022-09-08 18:13:13 +02:00
45ece466c2 Support more modifiers on some terminal emulators
If a terminal emulator supports the kitty protocol, this change will
allow cove to take advantage of this. This means that more modifiers
will work on special keys like enter or escape.

See also this section of the kitty protocol docs:
https://sw.kovidgoyal.net/kitty/keyboard-protocol/#disambiguate-escape-codes
2022-08-11 23:15:12 +02:00
7e42913245 Enable bracketed paste mode in Terminal
Only on non-windows platforms though, crossterm doesn't support paste
events on windows.
2022-08-10 23:53:54 +02:00
fbe9e065fc Update dependencies 2022-08-10 22:51:22 +02:00
5957e8e550 Fix tab width calculations when word wrapping 2022-08-04 02:59:00 +02:00
3b2a2105fe Fix incorrect width for tab-replacing spaces 2022-08-04 02:18:18 +02:00
31bb2de87b Make WidthDB tab-width-aware 2022-08-04 02:18:18 +02:00
d186291ef7 Fix word wrapping with successive forced breaks
If there were multiple forced breaks in succession, all except the first
would be a bit too wide since I forgot to include the current grapheme
in the new line's width.
2022-08-03 21:57:15 +02:00
dfc10f9d09 Fix splitting Styleds 2022-08-03 13:22:38 +02:00
26a8936cf5 Store Styled with contiguous string
The previous implementation of Styled used chunks that consisted of a
String and a ContentStyle. The current implementation instead stores a
single String and chunks consisting of a ContentStyle and an ending
index.

This implementation may reduce allocations and makes width-related
operations easier, for example getting the width of a Styled with its
whitespace trimmed.
2022-08-01 19:02:57 +02:00