mirror of
https://github.com/CrystalSplitter/ghcitui.git
synced 2024-11-26 09:42:38 +03:00
ea73428e3c
This is readies us for the release for 0.4.0.0
136 lines
4.2 KiB
Markdown
136 lines
4.2 KiB
Markdown
# Revision history for ghcitui
|
|
|
|
## 0.4.0.0 -- 2024-11-15
|
|
|
|
### New features
|
|
|
|
- Interruptable expressions! This was a huge rework of the code. You can now press `Ctrl+c`
|
|
and expression evaluation will be interrupted! Very handy for avoiding hanging.
|
|
See [GitHub Issue #49](https://github.com/CrystalSplitter/ghcitui/issues/49) for details.
|
|
|
|
### API changes
|
|
|
|
Large overhaul in general, as GHCiTUI has moved to an async daemon scheduling model.
|
|
|
|
- **Ghcitui.Brick**
|
|
- Introduction of the new `CustomAppEvent` to handle new event handling.
|
|
- The `brickApp` now specifies a `CustomAppEvent`.
|
|
- Moved event utils to `EventUtils.hs`
|
|
- Separated out `Events.hs` into `InterpWindowEvents.hs` and `SourceWindowEvents.hs`.
|
|
- Introduced the callback functions `handleSourceWindowPostCb` and `interpWindowPostCb`.
|
|
- **Ghcitui.Core**
|
|
- Removed the `run` command as it was misleading in an asynchronous context. Replaced with
|
|
`threadUnsafeRun`.
|
|
- Added the `schedule` and `scheduleWithCb` functions, which mostly replace the intent
|
|
of `run`, but work with async.
|
|
- Added `interruptDaemon` to call the interrupt signal.
|
|
- `emptyInterpreterState` now must be run under `IO`, as it must set up the lock.
|
|
- Added `readyToExec` to check if the `ghci` handle lock is taken.
|
|
|
|
In general, lots of doc fixes.
|
|
|
|
### Bug fixes
|
|
|
|
- Fixed a bug where the module display wouldn't reveal the source in the `Source Window`.
|
|
when there was only one module. See [GitHub Issue #48](https://github.com/CrystalSplitter/ghcitui/issues/48)
|
|
for details.
|
|
|
|
### Known issues
|
|
|
|
See https://github.com/CrystalSplitter/ghcitui/issues for the latest issues.
|
|
|
|
- Inability to suspend operation through `Ctrl+z`.
|
|
|
|
## 0.3.0.0 -- 2024-03-17
|
|
|
|
### API changes
|
|
|
|
- **Ghcitui.Brick**
|
|
- Large rework of SourceWindow's end calculation.
|
|
- Removed `updateSrcWindowEnd`, replaced with `updateVerticalSpace`.
|
|
- Added `srcWindowLineDiffCount`.
|
|
|
|
### Bug fixes
|
|
|
|
- Can now parse functions with apostraphes in names. (Issue #38)
|
|
- Switching between files when updating contexts now snaps to the stopped line (Issue #41)
|
|
|
|
### Known issues
|
|
|
|
See https://github.com/CrystalSplitter/ghcitui/issues for the latest issues.
|
|
|
|
- Unable to interrupt expressions (fixed in 0.4.0.0)
|
|
- Inability to suspend operation through `Ctrl+z`.
|
|
|
|
## 0.2.0.0 -- 2024-02-11
|
|
|
|
### New features
|
|
|
|
- Rudimentary tab completion! (credit: https://github.com/bradrn)
|
|
|
|
### API changes
|
|
|
|
- **Ghcitui.Brick**
|
|
- Added functions to support tab completion.
|
|
- **Ghcitui.Core**
|
|
- Added `Ghcitui.Ghcid.ParseTabCompletions` module.
|
|
- Added `Ghcitui.Ghcid.Daemon.tabComplete`.
|
|
- Moved ParseError to its own module (`Ghcitui.Ghcid.ParseError`).
|
|
- Removed lazy data fields in records in
|
|
- `Ghcitui.Ghcid.Daemon.BreakpointArg`
|
|
- `Ghcitui.Ghcid.Daemon.InterpState`
|
|
- Possibly a few more
|
|
- **Other**
|
|
- Update version for `vty`.
|
|
|
|
### Bug fixes
|
|
|
|
- Fix issue with CRLF line endings caused weird source viewer wrapping behaviour.
|
|
|
|
### Misc
|
|
|
|
- Added help message on start up splash to mention '?' keybinding.
|
|
- Increased the cabal `tested-with` range.
|
|
|
|
### Known issues
|
|
|
|
See https://github.com/CrystalSplitter/ghcitui/issues for the latest issues.
|
|
|
|
- Can't parse functions with apostrophes in names. (Issue #38) (fixed in 0.3.0.0)
|
|
- Switching between files when updating contexts does not snap to the stopped line (Issue #41)
|
|
(fixed in 0.3.0.0)
|
|
- Unable to interrupt expressions (fixed in 0.4.0.0)
|
|
- Inability to suspend operation through `Ctrl+z`.
|
|
|
|
## 0.1.0.0 -- 2024-01-21
|
|
|
|
First release! This is a "public beta" release, which we try to get feedback for higher priority
|
|
features.
|
|
|
|
### Features
|
|
|
|
- The public Ghcitui library.
|
|
- Ghcid connection set up.
|
|
- Source code viewer.
|
|
- GHCi REPL
|
|
- Current Bindings.
|
|
- Available Modules.
|
|
- Tracing.
|
|
- Debug console.
|
|
|
|
### Bug fixes
|
|
|
|
- None--this is the first release.
|
|
|
|
### Known issues
|
|
|
|
(See https://github.com/CrystalSplitter/ghcitui/issues for the latest issues.)
|
|
|
|
- Occasionally we get a SEGV on start up. Uncertain why. Very infrequent--likely a race condition
|
|
in Vty or GHCiD?
|
|
- String variables which contain quotes are not parsed correctly.
|
|
- Unable to interrupt expressions (fixed in 0.4.0.0)
|
|
- Currently no remapping of keybindings or colours.
|
|
- CRLF line endings don't work (fixed in 0.2.0.0)
|
|
- Inability to suspend operation through `Ctrl+z`.
|