Commit Graph

1754 Commits

Author SHA1 Message Date
Fraser Tweedale
6dc25d7904 refactor some list functions
Use listSelectedElementL to simplify the implementation and improve
asymptotics of some list functions.  Introduces some additional
constraints on these functions, so this change requires a major
version bump.

- `listModify`: Improved asymptotics for `Seq`.  Introduces
  `Splittable` and `Semigroup` constraint.

- `listSelectedElement`: Simpler definition.  Asymptotics unchanged.
  Introduces `Semigroup` constraint and strengthens `Foldable`
  constraint to `Traversable`.
2022-07-29 11:25:26 +10:00
Jonathan Daugherty
a46e4520f3
Merge pull request #381 from avh4/patch-1
Update documentation for wide character support
2022-07-28 13:23:29 -07:00
Jonathan Daugherty
0385fa8e07 tests/List.hs: make Semigroup import conditional 2022-07-28 13:10:15 -07:00
Jonathan Daugherty
408129d825 tests/List.hs: style 2022-07-28 13:09:01 -07:00
Jonathan Daugherty
dd8958fc45 listSelectedElementL: style 2022-07-28 13:02:53 -07:00
Jonathan Daugherty
1d8e0832d1
Merge pull request #382 from frasertweedale/feature/selected-element-traversal
add listSelectedElementL Traversal
2022-07-28 09:27:55 -07:00
Fraser Tweedale
896e7243ef add listSelectedElementL Traversal
Add a `Traversal` that targets the selected element (if any).  It is
useful for retrieving, setting, modifying or traversing the selected
element and composes with other optics.  Asymptotics are documented.

It also makes it possible to rewrite some other functions in terms
of `listSelectedElementL`, including:

- `listModify`: Improved asymptotics for some containers, including
  `Seq`.  Introduces `Splittable` and `Semigroup` constraint.

- `listSelectedElement`: Simplifies definition.  Asymptotics
  unchanged.  Introduces `Semigroup` constraint.

