Commit Graph

125 Commits

Author SHA1 Message Date
yves-biener 65d7546efd fix(testing): apply refactor to test implementation
Zig Project Action / Lint, Spell-check and test zig project (push) Successful in 27s
2025-03-04 14:54:51 +01:00
yves-biener ec22e68e8c ref(event): remove .resize and replace with recursize method calls
Zig Project Action / Lint, Spell-check and test zig project (push) Failing after 40s
This also means that currently the dynamic resizing through the app's
detached thread is not working, as it cannot send size updates. The
examples have been overhauled to still implement intermediate mode
applications accordingly.
2025-03-04 14:52:19 +01:00
yves-biener 43cdc46853 fix(input/mouse): correct boundary check for mouse position inside of given origin and size
Zig Project Action / Lint, Spell-check and test zig project (push) Has been cancelled
2025-03-04 14:51:26 +01:00
yves-biener 591b990087 ref(event): split Size into two Points (one for the size and one for the anchor / origin)
Zig Project Action / Lint, Spell-check and test zig project (push) Successful in 39s
2025-03-04 00:04:56 +01:00
yves-biener 91ac6241f4 doc: correct TODO, NOTE and FIX comment statements
Zig Project Action / Lint, Spell-check and test zig project (push) Successful in 48s
2025-03-03 21:49:11 +01:00
yves-biener edefc80759 mod(container/border): render horizontal borders across entire Container
Zig Project Action / Lint, Spell-check and test zig project (push) Successful in 27s
2025-03-02 23:03:00 +01:00
yves-biener 4145ff497b fix(elements/scrollable): nested container rendering
Zig Project Action / Lint, Spell-check and test zig project (push) Successful in 2m45s
2025-03-02 22:27:26 +01:00
yves-biener bec0cf2987 fix(container): check border sides configurations before trying to create borders
Zig Project Action / Lint, Spell-check and test zig project (push) Successful in 28s
2025-03-01 20:58:34 +01:00
yves-biener af443c6bbf test(elements/scrollable): remove redundance from test code
Zig Project Action / Lint, Spell-check and test zig project (push) Successful in 28s
2025-03-01 16:24:10 +01:00
yves-biener ae9cd08b15 add(error): introduce zterm.Error containing all zterm errors with their corresponding description
Zig Project Action / Lint, Spell-check and test zig project (push) Successful in 28s
2025-03-01 15:19:42 +01:00
yves-biener 8a7ce78aaf feat(container): introduce fixed_size property for fixed sizing of Containers
Zig Project Action / Lint, Spell-check and test zig project (push) Failing after 42s
Moved min_size property from `Container` to the `Scrollable` element,
where it is only used anyway.
2025-03-01 11:56:14 +01:00
yves-biener c28fcd26c1 fix(container/layout): integer overflows by casting to usize
Zig Project Action / Lint, Spell-check and test zig project (push) Successful in 1m5s
2025-02-28 15:55:10 +01:00
yves-biener 3b6848f845 fix(container): rendering scrollable elements with separators
Zig Project Action / Lint, Spell-check and test zig project (push) Successful in 23s
Added corresponding test cases to test the corresponding rendering of
scrollable elements.
2025-02-27 17:02:16 +01:00
yves-biener 53b69f034c mod(size): rename merge function to add; new max function
Zig Project Action / Lint, Spell-check and test zig project (push) Successful in 1m6s
2025-02-27 14:17:19 +01:00
yves-biener 54ce697e91 fix(lint): typo
Zig Project Action / Lint, Spell-check and test zig project (push) Successful in 47s
2025-02-26 21:54:29 +01:00
yves-biener 8f16435f30 test(container): rectangle color filling
Zig Project Action / Lint, Spell-check and test zig project (push) Failing after 1m4s
2025-02-26 21:04:28 +01:00
yves-biener ca14bc6106 fix(container): positioning; move separator options to layout struct
Zig Project Action / Lint, Spell-check and test zig project (push) Successful in 22s
Added corresponding test cases for padding, borders and corresponding
seperators.
2025-02-26 18:21:55 +01:00
yves-biener a293ef46da test(container): add missing zon test configurations
Zig Project Action / Lint, Spell-check and test zig project (push) Failing after 46s
2025-02-25 20:41:35 +01:00
yves-biener c66401d941 testing(container): border separator test cases
Zig Project Action / Lint, Spell-check and test zig project (push) Failing after 40s
Currently the test case with both a border and separators for two
children is failing to render the separators.
2025-02-25 20:39:18 +01:00
yves-biener ad4186e1f8 test(container): move test template for zon file creation to wiki
Zig Project Action / Lint, Spell-check and test zig project (push) Successful in 46s
2025-02-25 19:04:21 +01:00
yves-biener 8c130a40d7 test(container): correct color
Zig Project Action / Lint, Spell-check and test zig project (push) Successful in 1m15s
2025-02-25 18:46:06 +01:00
yves-biener 9d5a661b4e test(container): render Cell slices test against .zon input
Zig Project Action / Lint, Spell-check and test zig project (push) Failing after 1m0s
2025-02-25 18:41:04 +01:00
yves-biener 4234c9ad0c rem(element): template Element moved into wiki documentation
Zig Project Action / Lint, Spell-check and test zig project (push) Successful in 45s
2025-02-25 16:55:11 +01:00
yves-biener a588e2ef21 add(test): input testing of Key.isAscii
Zig Project Action / Lint, Spell-check and test zig project (push) Successful in 1m42s
2025-02-25 16:52:17 +01:00
yves-biener 8519d204f3 fix(lint): correct spelling error
Zig Project Action / Lint, Spell-check and test zig project (push) Successful in 1m1s
2025-02-24 17:20:25 +01:00
yves-biener 33262c9638 add(testing): new namespace containing testing capabilities for zterm
Zig Project Action / Lint, Spell-check and test zig project (push) Failing after 39s
The namespace shall also be used for testing the rendering of
`Container`s and `Element`s (including the `Scrollable` element).

