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
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
a32d71e551
Add help message on blank start up
2024-02-11 02:06:26 -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
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
9f2bb3c45b
Reorganise modules to create the Ghcitui.Brick module
2024-01-19 01:46:31 -08:00
CrystalSplitter
9248597e8e
Add start up logging for GHCiD
2024-01-15 13:04:18 -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
898e00ef76
Add better failure handling in Ghcid.Daemon
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
bf93aeecda
Clean up Daemon start up and messaging
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
2f1ad27a96
Append commands to history only if they are not empty
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
586718e49a
Simplify execMuted
2024-01-15 02:12:47 -08:00
CrystalSplitter
88992b7742
Remove deprecated lib/Tui.hs
2024-01-15 02:12:47 -08: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
edccac0ee3
Multiple structural changes for lib
...
* Better documentation for nearly every module.
* Use DaemonIO (ExceptT DaemonError IO a)
2023-10-08 22:41:08 -07:00
CrystalSplitter
52a2f3c11c
Module box + more
2023-10-01 22:43:10 -07:00
CrystalSplitter
ea7d9cc403
Support multiline source ranges
2023-09-20 01:23:52 -07:00
CrystalSplitter
55962ae79c
Another large set of changes without much tracking
2023-08-30 00:45:59 -07:00
CrystalSplitter
afaad53b90
Add history to the live interpreter
2023-08-02 22:44:46 -07:00
CrystalSplitter
77d08e470a
The interpreter commit
2023-07-30 16:02:36 -07:00
CrystalSplitter
ee8788dbf2
Add breakpoint toggling
2023-06-22 02:03:11 -07:00
CrystalSplitter
871f284e82
Some more early development
2023-06-06 22:19:12 -07:00
CrystalSplitter
39af025aa7
Continued early development work
2023-06-03 19:37:01 -07:00
CrystalSplitter
cde9f0a7e8
Initial commit
2023-05-31 20:26:13 -07:00