Commit Graph

72 Commits

Author SHA1 Message Date
CrystalSplitter
9248597e8e Add start up logging for GHCiD 2024-01-15 13:04:18 -08:00
CrystalSplitter
7976595617 Fix missing keybindings in MANUAL.rst 2024-01-15 13:04:18 -08:00
CrystalSplitter
d09a6d125b Mark Paths_ghcitui as autogen 2024-01-15 02:12:47 -08:00
CrystalSplitter
09401ec6a1 Add MANUAL generation
This is pretty hacky, but does produce very pretty results.
2024-01-15 02:12:47 -08:00
CrystalSplitter
4e533fe4bb Reorganise modules, clean up formatting
This moves the ghcitui libs which don't require Brick to ghcitui-core,
and the other library files to ghcitui-brick.
2024-01-15 02:12:47 -08:00
CrystalSplitter
301446ee85 Give a progress meter at the bottom of the source viewer
This is mostly to replace the now missing scrollbar.
The scrollbar is neat, but for now I consider it solely
aesthetic and the real info we want is the total line count
and the current position percentage.
2024-01-15 02:12:47 -08:00
CrystalSplitter
898e00ef76 Add better failure handling in Ghcid.Daemon 2024-01-15 02:12:47 -08:00
CrystalSplitter
fcb6964827 Fix Widget caching on resize 2024-01-15 02:12:47 -08:00
CrystalSplitter
03f4e47efc Minor formatting fix in BrickUI 2024-01-15 02:12:47 -08:00
CrystalSplitter
13b8ad8b38 Entirely rework the source viewer for more performance
This is a massive fundamental TUI change. Because Brick Viewports
are too slow to render large source files with tens of thousands
of widgets, we need to use a slice-able data structure to contain
this info.

This is where SourceWindow comes in, which efficiently displays
the source code as a custom widget. This is based on Brick.List,
though slightly different because Brick.List also doesn't
meet our needs.
2024-01-15 02:12:47 -08:00
CrystalSplitter
fd71610534 Add NamedFieldPuns to default extensions 2024-01-15 02:12:47 -08:00
CrystalSplitter
c6bebb787f Add section on profiling in CONTRIBUTING.md 2024-01-15 02:12:47 -08:00
CrystalSplitter
bf93aeecda Clean up Daemon start up and messaging 2024-01-15 02:12:47 -08:00
CrystalSplitter
e4ae716522 Add more detail about navigation in the MANUAL.rst 2024-01-15 02:12:47 -08:00
CrystalSplitter
3661ebbbc7 Wrap around module selections 2024-01-15 02:12:47 -08:00
CrystalSplitter
34e494df37 Add submodule Ghcitui for all library components
Potentially, we should re-export the important bits. But for now this
seems to work fine.
2024-01-15 02:12:47 -08:00
CrystalSplitter
d9d3e7c65b Update MANUAL.rst 2024-01-15 02:12:47 -08:00
CrystalSplitter
2f1ad27a96 Append commands to history only if they are not empty 2024-01-15 02:12:47 -08:00
CrystalSplitter
0b23c2e7e1 Explicitly list exports in app/Util.hs 2024-01-15 02:12:47 -08:00
CrystalSplitter
1ea4e95ba1 Add Help and Exit dialogs 2024-01-15 02:12:47 -08:00
CrystalSplitter
53c3be7c9a Add module panel event handling/opening
This adds the new feature of being able to access the Modules panel
2024-01-15 02:12:47 -08:00
CrystalSplitter
9b632cb00d Allow resizing of panels
This allows the use of +/- to change the panel sizes, like
in PuDB.
2024-01-15 02:12:47 -08:00
CrystalSplitter
17616a4df2 Add the clamp utility in app 2024-01-15 02:12:47 -08:00
CrystalSplitter
6fc70cfb12 Run tests with the fswatch_build.sh 2024-01-15 02:12:47 -08:00
CrystalSplitter
67c5ac0c73 Update docs substantially 2024-01-15 02:12:47 -08:00
CrystalSplitter
3c39f6836a Support program tracing
This is a fairly big feature add, where we now have program tracing
in the info sidebar.

Unfortunately, it's still fairly hard to read in its short space, so I
probably want to think about how to resize or highlight parts of the
info panel?
2024-01-15 02:12:47 -08:00
CrystalSplitter
2331e377b6 Enable MonoLocalBinds by default 2024-01-15 02:12:47 -08:00
CrystalSplitter
f3472f1074 Doc fix/formatting for AppState 2024-01-15 02:12:47 -08:00
CrystalSplitter
74eb4f136b Update the CLI options/docs with better help 2024-01-15 02:12:47 -08:00
CrystalSplitter
586718e49a Simplify execMuted 2024-01-15 02:12:47 -08:00
CrystalSplitter
6339be9b46 Rename AIS history to cmdHistory
This is just to prevent further naming conflict confusions between
AIS.history and Ghcid.Daemon.trace.
2024-01-15 02:12:47 -08:00
CrystalSplitter
e465cfbd23 Add MANUAL base 2024-01-15 02:12:47 -08:00
CrystalSplitter
652c0493b2 Simplify INSTALL.rst 2024-01-15 02:12:47 -08:00
CrystalSplitter
a4c743f86e Allow quitting via Esc 2024-01-15 02:12:47 -08:00
CrystalSplitter
cf4b21272c Clean up Main.hs 2024-01-15 02:12:47 -08:00
CrystalSplitter
88992b7742 Remove deprecated lib/Tui.hs 2024-01-15 02:12:47 -08:00
CrystalSplitter
2f4827780b Update README.md with more instructions 2023-10-16 00:36:32 -07:00
Jordan R AW
0343ed4731
Update INSTALL.rst 2023-10-15 18:31:13 -07:00
Jordan R AW
dc86fd96b0
Update INSTALL.rst 2023-10-15 18:07:20 -07:00
Jordan R AW
dada50d647
Merge pull request #1 from CrystalSplitter/develop
Add basic github haskell CI
2023-10-15 01:33:40 -07:00
CrystalSplitter
5c4db76f17 Wider range for base versions 2023-10-15 01:21:43 -07:00
CrystalSplitter
83e25bc832 Update UtilSpec module name 2023-10-15 01:21:43 -07:00
CrystalSplitter
febffee6fd Add basic github haskell CI 2023-10-15 01:21:43 -07:00
CrystalSplitter
a2ab4f60bb Update README.md and INSTALL.rst 2023-10-14 22:05:11 -07:00
CrystalSplitter
ee942f760f Add more docs for BrickUI 2023-10-14 21:50:02 -07:00
CrystalSplitter
4d8b593856 Reorder most DaemonIO args 2023-10-14 21:49:33 -07:00
CrystalSplitter
33db7c4f32 Rename StringUtil.hs to Util.hs 2023-10-14 21:48:55 -07:00
CrystalSplitter
d1a62d351e Add cabal.project 2023-10-14 21:32:14 -07:00
CrystalSplitter
917d85600c Add INSTALL.rst instructions 2023-10-13 00:21:06 -07:00
CrystalSplitter
7d8eb7f3d6 Add basic HSpec testing 2023-10-13 00:13:42 -07:00