Commit Graph

108 Commits

Author SHA1 Message Date
CrystalSplitter
64ae0c6285 Update version number to 0.3.0.0 2024-03-17 22:10:27 -07:00
CrystalSplitter
dcf48c2639 Update minor docs in Events.hs 2024-03-17 22:10:27 -07:00
CrystalSplitter
46ca959f51 Redesign SourceWindow around start + space
Originally, SourceWindow was built around a start and an end point.
It turns out, this was a bad idea as it caused update issues when
switching files.

Now we keep around the extent information.
2024-03-17 22:10:27 -07:00
CrystalSplitter
040e7bce79 Add deriving Show to various data types
Mostly for better debugging.
2024-03-17 22:10:27 -07:00
CrystalSplitter
4987c7a49a Allow apostraphes interspersed in token names
It turns out these are also allowed--and thus we need to be
able to match on them.
2024-03-08 00:58:34 -08:00
CrystalSplitter
b1ef23191e Reorganise ParseContextSpec fixtures 2024-03-08 00:58:34 -08:00
CrystalSplitter
676396079a Match on functions that have apostraphes
Apostraphes are of course valid haskell characters in function names.
The current ParseContext did not understand this.

Fixes #38 hopefully
2024-03-08 00:58:34 -08:00
CrystalSplitter
a0c44d2f0f Update for 0.2.0.0
This updates:
- The CHANGELOG.md.
- The cabal version number.
2024-02-11 14:38:45 -08:00
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