mirror of
https://github.com/ilyakooo0/vty.git
synced 2024-11-25 19:22:08 +03:00
Rename CHANGELOG, improve formatting
This commit is contained in:
parent
33530be1b7
commit
77bcba3ad6
2
AUTHORS
2
AUTHORS
@ -19,4 +19,4 @@ library:
|
||||
* Yoshikuni Jujo
|
||||
* Dmitry Ivanov
|
||||
|
||||
Plus others.. Check the git log and CHANGELOG for a full list.
|
||||
Plus others.. Check the git log and CHANGELOG.md for a full list.
|
||||
|
@ -8,8 +8,9 @@
|
||||
possible to use 'str ""' as a non-empty image with height 1.
|
||||
|
||||
5.13
|
||||
- Reverted changes in 5.12 due to disagreements between terminal emulators
|
||||
and utf8proc; for more details, please see the ticket discussion at
|
||||
- Reverted changes in 5.12 due to disagreements between terminal
|
||||
emulators and utf8proc; for more details, please see the ticket
|
||||
discussion at
|
||||
https://github.com/coreyoconnor/vty/issues/115
|
||||
|
||||
5.12
|
||||
@ -23,8 +24,8 @@
|
||||
- Fix mouse event offsets in mouse-up events
|
||||
|
||||
5.11.2
|
||||
- Mouse events were modified so that the upper-left corner of the window is
|
||||
(0,0) rather than (1,1).
|
||||
- Mouse events were modified so that the upper-left corner of the
|
||||
window is (0,0) rather than (1,1).
|
||||
|
||||
5.11.1
|
||||
- Add Generic instance for Image
|
||||
@ -62,8 +63,9 @@
|
||||
(fixes #89)
|
||||
|
||||
5.9
|
||||
- Added new Output methods supportsBell and ringTerminalBell to find out
|
||||
whether the output device has an audio bell and to ring it (see #102)
|
||||
- Added new Output methods supportsBell and ringTerminalBell to find
|
||||
out whether the output device has an audio bell and to ring it (see
|
||||
#102)
|
||||
|
||||
5.8.1
|
||||
- Fixed "refresh" to work as advertised (see #104)
|
||||
@ -74,15 +76,17 @@
|
||||
how best to decode it
|
||||
|
||||
5.7.1
|
||||
- ModeDemo: added an explicit Control.Applicative import for older GHCs
|
||||
- ModeDemo: added an explicit Control.Applicative import for older
|
||||
GHCs
|
||||
|
||||
5.7
|
||||
- Mouse and paste modes are now off by default.
|
||||
- The Config type got new fields: mouseMode and bracketedPasteMode. These
|
||||
determine whether these modes are enabled initially (for terminals
|
||||
that support them).
|
||||
- Added a Mode type for modal terminal features (mouse events, bracketed
|
||||
paste mode) that is used with new Output interface functions:
|
||||
- The Config type got new fields: mouseMode and bracketedPasteMode.
|
||||
These determine whether these modes are enabled initially (for
|
||||
terminals that support them).
|
||||
- Added a Mode type for modal terminal features (mouse events,
|
||||
bracketed paste mode) that is used with new Output interface
|
||||
functions:
|
||||
* supportsMode :: Mode -> Bool tells whether the device supports a
|
||||
mode
|
||||
* setMode :: Mode -> Bool -> IO () turns a mode on or off
|
||||
@ -101,14 +105,16 @@
|
||||
XtermColor driver rather than just TerminfoBased
|
||||
|
||||
5.5.0
|
||||
- Replaced lens dependency with microlens, microlens-mtl, microlens-th dependencies. Issue #90
|
||||
- Replaced lens dependency with microlens, microlens-mtl, microlens-th
|
||||
dependencies. Issue #90
|
||||
- Thanks Jonathan Daugherty
|
||||
- Cabal corrections.
|
||||
- Thanks Lennart Spitzner
|
||||
|
||||
5.4.0
|
||||
- Changed eventChannel of Graphics.Vty.Input from Chan to TChan. This enables clients to query if
|
||||
there are no pending events. The Graphics.Vty interface nextEvent is unchanged. Clients that use
|
||||
- Changed eventChannel of Graphics.Vty.Input from Chan to TChan.
|
||||
This enables clients to query if there are no pending events. The
|
||||
Graphics.Vty interface nextEvent is unchanged. Clients that use
|
||||
eventChannel directly will require updating.
|
||||
https://github.com/coreyoconnor/vty/issues/60
|
||||
5.3.1
|
||||
@ -117,19 +123,22 @@
|
||||
|
||||
5.3
|
||||
- Upgraded QuickCheck dependency to 2.7
|
||||
- The standard IO Config (standardIOConfig) was overriding any provided application config.
|
||||
In addition, the inputFd and outputFd could not be changed if mkVty was used.
|
||||
Fixed.
|
||||
- Correct handling of display attributes at end of line. The output attributes are set to default
|
||||
at the end of content for the line and at the start of a new line. Previously the current
|
||||
attribute would extend to the next start of content. This was odd to reason about and was the
|
||||
cause of https://github.com/coreyoconnor/vty/issues/76
|
||||
IIRC Yi requires the old behavior to display the selection region correctly.
|
||||
- shutdown of the input thread is now performed using killThread and synchronization on an MVar.
|
||||
For correct handling of the terminal read vmin and vtime the read must be a blocking read on an
|
||||
OS thread. This places a threadWaitRead, which will be interrupted by the killThread, prior to
|
||||
the uninterruptable read. An alternative would be to re-import the read foreign call as
|
||||
interruptable.
|
||||
- The standard IO Config (standardIOConfig) was overriding any
|
||||
provided application config. In addition, the inputFd and outputFd
|
||||
could not be changed if mkVty was used. Fixed.
|
||||
- Correct handling of display attributes at end of line. The output
|
||||
attributes are set to default at the end of content for the line and
|
||||
at the start of a new line. Previously the current attribute would
|
||||
extend to the next start of content. This was odd to reason about
|
||||
and was the cause of https://github.com/coreyoconnor/vty/issues/76
|
||||
IIRC Yi requires the old behavior to display the selection region
|
||||
correctly.
|
||||
- shutdown of the input thread is now performed using killThread and
|
||||
synchronization on an MVar. For correct handling of the terminal
|
||||
read vmin and vtime the read must be a blocking read on an OS
|
||||
thread. This places a threadWaitRead, which will be interrupted by
|
||||
the killThread, prior to the uninterruptable read. An alternative
|
||||
would be to re-import the read foreign call as interruptable.
|
||||
|
||||
5.2.11
|
||||
- deepseq bounds increased for tests.
|
||||
@ -139,7 +148,8 @@
|
||||
- Thanks Eric Mertens
|
||||
|
||||
5.2.10
|
||||
- "str" now returns EmptyImage for empty strings to match behavior of other string-like Image constructors (fixes #74)
|
||||
- "str" now returns EmptyImage for empty strings to match behavior of
|
||||
other string-like Image constructors (fixes #74)
|
||||
- Thanks Jonathan Daugherty
|
||||
|
||||
5.2.9
|
||||
@ -179,7 +189,8 @@
|
||||
- Thanks Fuuzetsu!
|
||||
|
||||
5.2.3
|
||||
- evaluate/compile the input parsing table once instead of each keystroke.
|
||||
- evaluate/compile the input parsing table once instead of each
|
||||
keystroke.
|
||||
- https://github.com/coreyoconnor/vty/pull/59
|
||||
- Thanks ethercrow!
|
||||
|
||||
@ -192,13 +203,15 @@
|
||||
- Bump upper version bound for lens to 4.5. Thanks markus1189!
|
||||
|
||||
5.2.0
|
||||
- Config structure now specifies file descriptor to use. The default is stdInput and stdOutput
|
||||
file descriptors. Previously Vty used stdInput for input and the follow code for output:
|
||||
- hDuplicate stdout >>= handleToFd >>= (`hSetBuffering` NoBuffering)
|
||||
- the difference was required by Vty.Inline. Now, Vty.Inline uses the Config structure options
|
||||
to acheive the same effect.
|
||||
- removed: derivedVtime, derivedVmin, inputForCurrentTerminal, inputForNameAndIO,
|
||||
outputForCurrentTerminal, outputForNameAndIO
|
||||
- Config structure now specifies file descriptor to use. The default
|
||||
is stdInput and stdOutput file descriptors. Previously Vty used
|
||||
stdInput for input and the follow code for output:
|
||||
- hDuplicate stdout >>= handleToFd >>= (`hSetBuffering`
|
||||
NoBuffering)
|
||||
- the difference was required by Vty.Inline. Now, Vty.Inline uses
|
||||
the Config structure options to acheive the same effect.
|
||||
- removed: derivedVtime, derivedVmin, inputForCurrentTerminal,
|
||||
inputForNameAndIO, outputForCurrentTerminal, outputForNameAndIO
|
||||
- added: inputForConfig, outputForConfig
|
||||
- updates to vty-rogue from jtdaugherty. Thanks!
|
||||
- the oldest version of GHC tested to support vty is 7.6.2.
|
||||
@ -212,78 +225,94 @@
|
||||
- jtdaugherty resolved a number of compiler warnings. Thanks!
|
||||
|
||||
5.1.0
|
||||
- vmin and vtime can be specified however the application requires. See Graphics.Vty.Config.
|
||||
- vmin and vtime can be specified however the application requires.
|
||||
See Graphics.Vty.Config.
|
||||
- fixed the processing of input when vmin is set > 1.
|
||||
|
||||
5.0.0
|
||||
- The naming convention now matches:
|
||||
- http://www.haskell.org/haskellwiki/Programming_guidelines#Naming_Conventions
|
||||
- all projects using vty for input must be compiled with -threaded. Please notify vty author if
|
||||
this is not acceptable.
|
||||
- mkVtyEscDelay has been removed. Use "mkVty def". Which initialized vty with the default
|
||||
configuration.
|
||||
- all projects using vty for input must be compiled with -threaded.
|
||||
Please notify vty author if this is not acceptable.
|
||||
- mkVtyEscDelay has been removed. Use "mkVty def". Which initialized
|
||||
vty with the default configuration.
|
||||
- input handling changes
|
||||
- KASCII is now KChar
|
||||
- KPN5 is now KCenter
|
||||
- tests exist.
|
||||
- Applications can add to the input tables by setting inputMap of the Config.
|
||||
See Graphics.Vty.Config
|
||||
- Users can define input table extensions that will apply to all vty applications.
|
||||
See Graphics.Vty.Config
|
||||
- terminal timing is now handled by selecting an appropriate VTIME. Previously this was
|
||||
implemented within Vty itself. This reduced complexity in vty but provides a different meta
|
||||
key behavior and implies a requirement on -threaded.
|
||||
- The time vty will wait to verify an ESC byte means a single ESC key is the
|
||||
singleEscPeriod of the Input Config structure.
|
||||
- removed the typeclass based terminal and display context interface in favor of a data
|
||||
structure of properties interface.
|
||||
- Applications can add to the input tables by setting inputMap of
|
||||
the Config. See Graphics.Vty.Config
|
||||
- Users can define input table extensions that will apply to all vty
|
||||
applications. See Graphics.Vty.Config
|
||||
- terminal timing is now handled by selecting an appropriate VTIME.
|
||||
Previously this was implemented within Vty itself. This reduced
|
||||
complexity in vty but provides a different meta key behavior and
|
||||
implies a requirement on -threaded.
|
||||
- The time vty will wait to verify an ESC byte means a single ESC
|
||||
key is the singleEscPeriod of the Input Config structure.
|
||||
- removed the typeclass based terminal and display context interface
|
||||
in favor of a data structure of properties interface.
|
||||
- renamed the Terminal interface to Output
|
||||
- The default picture for an image now uses the "clear" background. This background fills
|
||||
background spans with spaces or just ends the line.
|
||||
- Previously the background defaulted to the space character. This causes issues copying
|
||||
text from a text editor. The text would end up with extra spaces at the end of the line.
|
||||
- The default picture for an image now uses the "clear" background.
|
||||
This background fills background spans with spaces or just ends the
|
||||
line.
|
||||
- Previously the background defaulted to the space character. This
|
||||
causes issues copying text from a text editor. The text would end
|
||||
up with extra spaces at the end of the line.
|
||||
- Layer support
|
||||
- Each layer is an image.
|
||||
- The layers for a picture are a list of images.
|
||||
- The first image is the top-most layer. The images are ordered from top to bottom.
|
||||
- The transparent areas for a layer are the backgroundFill areas. backgroundFill is
|
||||
added to pad images when images of different sizes are joined.
|
||||
- The first image is the top-most layer. The images are ordered from
|
||||
top to bottom.
|
||||
- The transparent areas for a layer are the backgroundFill areas.
|
||||
backgroundFill is added to pad images when images of different
|
||||
sizes are joined.
|
||||
- If the background is clear there is no background layer.
|
||||
- If there is a background character then the bottom layer is the background layer.
|
||||
- If there is a background character then the bottom layer is the
|
||||
background layer.
|
||||
- emptyPicture is a Picture with no layers and no cursor
|
||||
- addToTop and addToBottom add a layer to the top and bottom of the given Picture.
|
||||
- addToTop and addToBottom add a layer to the top and bottom of the
|
||||
given Picture.
|
||||
- compatibility improvements:
|
||||
- terminfo based terminals with no cursor support are silently accepted. The cursor
|
||||
visibility changes in the Picture will have no effect.
|
||||
- alternate (setf/setb) color maps supported. Though colors beyond the first 8 are just a
|
||||
guess.
|
||||
- terminfo based terminals with no cursor support are silently
|
||||
accepted. The cursor visibility changes in the Picture will have
|
||||
no effect.
|
||||
- alternate (setf/setb) color maps supported. Though colors beyond
|
||||
the first 8 are just a guess.
|
||||
- added "rgbColor" for easy support of RGB specified colors.
|
||||
- Both applications and users can add to the mapping used to translate from input bytes to
|
||||
events.
|
||||
- Additional information about input and output process can be appended to a debug log
|
||||
- Both applications and users can add to the mapping used to
|
||||
translate from input bytes to events.
|
||||
- Additional information about input and output process can be
|
||||
appended to a debug log
|
||||
- Set environment variable VTY_DEBUG_LOG to path of debug log
|
||||
- Or use "debugLog <path>" config directive
|
||||
- Or set 'debugLog' property of the Config provided to mkVty.
|
||||
- examples moved to vty-examples package. See test directory for cabal file.
|
||||
- examples moved to vty-examples package. See test directory for cabal
|
||||
file.
|
||||
- vty-interactive-terminal-test
|
||||
- interactive test. Useful for building a bug report for vty's author.
|
||||
- interactive test. Useful for building a bug report for vty's
|
||||
author.
|
||||
- test/interactive_terminal_test.hs
|
||||
- vty-event-echo
|
||||
- view a input event log for vty. Example of interacting with user.
|
||||
- view a input event log for vty. Example of interacting with
|
||||
user.
|
||||
- test/EventEcho.hs
|
||||
- vty-rogue
|
||||
- The start of a rogue-like game. Example of layers and image build operations.
|
||||
- The start of a rogue-like game. Example of layers and image
|
||||
build operations.
|
||||
- test/Rogue.hs
|
||||
- vty-benchmark
|
||||
- benchmarks vty. A series of tests that push random pictures to the terminal. The
|
||||
random pictures are generated using QuickCheck. The same generators used in the
|
||||
automated tests.
|
||||
- benchmarks vty. A series of tests that push random pictures to
|
||||
the terminal. The random pictures are generated using
|
||||
QuickCheck. The same generators used in the automated tests.
|
||||
- test/benchmark.hs
|
||||
|
||||
4.7.0.0
|
||||
- API changes:
|
||||
- Added Graphics.Vty.Image.crop: Ensure an image is no larger than the specified size.
|
||||
- Added Graphics.Vty.Image.pad: Ensure an image is no smaller than the specified size.
|
||||
- Added Graphics.Vty.Image.crop: Ensure an image is no larger
|
||||
than the specified size.
|
||||
- Added Graphics.Vty.Image.pad: Ensure an image is no smaller
|
||||
than the specified size.
|
||||
- Added Graphics.Vty.Image.translate: Offset an image.
|
||||
- Thanks Ben Boeckel <MathStuf@gmail.com> for these features.
|
||||
|
||||
@ -295,73 +324,85 @@
|
||||
- Attr record accessor back_color changed to attr_back_color
|
||||
- Attr record accessor style changed to attr_style
|
||||
- Added an "inline" display attribute changing DSL:
|
||||
- put_attr_change applies a display attribute change immediately to a terminal
|
||||
- For instance, can be used to change the display attrbiutes of text output via putStrLn
|
||||
and putStr. EX: "put_attr_change $ back_color red" will set the
|
||||
background color to red.
|
||||
- put_attr_change applies a display attribute change
|
||||
immediately to a terminal
|
||||
- For instance, can be used to change the display attrbiutes
|
||||
of text output via putStrLn and putStr. EX:
|
||||
"put_attr_change $ back_color red" will set the background
|
||||
color to red.
|
||||
- Changes do not apply to a Picture output via output_picture.
|
||||
- See Graphics.Vty.Inline
|
||||
- Moved all IO actions into any monad an instance of MonadIO
|
||||
|
||||
4.0.0.1
|
||||
- binding for mk_wcswidth was incorrect. Most platforms just magically worked due to
|
||||
coincidence.
|
||||
- binding for mk_wcswidth was incorrect. Most platforms just
|
||||
magically worked due to coincidence.
|
||||
|
||||
4.0.0
|
||||
- API changes:
|
||||
- "getSize" has been removed. Use "terminal vty >>= display_bounds" where "vty" is an
|
||||
instance of the Vty data structure.
|
||||
- added a "terminal" field to the Vty data structure. Accesses the TerminalHandle associated
|
||||
with the Vty instance.
|
||||
- "getSize" has been removed. Use "terminal vty >>= display_bounds"
|
||||
where "vty" is an instance of the Vty data structure.
|
||||
- added a "terminal" field to the Vty data structure. Accesses the
|
||||
TerminalHandle associated with the Vty instance.
|
||||
- Graphics.Vty.Types has undergone a number of changes. Summary:
|
||||
- Partitioned into Graphics.Vty.Attributes for display attributes. Graphics.Vty.Image for
|
||||
image combinators. Graphics.Vty.Picture for final picture construction.
|
||||
- Partitioned into Graphics.Vty.Attributes for display attributes.
|
||||
Graphics.Vty.Image for image combinators. Graphics.Vty.Picture
|
||||
for final picture construction.
|
||||
- Graphics.Vty.Attributes:
|
||||
- "setFG" and "setBG" are now "with_fore_color" and "with_back_color"
|
||||
- "setFG" and "setBG" are now "with_fore_color" and
|
||||
"with_back_color"
|
||||
- All other "set.." equations similarly replaced.
|
||||
- "attr" is now "def_attr", short for "default display attributes" Also added a
|
||||
"current_attr" for "currently applied display attributes"
|
||||
- "attr" is now "def_attr", short for "default display attributes"
|
||||
Also added a "current_attr" for "currently applied display
|
||||
attributes"
|
||||
- Graphics.Vty.Image:
|
||||
- "horzcat" is now "horiz_cat"
|
||||
- "vertcat" is now "vert_cat"
|
||||
- "renderBS" is now "utf8_bytestring"
|
||||
- "renderChar" is now "char"
|
||||
- "renderFill" is now "char_fill"
|
||||
- added a "utf8_string" and "string" (AKA "iso_10464_string") for UTF-8 encoded Strings
|
||||
and ISO-10464 encoded Strings. String literals in GHC have an ISO-10464 runtime
|
||||
representation.
|
||||
- added a "utf8_string" and "string" (AKA "iso_10464_string") for
|
||||
UTF-8 encoded Strings and ISO-10464 encoded Strings. String
|
||||
literals in GHC have an ISO-10464 runtime representation.
|
||||
- Graphics.Vty.Picture:
|
||||
- exports Graphics.Vty.Image
|
||||
- "pic" is now "pic_for_image"
|
||||
- added API for setting background fill pattern.
|
||||
- Completely rewritten output backend.
|
||||
- Efficient, scanline style output span generator. Has not been fully optimized, but good
|
||||
enough.
|
||||
- The details required to display the desired picture on a terminal are well encapsulated.
|
||||
- Terminfo based display terminal implementation. With specialized derivitives for xterm,
|
||||
Terminal.app, and iTerm.app.
|
||||
- Attempts to robustly handle even terminals that don't support all display attributes.
|
||||
- I've tested the following terminals with success: iTerm.app, Terminal.app, xterm,
|
||||
rxvt, mlterm, Eterm, gnome-terminal, konsole, screen, linux vty. Hopefully you will be
|
||||
as successfull.
|
||||
- Improved unicode support. Double wide characters will display as expected.
|
||||
- 256 color support. See Graphics.Vty.Attributes.Color240. The actual output color is adjusted
|
||||
according to the number of colors the terminal supports.
|
||||
- The Graphics.Vty.Image combinators no longer require matching dimensions to arguments.
|
||||
Unspecified areas are filled in with a user-customizable background pattern. See
|
||||
Graphics.Vty.Picture.
|
||||
- Efficient, scanline style output span generator. Has not been
|
||||
fully optimized, but good enough.
|
||||
- The details required to display the desired picture on a
|
||||
terminal are well encapsulated.
|
||||
- Terminfo based display terminal implementation. With specialized
|
||||
derivitives for xterm, Terminal.app, and iTerm.app.
|
||||
- Attempts to robustly handle even terminals that don't
|
||||
support all display attributes.
|
||||
- I've tested the following terminals with success: iTerm.app,
|
||||
Terminal.app, xterm, rxvt, mlterm, Eterm, gnome-terminal,
|
||||
konsole, screen, linux vty. Hopefully you will be as
|
||||
successfull.
|
||||
- Improved unicode support. Double wide characters will display as
|
||||
expected.
|
||||
- 256 color support. See Graphics.Vty.Attributes.Color240. The actual
|
||||
output color is adjusted according to the number of colors the
|
||||
terminal supports.
|
||||
- The Graphics.Vty.Image combinators no longer require matching
|
||||
dimensions to arguments. Unspecified areas are filled in with a
|
||||
user-customizable background pattern. See Graphics.Vty.Picture.
|
||||
- output images are always cropped to display size.
|
||||
- Significant code coverage by QuickCheck tests. An interactive test for those final properties
|
||||
that couldn't be automatically verified.
|
||||
- Significant code coverage by QuickCheck tests. An interactive test
|
||||
for those final properties that couldn't be automatically verified.
|
||||
|
||||
issues resolved:
|
||||
Issues resolved:
|
||||
- "gnome terminal displays non-basic attributes as strikethrough"
|
||||
- http://trac.haskell.org/vty/ticket/14
|
||||
- "Multi-byte characters are not displayed correctly on update"
|
||||
- http://trac.haskell.org/vty/ticket/10
|
||||
- "Redraw does not handle rendering a line that extends beyond screen width characters"
|
||||
- "Redraw does not handle rendering a line that extends beyond screen
|
||||
width characters"
|
||||
- http://trac.haskell.org/vty/ticket/13
|
||||
- "The <|> and <-> combinators should be more forgiving of mismatched dimensions"
|
||||
- "The <|> and <-> combinators should be more forgiving of mismatched
|
||||
dimensions"
|
||||
- http://trac.haskell.org/vty/ticket/9
|
||||
- "256-color support"
|
||||
- http://trac.haskell.org/vty/ticket/19
|
Loading…
Reference in New Issue
Block a user