Such changes are left for discussion of possible subsequent
implementation.
2022-07-28 23:34:32 +10:00
Aaron VonderHaar
8baa49f29b Update documentation on wide character support to clarify the current recommendation 2022-07-27 21:03:46 -07:00
Aaron VonderHaar
936d166290
Update documentation for wide character support 2022-07-25 23:30:53 -07:00
Jonathan Daugherty
b23c40d82a Editor: mention mouse events in docs 2022-07-09 12:20:44 -07:00
Jonathan Daugherty
1c044013b2 Comment edit 2022-07-09 09:23:36 -07:00
Jonathan Daugherty
034ce2dfbf Bump version, update changelog 2022-07-09 09:23:10 -07:00
Jonathan Daugherty
beebfc7ba4 Changelog: remove merged entry 2022-07-09 09:22:34 -07:00
Jonathan Daugherty
40a39b92d1
Merge pull request #376 from TristanCacqueray/edit-cursor-pos
Add Brick.Widgets.Edit.getCursorPosition
2022-07-09 09:22:13 -07:00
Jonathan Daugherty
4749694d5a Bump version, update changelog 2022-07-09 08:44:05 -07:00
Jonathan Daugherty
c832aef14a Improve editor cursor placement with moveCursorClosest from text-zipper 0.12 2022-07-09 08:40:04 -07:00
Jonathan Daugherty
8eb41ca8c3 handleEditorEvent: handle mouse click events to place the cursor (adds Eq constraint to handleEditorEvent) 2022-07-09 08:30:42 -07:00
Jonathan Daugherty
65645be3d2 Edit: handle BrickEvents, not Events
This is a breaking API change that changes handleEditorEvent to take
BrickEvents instead of Events. This paves the way for handling Brick's
mouse events in the editor.
2022-07-09 08:23:32 -07:00
Jonathan Daugherty
d2b884586e Edit: let/where refactor 2022-07-09 08:07:28 -07:00
Jonathan Daugherty
2a99ee3fa0 Whitespace 2022-07-09 08:06:49 -07:00
Tristan Cacqueray
767438cd1d Add Brick.Widgets.Edit.getCursorPosition 2022-07-09 11:59:33 +00:00
Jonathan Daugherty
41387854ae Bump version, update changelog 2022-07-05 08:17:25 -07:00
Jonathan Daugherty
4c955ad907 Render.hs: catch all exceptions, not just VtyConfigurationError 2022-07-05 08:15:18 -07:00
Jonathan Daugherty
1bed2c8268 Implement a few linter suggestions 2022-07-04 21:11:12 -07:00
Jonathan Daugherty
ac7a8aeb71 Bump version, update changelog 2022-07-04 09:27:25 -07:00
Jonathan Daugherty
583ce85953 Add missing pragma 2022-07-04 09:21:55 -07:00
Jonathan Daugherty
e23c1ab285 Render.hs: add conditional import 2022-07-04 09:20:31 -07:00
Jonathan Daugherty
0a3a8f8012 Upgrade Vty and expected Show formatting of Picture in Render.hs 2022-07-04 09:14:23 -07:00
Jonathan Daugherty
62baeb66dd Render.hs: improve message on skip 2022-07-04 09:09:13 -07:00
Jonathan Daugherty
5fb650fd71 Render.hs: pass trivially on absence of terminal 2022-07-04 09:00:28 -07:00
Jonathan Daugherty
5993603b02 Render.hs test program: various enhancements 2022-07-04 08:53:35 -07:00
Jonathan Daugherty
fabc13c627 Render.hs: whitespace 2022-07-04 08:47:06 -07:00
Jonathan Daugherty
1901af0792 Render.hs: whitespace 2022-07-04 08:46:47 -07:00
Jonathan Daugherty
59da9b55e5 Update test render program to match renderWidget API change 2022-07-04 08:43:34 -07:00
Jonathan Daugherty
30a65fc7e0 renderWidget: add attribute map argument and update documentation 2022-07-04 08:41:00 -07:00
Jonathan Daugherty
f3ef855f76 renderWidget: whitespace 2022-07-04 08:32:12 -07:00
Jonathan Daugherty
835d875331
Merge pull request #374 from valyagolev/vg-render-widget
Add Brick.Main.renderWidget
2022-07-04 08:28:03 -07:00
Valentin Golev
c41daa9368 catch VtyMissingTermEnvVar 2022-07-04 02:40:00 +02:00
Valentin Golev
a5249e5e92 simplified renderWidget, and Render test example 2022-07-03 23:49:59 +02:00
Valentin Golev
b68310e740 renderWidget function 2022-07-01 04:02:27 +02:00
Jonathan Daugherty
c06231cce9 table: another haddock addition 2022-06-20 14:21:11 -07:00
Jonathan Daugherty
84573dace9 table: more haddock additions 2022-06-20 14:17:25 -07:00
Jonathan Daugherty
322bd7d0bb Update README and README demo program to match 2022-06-19 21:52:45 -07:00
Jonathan Daugherty
410fcaa212 Forms: typo 2022-06-19 14:18:41 -07:00
Jonathan Daugherty
fa1330d216 cabal: update copyright range 2022-06-19 14:17:21 -07:00
Jonathan Daugherty
aac39c4801 Table: more cleanup 2022-06-19 14:08:28 -07:00
Jonathan Daugherty
03d2a10129 table: cleanup 2022-06-19 13:48:23 -07:00
Jonathan Daugherty
16bf5b7e59 Table: improve documentation 2022-06-19 13:37:00 -07:00
Jonathan Daugherty
a039911c9e Table: use multi-way if to clean up 2022-06-19 13:30:47 -07:00
Jonathan Daugherty
cb7afe24a8 README: update border drawing example 2022-06-19 13:25:17 -07:00