The testing renderer currently is a striped down version of the double
buffered render without the secondary buffer and the flushing to stdout.
The internal `Cell` slice (the *screen*) is used for equality checks.

The testing namespace shall provide a way to describe the expected
`Cell` slices that should be validated against.
2025-02-24 17:14:57 +01:00
yves-biener 5c5c59cbfc fix(style): render only necessary bytes and change default fg color to .default
Zig Project Action / Lint, Spell-check and test zig project (push) Successful in 45s
2025-02-24 17:11:22 +01:00
yves-biener c022d1d9e2 fix(lint): correct indentation and naming convention for constants
Zig Project Action / Lint, Spell-check and test zig project (push) Failing after 1m9s
2025-02-24 17:09:22 +01:00
yves-biener 12497e92f8 fix(lint): correct casing for constants
Zig Project Action / Lint, Spell-check and test zig project (push) Failing after 21s
2025-02-24 17:01:55 +01:00
yves-biener d10f738c75 add(test): cell conversion to ansi enhanced strings
Zig Project Action / Lint, Spell-check and test zig project (push) Failing after 45s
2025-02-24 16:54:05 +01:00
yves-biener 7b005ea4b1 add(examples/styles): text and color styling possiblities
Zig Project Action / Lint, Spell-check and test zig project (push) Failing after 39s
This also contains some minor refactoring to improve the readability
and understandability of the library (i.e. renaming of Style.Attributes
to Style.Emphasis).
2025-02-21 19:13:11 +01:00
yves-biener 16724f6a52 add(example/elements): distinct different scrollable containers
Zig Project Action / Lint, Spell-check and test zig project (push) Successful in 46s
2025-02-21 15:58:42 +01:00
yves-biener b980703350 fix(container): border separator handling
Zig Project Action / Lint, Spell-check and test zig project (push) Failing after 39s
Due to the assigning back the increased value for the used gap in case
the separator was active, every .resize `Event` would add more to the
gap, leading to ever smaller sub-container's and different sizes after
resizes. This has been fixed to have consistent layouting done by the
`Container` and `Border`.
2025-02-21 12:25:47 +01:00
yves-biener eb89f7f98b fix(renderer): reset color after each cell write
Zig Project Action / Lint, Spell-check and test zig project (push) Failing after 38s
2025-02-21 12:19:38 +01:00
yves-biener 96375e3b72 mod(build): build configuration for examples
Zig Project Action / Lint, Spell-check and test zig project (push) Successful in 54s
2025-02-20 11:16:42 +01:00
yves-biener cc831a5cdf fix(element/scrollable): render horizontal directed contents correctly
Zig Project Action / Lint, Spell-check and test zig project (push) Successful in 46s
2025-02-19 22:23:32 +01:00
yves-biener 86b3e7d4ed feat(scrollable): make Container scrollable through Element Scrollable
Zig Project Action / Lint, Spell-check and test zig project (push) Successful in 1m35s
2025-02-19 20:32:26 +01:00
yves-biener f55d71a7cb mod(mouse): fix input.Mouse.in method
Zig Project Action / Lint, Spell-check and test zig project (push) Successful in 46s
Pass through mouse events where they actually match the corresponding
`Container`. Adopt mouse event accordingly in `Scrollable` `Element`
trait when passing through the mouse event to the scrollable
`Container`.
2025-02-18 19:09:03 +01:00
yves-biener f66a870223 ref(input): move mouse.zig and key.zig into public input.zig namespace
Zig Project Action / Lint, Spell-check and test zig project (push) Successful in 1m41s
2025-02-18 18:24:09 +01:00
yves-biener e2f9408850 add(input): mouse support
Zig Project Action / Lint, Spell-check and test zig project (push) Successful in 46s
2025-02-17 23:36:27 +01:00
yves-biener c2080ab40f ref(ctlseqs): use control sequence file; rename key names
Zig Project Action / Lint, Spell-check and test zig project (push) Successful in 46s
2025-02-17 23:08:47 +01:00
yves-biener a9f48bfb6a ref(key): make Key struct packed and rename constants
Zig Project Action / Lint, Spell-check and test zig project (push) Successful in 2m5s
2025-02-17 21:06:15 +01:00
yves-biener 7891af6c6f add(element/scrollable): implement content provider
Zig Project Action / Lint, Spell-check and test zig project (push) Successful in 1m49s
However this is only working for the same size as the parent container
(i.e. same `Size`). The `.resize` event for the `Container` of the
scrollable element needs to be the necessary and/or required size for
the contents (regardless of the screen viewport).
2025-02-17 19:58:25 +01:00
yves-biener 7b690d387b fix(lint): correct spelling errors
Zig Project Action / Lint, Spell-check and test zig project (pull_request) Successful in 1m9s
Zig Project Action / Lint, Spell-check and test zig project (push) Successful in 42s
2025-02-16 16:01:04 +01:00
yves-biener 5c929479b2 add(main): main executable with zig build run support
Zig Project Action / Lint, Spell-check and test zig project (pull_request) Failing after 5m10s
The main executable contains a simple `Element` implementation example
showing how interaction through and outside of the event loop can be
implemented to impact the rendered contents.
2025-02-16 15:35:50 +01:00
yves-biener d8a9e72b67 add(border): seperator line options with corresponding code points 2025-02-16 02:04:53 +01:00
yves-biener d951906b2b rem: Scroll from Propierties of Container
Updated the corresponding documentation and ideas for how to realize
scrollable contents.
2025-02-15 18:50:36 +01:00
yves-biener 4781e9ce39 add(element): interface for injecting user behavior to containers
Some additional refactoring and documentation updates have also been
applied.
2025-02-15 15:56:30 +01:00
yves-biener 5c148e1aa5 fix(cotainer/border): seperator placement without border's and gap 2025-02-15 11:25:20 +01:00
yves-biener a6aa6e5150 fix(container/border): correct location and rendering of separators between child elements 2025-02-15 11:10:37 +01:00