Commit Graph

100 Commits

Author SHA1 Message Date
CrystalSplitter
261232adcd Update vty dependency 2024-02-11 14:38:45 -08:00
CrystalSplitter
d14941ed01 Add Hackage shield 2024-02-11 02:06:26 -08:00
CrystalSplitter
a32d71e551 Add help message on blank start up 2024-02-11 02:06:26 -08:00
CrystalSplitter
35efe6172b Update GitHub actions
This moves the actions to Node 20, and also runs actions against
`develop` branch.
2024-02-10 21:00:43 -08:00
CrystalSplitter
521cd0d4af Mention autocomplete in the MANUAL 2024-02-10 20:17:42 -08:00
CrystalSplitter
4fc3621955 Add better documentation for AppInterpState 2024-02-10 20:17:42 -08:00
Brad Neimann
e1f38caa3c Implement tab completion
This provides the GHCi Repl inside GHCiTUI with basic tab completion.
This is slightly more advanced than the standard GHCi tab completion,
but not by much.

This commit also moves around some error and parsing code to help
in this effort.

Co-authored-by: CrystalSplitter <crystal@crystalwobsite.gay>
2024-02-10 20:17:42 -08:00
CrystalSplitter
4344d0988c Reformat files 2024-02-02 20:59:44 -08:00
CrystalSplitter
6e63debbeb Fix minor lints 2024-02-02 20:59:44 -08:00
CrystalSplitter
4de6b652f7 Convert CRLF line endings to just LF in the cache 2024-02-02 20:59:44 -08:00
CrystalSplitter
96e1578aa3 Make package dependencies DRY
This removes all the duplicate version numbers for the
executable/non-base libraries.
2024-01-21 18:32:06 -08:00
CrystalSplitter
50bfae20d5 Mark package as experimental 2024-01-21 18:08:54 -08:00
CrystalSplitter
664dec6593 Update ghcitui.cabal with version change, metadata
This prepares version 0.1.0.0.
2024-01-21 17:59:12 -08:00
CrystalSplitter
f8233fad6c Update docs
This updates the CHANGELOG.md, adds more to CONTRIBUTING, updates the
bug_report.md GitHub template, and updates the README.
2024-01-21 17:59:12 -08:00
Jordan R AW
5fce42cd0b Update issue templates 2024-01-21 17:31:33 -08:00
CrystalSplitter
160f704353 Update cabal file with more correct version bounds
This uses the --prefer-oldest flag to find what the correct
bottom bounds should be for some package versions.
2024-01-21 14:59:41 -08:00
CrystalSplitter
fd38a5d7f8 Add Oldest Build GitHub Actions Job 2024-01-21 14:59:41 -08:00
CrystalSplitter
55dfa29ba0 Update README and INSTALL for Hackage
This updates some of the docs for Hackage viewing.
2024-01-21 14:59:41 -08:00
CrystalSplitter
9f2bb3c45b Reorganise modules to create the Ghcitui.Brick module 2024-01-19 01:46:31 -08:00
CrystalSplitter
ec7737ab16 Fix cabal check warnings, update workflow 2024-01-17 01:13:17 -08:00
CrystalSplitter
0672b4d536 Update manual, downgrade official version to 0.0.1 2024-01-17 01:01:51 -08:00
CrystalSplitter
f8d92f8134 Mention git lfs in the install 2024-01-17 01:01:51 -08:00
CrystalSplitter
f9c4af6c68 Add Splash screenshot to README.md 2024-01-17 01:01:51 -08:00
CrystalSplitter
14ec8abeed Embed splash text directly 2024-01-17 01:01:51 -08:00
CrystalSplitter
f71e79f72f Use git lfs to store screenshots 2024-01-17 01:01:51 -08:00
CrystalSplitter
80feef1bb4 Fix cabal check warnings 2024-01-15 13:42:37 -08:00
CrystalSplitter
c185629e52 Add cabal check to github workflows 2024-01-15 13:04:18 -08:00
CrystalSplitter
a449f9e64f Reformat HelpText.hs 2024-01-15 13:04:18 -08:00
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