Caleb Bassi
262bf441ce
Add linechart support
...
Closes #73
This commit only adds support for linecharts for the braille marker.
4 years ago
Caleb Bassi
7aae9b380e
Add header_gap field to Table
4 years ago
Florian Dehau
9085c81e76
refactor: clean up border type for blocks
...
* Merge line symbols in a single module.
* Replace set_border_type with border_type to match other builder methods.
* Remove unecessary branching.
4 years ago
Matthew Stevenson
682349c03e
update block example; add BorderType to exposed widgets API
4 years ago
Matthew Stevenson
a72389b28c
revert to single Block struct; add set_border_type method and BorderType enum
4 years ago
Matthew Stevenson
06d159fb7b
add RoundedBlock and DoubleBlock structs that impl From Block; add Block::rounded() and Block::double_border()
4 years ago
Matthew Stevenson
578560766d
add round corners and double lines to symbols
4 years ago
Florian Dehau
8293cef703
Release v0.8.0
5 years ago
Timon
60b99cfc66
feat: bump crossterm to 0.14
5 years ago
Kyle Ruzic
b8d0f947e8
Added a verticle 'cross' to the symbols as it was missing for no real reason
5 years ago
Sebastian Woetzel
bbd4363fa9
Bugfix: title_style was not used to style the axis title
5 years ago
Florian Dehau
e0083fb8de
chore: make the onboarding easier for Windows users.
5 years ago
Florian Dehau
3abafc307c
Release v0.7.0
5 years ago
Timon
e4873e4da9
feat(backend): bump crossterm to 0.13
...
* removed flush calls because execute already calls flush under the hood.
* moved some static functions into From traits
* removed useless clone in demo
* upgrade to crossterm 0.13
* map all errors
5 years ago
Florian Dehau
2233cdc9cc
chore: add CI based on github actions
5 years ago
Florian Dehau
816bc9b5c8
style: fix formatting and clippy issues
5 years ago
Florian Dehau
a82c82fcd7
fix(widgets): remove compilation warning in table widget
5 years ago
TheZoq2
bb28d02277
Update docs to point encourage installing 0.6
5 years ago
Jeffas
94877f4e7e
Use constraints for table column widths
...
This allows table column widths to be adapted more and scale with the
UI.
The constraints are solved using the Cassowary solver. An added
constraint for fitting them all in the width is added.
5 years ago
Florian Dehau
3747ddbefb
feat(backend): Refactor crossterm backend
...
* Remove compilation warnings
* Fix rendering artifacts in the crossterm demo. In particular, the bold modifier
was leaking on most of the terminal screen because the old logic was not
properly unsetting the bold modifier after use (took inspiration of the termion
backend implementation)
5 years ago
Florian Dehau
42731da546
Enable build failure on compilation warnings
5 years ago
Joseph Knight
e183d63a5e
typo in barcharg.rs
5 years ago
Joseph Knight
e5fdd442c3
typo in sparkline.rs
5 years ago
Joseph Knight
97357c0e08
typo in curses.rs
5 years ago
Joseph Knight
8649ce4c78
fixed typo in symbols.rs
5 years ago
Timon_Post
a0f6605f59
Implemented command api crossterm, for better perfomance.
5 years ago
Jeffas
db9b1dd689
Make margins be vertical or horizontal
...
This adds support for margins to be either vertical or horizontal, or
both.
5 years ago
Joe Ardent
86f681a007
Silence check warnings about [lack of] use of 'dyn' for boxed trait objects.
5 years ago
Florian Dehau
a3827aaeae
Remove try call in termion backend
5 years ago
Jeremy Day
47c68e40a2
fix for canvas rendering edge cases causing overflow errors
5 years ago
Florian Dehau
2a7eec816a
Add PartialEq to Text
5 years ago
Florian Dehau
8fbb764c9e
Move Borders documentation
5 years ago
Florian Dehau
4756801fd9
Format
5 years ago
Russ
f0e0b515ad
avoid divide by zero
5 years ago
defiori
25a0825ae4
fix: curses backend cursor positions
5 years ago
scauligi
b1ac297d71
fix crossterm terminal size and dark gray color
5 years ago
nytopop
8a9c76b003
Don't highlight Tabs separator behind selection
5 years ago
DarrienG
41cdd3e261
Provide clone and debug for Text type
5 years ago
Timon_Post
f6a0a91a23
fmt
5 years ago
timonpost@hotmail.nl
ffaaf5e39c
review update
5 years ago
timonpost@hotmail.nl
567cf7b8e5
update 0.9.2
5 years ago
Florian Dehau
a74d335cb4
Fix clippy warnings
5 years ago
Florian Dehau
7a5ad3fbdb
Fix sparkline panic when max is zero
5 years ago
Florian Dehau
4436110c44
Improve onboarding in documentation
5 years ago
Florian Dehau
f8b3526426
Add code example for `Constraint::Ratio`
5 years ago
Florian Dehau
43e38ac483
Fix Buffer::merge
...
Coordinates returned by Buffer::pos_of were interpreted as local coordinates
while they were global. This was resulting in panics due to out of bounds
accesses. Interpreting the coordinates as global and using correct offsets
when computing the new index within the buffer for each cell fix the issue.
5 years ago
David Flemström
21e79ca078
Rebase and include necessary curses changes
5 years ago
David Flemström
a25bbea555
Add workarounds for weird termion escape code handling
5 years ago
David Flemström
b7664a4108
Support several modifiers and indexed colors at once
5 years ago
David Flemström
d360cd3434
Support exact ratios for layout constraints
5 years ago
Florian Dehau
e037db076c
fix(backend/curses): use chtype to achieve platform agnostic conversion of graphemes
5 years ago
Florian Dehau
3ef19f41e6
fix(backend/curses): avoid platform specific conversion of graphemes
5 years ago
Florian Dehau
da90ec15fa
fix: add missing get_cursor and set_cursor on CursesBackend
5 years ago
Florian Dehau
7f5af46300
style: fmt
5 years ago
defiori
624e6ee047
fix: filter out wide unicode characters on windows
5 years ago
defiori
4a1f3cd61f
feat: curses instance can be passed to backend
5 years ago
defiori
d75198a8ee
feat: add pancurses backend
5 years ago
defiori
cadb41c9e3
fix: unified crossterm backend
5 years ago
defiori
b30cae0473
feat: crossterm backend can use alternate screen
5 years ago
scauligi
7290086fe9
forgot to flush
5 years ago
scauligi
bca920bea0
get/set cursor position
5 years ago
Jonathan
cd41ca571f
Modified with_crossterm naming scheme
5 years ago
Jonathan
dc654e9f6c
Added ability to create crossterm with previously created crossterm::Screen
5 years ago
Florian Dehau
b669cf9ce7
style: fix clippy warnings
5 years ago
Florian Dehau
97f764b45d
feat: handle crossterm errors
5 years ago
Florian Dehau
52a40ec99a
fix: remove undefined crossterm attributes in windows builds
5 years ago
Sven-Hendrik Haase
a78fa73b34
Add new shape: Rectangle
5 years ago
Jens Krause
1c0b0abf61
Use `UnicodeWidthStr::width()`
...
to get width of `divider`.
Also use `set_string` instead of `set_symbol`. The latter cuts content of a multi-char divider.
5 years ago
Jens Krause
f7c6620e25
Fix documented example to fix doc-tests on CI
5 years ago
Jens Krause
16372f7847
Don't show divider after last tab
5 years ago
Jens Krause
72c2eb7182
Add `divider` to `Tabs`
...
to change appearance of tab dividers.
5 years ago
Sven-Hendrik Haase
144bfb71cf
Upgrade to 2018 edition
5 years ago
Karoline Pauls
3fd9e23851
Buffer: correct diffing of buffers with multi-width characters
...
Resolves #104
5 years ago
Karoline Pauls
10642d0e04
Paragraph: word wrapping
6 years ago
Karoline Pauls
1802cf8dbc
Improve wrapping of double-width characters
6 years ago
Karoline Pauls
090975481b
Update tests and docs to take size from the Frame
6 years ago
Karoline Pauls
228816f5f8
Frame: provide consistent size for rendering
6 years ago
Karoline Pauls
8522e028f1
Run `cargo fmt` with the new Rust stable toolchain (1.31.0)
6 years ago
Ash
a2776dfc86
Make sure we always emit a cursor goto for the first update.
...
Otherwise, if the first update is to (1, 0) then no goto occurs.
6 years ago
Karoline Pauls
cc95c8cfb0
Gauge: use f64 internally and allow to set any f64 between 0 and 1
6 years ago
Karoline Pauls
89dac9d2a6
buffer: add quotes to fmt::Debug for better testing experience
6 years ago
Karoline Pauls
8cdfc883b9
Feature: Autoresize
...
It basically never makes sense to render without syncing the size.
Without resizing, if shrinking, we get artefacts. If growing, we may get
panics (before this change the Rustbox sample (the only one which didn't
handle resizing on its own) panicked because the widget would get an
updated size, while the terminal would not).
6 years ago
Florian Dehau
b3689eceb7
feat: update outdated dependencies
6 years ago
Karoline Pauls
5cee2afc6d
Limit Rect size to prevent u16 overflow
6 years ago
Florian Dehau
4c46ef69e9
Release v0.3.0
6 years ago
Florian Dehau
22e8fade7e
feat: add experimental test backend
6 years ago
Florian Dehau
fdf3015ad0
feat(terminal): log error if failed to show cursor on drop
6 years ago
Karoline Pauls
03bfcde147
[widgets][paragraph]: Truncate long lines when wrap is false
6 years ago
Florian Dehau
7b4d35d224
feat: restore the cursor state on terminal drop
6 years ago
Florian Dehau
d8e5f57d53
style: fmt
6 years ago
Florian Dehau
aa85e597d9
fix(crossterm): fix goto coordinates
6 years ago
Florian Dehau
5d52fd2486
refactor: remove custom termion backends
6 years ago
Florian Dehau
4ae9850e13
fix: replace links to assets
6 years ago
Antoine Büsch
f795173886
Unify Item and Text
6 years ago
Antoine Büsch
e42ab1fed8
Move Text to widgets/mod.rs
6 years ago
Antoine Büsch
0544c023f5
Rename Text::{Data -> Raw, StyledData -> Styled}
6 years ago
Antoine Büsch
ff47f9480b
Introduce builder methods for Text to make it more ergonomic
6 years ago
Antoine Büsch
70561b7c54
Fix examples and doctests
6 years ago
Antoine Büsch
559c9c75f3
Make Text accept both borrowed and owned strings
6 years ago
Florian Dehau
6c69160d6b
feat: remove unecessary borrows of Style
6 years ago
Florian Dehau
cf169d1582
style: run rustfmt and clippy
6 years ago
Florian Dehau
bcd1e30376
refactor: update List select behavior
...
* allow a selectable list to have no selected item
* show highlight_symbol only when something is selected
6 years ago
Florian Dehau
40bad7a718
feat: add initial support for crossterm
6 years ago
Florian Dehau
3d63f9607f
doc: update main documentation
6 years ago
Florian Dehau
13e194cd26
refactor: update widgets
...
* all widgets use the consumable builder pattern
* `draw` on terminal expect a closure that take a frame as only arg
6 years ago
Florian Dehau
d6016788ef
refactor: clippy + rustfmt
6 years ago
Florian Dehau
ad602a54bf
refactor(widgets): replace text rendering in Paragraph
...
* remove custom markup language
* add Text container for both raw and styled strings
6 years ago
Florian Dehau
7181970a32
feat: split layout from rendering
...
* remove layout logic from Terminal
* replace Group with Layout
* add Frame intermediate object
6 years ago
Jeremy Day
cfc90ab7f6
fix(widgets): Prevent chart legend from rendering when no dataset has a name
6 years ago
Florian Dehau
9a9f49f467
fix(backend): Add missing color pattern
6 years ago
Florian Dehau
df7493fd33
style: Run rustfmt
6 years ago
Florian Dehau
5de571fb03
feat(widgets): Add start_corner option to List
6 years ago
Florian Dehau
62df7badf3
feat(layout): Add Corner enum
6 years ago
Robin Nehls
3f8a9079ee
[widgets] implement text alignment for paragraph widget
6 years ago
Robin Nehls
5981767543
[style] add enum for text alignment
6 years ago
Florian Dehau
36146d970a
[style] rustfmt
6 years ago
Florian Dehau
36a5eb2110
Format code
6 years ago
Florian Dehau
f96db9c74f
[layout] Replace FnMut with FnOnce in Group::render
...
As the function does not need to mutate state and be run multiple times.
6 years ago
Florian Dehau
ef2054a45b
[lib] Derive Debug on Terminal
6 years ago
Xavier Bestel
f4052e0e71
fix colors use, add missing Blue
6 years ago
Florian Dehau
36dea8373f
[widgets][paragraph] Fix text wrapping
6 years ago
Florian Dehau
2cb823a15b
[lib] Fix conversion from cassowary-rs results to internal layouts
...
The library used to compute the layout may returned negative results
given strange contraints. To avoid overflows on unsigned integers operations,
those results will be converted to 0 instead of being converted as is.
6 years ago
Florian Dehau
4b53acab14
[doc] Fix layout example in documentation
6 years ago
Florian Dehau
fcd1b7b187
[widgets][list] Set the style of the underlying list
6 years ago
Magnus Bergmark
d0d2f88346
BUG: Buffer::pos_of panics on inside-bounds index
...
- Add tests for this behavior.
- Extend documentation of Buffer::pos_of and Buffer::index_of
- Clarify that the coordinates should be in global coordinate-space
(rather than local).
- Document panics.
- Add examples.
6 years ago
Rafael Escobar
c56173462a
Export AlternateScreenBackend.
6 years ago
Florian Dehau
f816e6bbc4
[backends] Improve termion backend
...
* Add AlternateScreenBackend
* Add a way to create a TermionBackend with a custom config
* Improve return values of several methods
6 years ago
Florian Dehau
7d273b576d
Bump version
7 years ago
Florian Dehau
6a3b9fb130
[src][chart] fmt
7 years ago
Florian Dehau
c3c5109c5a
[src] Fix build and tests
7 years ago
Florian Dehau
151d7e8a1c
[src] Update dependencies
...
* Update all dependencies to their latest versions
* Change border to Borders to match v1.0 of bitflags
7 years ago
Florian Dehau
af16518650
[src] Run rustfmt
7 years ago
Florian Dehau
8907ab90a1
[doc] Move "Get started" from README to src/lib.rs
7 years ago
Florian Dehau
5dd03d91ad
[widgets] Fix a bug in chart layout
7 years ago
Emmanuel Sales
cb8af88adf
Add Copy trait for layout enums
7 years ago
Florian Dehau
3012215e32
[widgets][tabs] Use generic type for tabs titles
7 years ago
Florian Dehau
ba80889333
[clippy] Fix warnings
7 years ago
Florian Dehau
1f285fbac0
[src] Run cargo fmt
7 years ago
Florian Dehau
3cc3585e48
[widgets][chart] Use generic type for labels
7 years ago
talha
3045ac4124
Minor codestyle fixes
7 years ago
Florian Dehau
71545a0aa8
Run cargo fmt
7 years ago
Florian Dehau
3b8cc241ac
[widgets] Fix table doc test
7 years ago
Florian Dehau
ca3308e945
[widgets] Fix Row export
7 years ago
Florian Dehau
c18885d38b
[widgets] Refactor Table Widget
...
* Add Row enum
* Move to a generic definition of table which allow iterators to be
passed as arguments and therefore reduce allocations
7 years ago
Florian Dehau
d6a91d1865
Fix List lifetime issues
...
Add a new lifetime for the items inside the list
7 years ago
Florian Dehau
41eac2aa4e
Refactor demo example
7 years ago
Florian Dehau
89a173fe9b
Refactor List Widget
...
* Add a generic item object for the list. The item can either be some data
alone or some data and its style
* The List widget now store an Iterator over those element. This should
avoid the need of allocating memory to store its elements
* The List consume the Iterator when it is drawn
7 years ago
Florian Dehau
b1737ce667
Update Widget Trait
...
The draw function now take a &mut reference to the widget, allowing the
widget to modify itself when drawn. This change the semantic of the draw
call since the widget should now be considered "consumed" after it.
7 years ago
Florian Dehau
a9aa23aead
Add mouse support in TermionBackend
...
* Old TermionBackend is replaced by RawBackend
* Add TermionBackend with mouse support called MouseBackend
7 years ago
Florian Dehau
b2bb24b9d2
Fix rustfmt and clippy errors
7 years ago