on master help sign in
Rename CHANGELOG, improve formatting
commit77bcba3ad6e55648994912f1ff8acbdd6e36b0e3 authorJonathan Daugherty <cygnus@foobox.com> dateSat 21 Jan 2017, 20:13 (10 years ago) parent33530be
3 files changed+195−154
AUTHORS+1−1 CHANGELOG → CHANGELOG.md+193−152 vty.cabal+1−1
AUTHORS+1−1
@@ -19,4 +19,4 @@ library:
1919 * Yoshikuni Jujo
2020 * Dmitry Ivanov
2121
22−Plus others.. Check the git log and CHANGELOG for a full list.
22+Plus others.. Check the git log and CHANGELOG.md for a full list.
CHANGELOG → CHANGELOG.mdrenamed+193−152
@@ -8,8 +8,9 @@
88 possible to use 'str ""' as a non-empty image with height 1.
99
10105.13
11− - Reverted changes in 5.12 due to disagreements between terminal emulators
12− and utf8proc; for more details, please see the ticket discussion at
11+ - Reverted changes in 5.12 due to disagreements between terminal
12+ emulators and utf8proc; for more details, please see the ticket
13+ discussion at
1314 https://github.com/coreyoconnor/vty/issues/115
1415
15165.12
@@ -23,8 +24,8 @@
2324 - Fix mouse event offsets in mouse-up events
2425
25265.11.2
26− - Mouse events were modified so that the upper-left corner of the window is
27− (0,0) rather than (1,1).
27+ - Mouse events were modified so that the upper-left corner of the
28+ window is (0,0) rather than (1,1).
2829
29305.11.1
3031 - Add Generic instance for Image
@@ -62,8 +63,9 @@
6263 (fixes #89)
6364
64655.9
65− - Added new Output methods supportsBell and ringTerminalBell to find out
66− whether the output device has an audio bell and to ring it (see #102)
66+ - Added new Output methods supportsBell and ringTerminalBell to find
67+ out whether the output device has an audio bell and to ring it (see
68+ #102)
6769
68705.8.1
6971 - Fixed "refresh" to work as advertised (see #104)
@@ -74,15 +76,17 @@
7476 how best to decode it
7577
76785.7.1
77− - ModeDemo: added an explicit Control.Applicative import for older GHCs
79+ - ModeDemo: added an explicit Control.Applicative import for older
80+ GHCs
7881
79825.7
8083 - Mouse and paste modes are now off by default.
81− - The Config type got new fields: mouseMode and bracketedPasteMode. These
82− determine whether these modes are enabled initially (for terminals
83− that support them).
84− - Added a Mode type for modal terminal features (mouse events, bracketed
85− paste mode) that is used with new Output interface functions:
84+ - The Config type got new fields: mouseMode and bracketedPasteMode.
85+ These determine whether these modes are enabled initially (for
86+ terminals that support them).
87+ - Added a Mode type for modal terminal features (mouse events,
88+ bracketed paste mode) that is used with new Output interface
89+ functions:
8690 * supportsMode :: Mode -> Bool tells whether the device supports a
8791 mode
8892 * setMode :: Mode -> Bool -> IO () turns a mode on or off
@@ -101,14 +105,16 @@
101105 XtermColor driver rather than just TerminfoBased
102106
1031075.5.0
104− - Replaced lens dependency with microlens, microlens-mtl, microlens-th dependencies. Issue #90
108+ - Replaced lens dependency with microlens, microlens-mtl, microlens-th
109+ dependencies. Issue #90
105110 - Thanks Jonathan Daugherty
106111 - Cabal corrections.
107112 - Thanks Lennart Spitzner
108113
1091145.4.0
110− - Changed eventChannel of Graphics.Vty.Input from Chan to TChan. This enables clients to query if
111− there are no pending events. The Graphics.Vty interface nextEvent is unchanged. Clients that use
115+ - Changed eventChannel of Graphics.Vty.Input from Chan to TChan.
116+ This enables clients to query if there are no pending events. The
117+ Graphics.Vty interface nextEvent is unchanged. Clients that use
112118 eventChannel directly will require updating.
113119 https://github.com/coreyoconnor/vty/issues/60
1141205.3.1
@@ -117,19 +123,22 @@
117123
1181245.3
119125 - Upgraded QuickCheck dependency to 2.7
120− - The standard IO Config (standardIOConfig) was overriding any provided application config.
121− In addition, the inputFd and outputFd could not be changed if mkVty was used.
122− Fixed.
123− - Correct handling of display attributes at end of line. The output attributes are set to default
124− at the end of content for the line and at the start of a new line. Previously the current
125− attribute would extend to the next start of content. This was odd to reason about and was the
126− cause of https://github.com/coreyoconnor/vty/issues/76
127− IIRC Yi requires the old behavior to display the selection region correctly.
128− - shutdown of the input thread is now performed using killThread and synchronization on an MVar.
129− For correct handling of the terminal read vmin and vtime the read must be a blocking read on an
130− OS thread. This places a threadWaitRead, which will be interrupted by the killThread, prior to
131− the uninterruptable read. An alternative would be to re-import the read foreign call as
132− interruptable.
126+ - The standard IO Config (standardIOConfig) was overriding any
127+ provided application config. In addition, the inputFd and outputFd
128+ could not be changed if mkVty was used. Fixed.
129+ - Correct handling of display attributes at end of line. The output
130+ attributes are set to default at the end of content for the line and
131+ at the start of a new line. Previously the current attribute would
132+ extend to the next start of content. This was odd to reason about
133+ and was the cause of https://github.com/coreyoconnor/vty/issues/76
134+ IIRC Yi requires the old behavior to display the selection region
135+ correctly.
136+ - shutdown of the input thread is now performed using killThread and
137+ synchronization on an MVar. For correct handling of the terminal
138+ read vmin and vtime the read must be a blocking read on an OS
139+ thread. This places a threadWaitRead, which will be interrupted by
140+ the killThread, prior to the uninterruptable read. An alternative
141+ would be to re-import the read foreign call as interruptable.
133142
1341435.2.11
135144 - deepseq bounds increased for tests.
@@ -139,7 +148,8 @@
139148 - Thanks Eric Mertens
140149
1411505.2.10
142− - "str" now returns EmptyImage for empty strings to match behavior of other string-like Image constructors (fixes #74)
151+ - "str" now returns EmptyImage for empty strings to match behavior of
152+ other string-like Image constructors (fixes #74)
143153 - Thanks Jonathan Daugherty
144154
1451555.2.9
@@ -179,7 +189,8 @@
179189 - Thanks Fuuzetsu!
180190
1811915.2.3
182− - evaluate/compile the input parsing table once instead of each keystroke.
192+ - evaluate/compile the input parsing table once instead of each
193+ keystroke.
183194 - https://github.com/coreyoconnor/vty/pull/59
184195 - Thanks ethercrow!
185196
@@ -192,13 +203,15 @@
192203 - Bump upper version bound for lens to 4.5. Thanks markus1189!
193204
1942055.2.0
195− - Config structure now specifies file descriptor to use. The default is stdInput and stdOutput
196− file descriptors. Previously Vty used stdInput for input and the follow code for output:
197− - hDuplicate stdout >>= handleToFd >>= (`hSetBuffering` NoBuffering)
198− - the difference was required by Vty.Inline. Now, Vty.Inline uses the Config structure options
199− to acheive the same effect.
200− - removed: derivedVtime, derivedVmin, inputForCurrentTerminal, inputForNameAndIO,
201− outputForCurrentTerminal, outputForNameAndIO
206+ - Config structure now specifies file descriptor to use. The default
207+ is stdInput and stdOutput file descriptors. Previously Vty used
208+ stdInput for input and the follow code for output:
209+ - hDuplicate stdout >>= handleToFd >>= (`hSetBuffering`
210+ NoBuffering)
211+ - the difference was required by Vty.Inline. Now, Vty.Inline uses
212+ the Config structure options to acheive the same effect.
213+ - removed: derivedVtime, derivedVmin, inputForCurrentTerminal,
214+ inputForNameAndIO, outputForCurrentTerminal, outputForNameAndIO
202215 - added: inputForConfig, outputForConfig
203216 - updates to vty-rogue from jtdaugherty. Thanks!
204217 - the oldest version of GHC tested to support vty is 7.6.2.
@@ -212,156 +225,184 @@
212225 - jtdaugherty resolved a number of compiler warnings. Thanks!
213226
2142275.1.0
215− - vmin and vtime can be specified however the application requires. See Graphics.Vty.Config.
228+ - vmin and vtime can be specified however the application requires.
229+ See Graphics.Vty.Config.
216230 - fixed the processing of input when vmin is set > 1.
217231
2182325.0.0
219233 - The naming convention now matches:
220234 - http://www.haskell.org/haskellwiki/Programming_guidelines#Naming_Conventions
221− - all projects using vty for input must be compiled with -threaded. Please notify vty author if
222− this is not acceptable.
223− - mkVtyEscDelay has been removed. Use "mkVty def". Which initialized vty with the default
224− configuration.
235+ - all projects using vty for input must be compiled with -threaded.
236+ Please notify vty author if this is not acceptable.
237+ - mkVtyEscDelay has been removed. Use "mkVty def". Which initialized
238+ vty with the default configuration.
225239 - input handling changes
226240 - KASCII is now KChar
227241 - KPN5 is now KCenter
228242 - tests exist.
229− - Applications can add to the input tables by setting inputMap of the Config.
230− See Graphics.Vty.Config
231− - Users can define input table extensions that will apply to all vty applications.
232− See Graphics.Vty.Config
233− - terminal timing is now handled by selecting an appropriate VTIME. Previously this was
234− implemented within Vty itself. This reduced complexity in vty but provides a different meta
235− key behavior and implies a requirement on -threaded.
236− - The time vty will wait to verify an ESC byte means a single ESC key is the
237− singleEscPeriod of the Input Config structure.
238− - removed the typeclass based terminal and display context interface in favor of a data
239− structure of properties interface.
243+ - Applications can add to the input tables by setting inputMap of
244+ the Config. See Graphics.Vty.Config
245+ - Users can define input table extensions that will apply to all vty
246+ applications. See Graphics.Vty.Config
247+ - terminal timing is now handled by selecting an appropriate VTIME.
248+ Previously this was implemented within Vty itself. This reduced
249+ complexity in vty but provides a different meta key behavior and
250+ implies a requirement on -threaded.
251+ - The time vty will wait to verify an ESC byte means a single ESC
252+ key is the singleEscPeriod of the Input Config structure.
253+ - removed the typeclass based terminal and display context interface
254+ in favor of a data structure of properties interface.
240255 - renamed the Terminal interface to Output
241− - The default picture for an image now uses the "clear" background. This background fills
242− background spans with spaces or just ends the line.
243− - Previously the background defaulted to the space character. This causes issues copying
244− text from a text editor. The text would end up with extra spaces at the end of the line.
256+ - The default picture for an image now uses the "clear" background.
257+ This background fills background spans with spaces or just ends the
258+ line.
259+ - Previously the background defaulted to the space character. This
260+ causes issues copying text from a text editor. The text would end
261+ up with extra spaces at the end of the line.
245262 - Layer support
246263 - Each layer is an image.
247264 - The layers for a picture are a list of images.
248− - The first image is the top-most layer. The images are ordered from top to bottom.
249− - The transparent areas for a layer are the backgroundFill areas. backgroundFill is
250− added to pad images when images of different sizes are joined.
265+ - The first image is the top-most layer. The images are ordered from
266+ top to bottom.
267+ - The transparent areas for a layer are the backgroundFill areas.
268+ backgroundFill is added to pad images when images of different
269+ sizes are joined.
251270 - If the background is clear there is no background layer.
252− - If there is a background character then the bottom layer is the background layer.
271+ - If there is a background character then the bottom layer is the
272+ background layer.
253273 - emptyPicture is a Picture with no layers and no cursor
254− - addToTop and addToBottom add a layer to the top and bottom of the given Picture.
274+ - addToTop and addToBottom add a layer to the top and bottom of the
275+ given Picture.
255276 - compatibility improvements:
256− - terminfo based terminals with no cursor support are silently accepted. The cursor
257− visibility changes in the Picture will have no effect.
258− - alternate (setf/setb) color maps supported. Though colors beyond the first 8 are just a
259− guess.
277+ - terminfo based terminals with no cursor support are silently
278+ accepted. The cursor visibility changes in the Picture will have
279+ no effect.
280+ - alternate (setf/setb) color maps supported. Though colors beyond
281+ the first 8 are just a guess.
260282 - added "rgbColor" for easy support of RGB specified colors.
261− - Both applications and users can add to the mapping used to translate from input bytes to
262− events.
263− - Additional information about input and output process can be appended to a debug log
283+ - Both applications and users can add to the mapping used to
284+ translate from input bytes to events.
285+ - Additional information about input and output process can be
286+ appended to a debug log
264287 - Set environment variable VTY_DEBUG_LOG to path of debug log
265288 - Or use "debugLog <path>" config directive
266289 - Or set 'debugLog' property of the Config provided to mkVty.
267− - examples moved to vty-examples package. See test directory for cabal file.
290+ - examples moved to vty-examples package. See test directory for cabal
291+ file.
268292 - vty-interactive-terminal-test
269− - interactive test. Useful for building a bug report for vty's author.
293+ - interactive test. Useful for building a bug report for vty's
294+ author.
270295 - test/interactive_terminal_test.hs
271296 - vty-event-echo
272− - view a input event log for vty. Example of interacting with user.
297+ - view a input event log for vty. Example of interacting with
298+ user.
273299 - test/EventEcho.hs
274300 - vty-rogue
275− - The start of a rogue-like game. Example of layers and image build operations.
301+ - The start of a rogue-like game. Example of layers and image
302+ build operations.
276303 - test/Rogue.hs
277304 - vty-benchmark
278− - benchmarks vty. A series of tests that push random pictures to the terminal. The
279− random pictures are generated using QuickCheck. The same generators used in the
280− automated tests.
305+ - benchmarks vty. A series of tests that push random pictures to
306+ the terminal. The random pictures are generated using
307+ QuickCheck. The same generators used in the automated tests.
281308 - test/benchmark.hs
282309
2833104.7.0.0
284− - API changes:
285− - Added Graphics.Vty.Image.crop: Ensure an image is no larger than the specified size.
286− - Added Graphics.Vty.Image.pad: Ensure an image is no smaller than the specified size.
287− - Added Graphics.Vty.Image.translate: Offset an image.
288− - Thanks Ben Boeckel <MathStuf@gmail.com> for these features.
311+ - API changes:
312+ - Added Graphics.Vty.Image.crop: Ensure an image is no larger
313+ than the specified size.
314+ - Added Graphics.Vty.Image.pad: Ensure an image is no smaller
315+ than the specified size.
316+ - Added Graphics.Vty.Image.translate: Offset an image.
317+ - Thanks Ben Boeckel <MathStuf@gmail.com> for these features.
289318
2903194.3.0.0
291320
2923214.2.1.0
293− - API changes:
294− - Attr record accessor fore_color changed to attr_fore_color
295− - Attr record accessor back_color changed to attr_back_color
296− - Attr record accessor style changed to attr_style
297− - Added an "inline" display attribute changing DSL:
298− - put_attr_change applies a display attribute change immediately to a terminal
299− - For instance, can be used to change the display attrbiutes of text output via putStrLn
300− and putStr. EX: "put_attr_change $ back_color red" will set the
301− background color to red.
302− - Changes do not apply to a Picture output via output_picture.
303− - See Graphics.Vty.Inline
304− - Moved all IO actions into any monad an instance of MonadIO
322+ - API changes:
323+ - Attr record accessor fore_color changed to attr_fore_color
324+ - Attr record accessor back_color changed to attr_back_color
325+ - Attr record accessor style changed to attr_style
326+ - Added an "inline" display attribute changing DSL:
327+ - put_attr_change applies a display attribute change
328+ immediately to a terminal
329+ - For instance, can be used to change the display attrbiutes
330+ of text output via putStrLn and putStr. EX:
331+ "put_attr_change $ back_color red" will set the background
332+ color to red.
333+ - Changes do not apply to a Picture output via output_picture.
334+ - See Graphics.Vty.Inline
335+ - Moved all IO actions into any monad an instance of MonadIO
305336
3063374.0.0.1
307− - binding for mk_wcswidth was incorrect. Most platforms just magically worked due to
308− coincidence.
338+ - binding for mk_wcswidth was incorrect. Most platforms just
339+ magically worked due to coincidence.
309340
3103414.0.0
311− - API changes:
312− - "getSize" has been removed. Use "terminal vty >>= display_bounds" where "vty" is an
313− instance of the Vty data structure.
314− - added a "terminal" field to the Vty data structure. Accesses the TerminalHandle associated
315− with the Vty instance.
316− - Graphics.Vty.Types has undergone a number of changes. Summary:
317− - Partitioned into Graphics.Vty.Attributes for display attributes. Graphics.Vty.Image for
318− image combinators. Graphics.Vty.Picture for final picture construction.
319− - Graphics.Vty.Attributes:
320− - "setFG" and "setBG" are now "with_fore_color" and "with_back_color"
321− - All other "set.." equations similarly replaced.
322− - "attr" is now "def_attr", short for "default display attributes" Also added a
323− "current_attr" for "currently applied display attributes"
324− - Graphics.Vty.Image:
325− - "horzcat" is now "horiz_cat"
326− - "vertcat" is now "vert_cat"
327− - "renderBS" is now "utf8_bytestring"
328− - "renderChar" is now "char"
329− - "renderFill" is now "char_fill"
330− - added a "utf8_string" and "string" (AKA "iso_10464_string") for UTF-8 encoded Strings
331− and ISO-10464 encoded Strings. String literals in GHC have an ISO-10464 runtime
332− representation.
333− - Graphics.Vty.Picture:
334− - exports Graphics.Vty.Image
335− - "pic" is now "pic_for_image"
336− - added API for setting background fill pattern.
337− - Completely rewritten output backend.
338− - Efficient, scanline style output span generator. Has not been fully optimized, but good
339− enough.
340− - The details required to display the desired picture on a terminal are well encapsulated.
341− - Terminfo based display terminal implementation. With specialized derivitives for xterm,
342− Terminal.app, and iTerm.app.
343− - Attempts to robustly handle even terminals that don't support all display attributes.
344− - I've tested the following terminals with success: iTerm.app, Terminal.app, xterm,
345− rxvt, mlterm, Eterm, gnome-terminal, konsole, screen, linux vty. Hopefully you will be
346− as successfull.
347− - Improved unicode support. Double wide characters will display as expected.
348− - 256 color support. See Graphics.Vty.Attributes.Color240. The actual output color is adjusted
349− according to the number of colors the terminal supports.
350− - The Graphics.Vty.Image combinators no longer require matching dimensions to arguments.
351− Unspecified areas are filled in with a user-customizable background pattern. See
352− Graphics.Vty.Picture.
353− - output images are always cropped to display size.
354− - Significant code coverage by QuickCheck tests. An interactive test for those final properties
355− that couldn't be automatically verified.
356−
357− issues resolved:
358− - "gnome terminal displays non-basic attributes as strikethrough"
359− - http://trac.haskell.org/vty/ticket/14
360− - "Multi-byte characters are not displayed correctly on update"
361− - http://trac.haskell.org/vty/ticket/10
362− - "Redraw does not handle rendering a line that extends beyond screen width characters"
363− - http://trac.haskell.org/vty/ticket/13
364− - "The <|> and <-> combinators should be more forgiving of mismatched dimensions"
365− - http://trac.haskell.org/vty/ticket/9
366− - "256-color support"
367− - http://trac.haskell.org/vty/ticket/19
342+ - API changes:
343+ - "getSize" has been removed. Use "terminal vty >>= display_bounds"
344+ where "vty" is an instance of the Vty data structure.
345+ - added a "terminal" field to the Vty data structure. Accesses the
346+ TerminalHandle associated with the Vty instance.
347+ - Graphics.Vty.Types has undergone a number of changes. Summary:
348+ - Partitioned into Graphics.Vty.Attributes for display attributes.
349+ Graphics.Vty.Image for image combinators. Graphics.Vty.Picture
350+ for final picture construction.
351+ - Graphics.Vty.Attributes:
352+ - "setFG" and "setBG" are now "with_fore_color" and
353+ "with_back_color"
354+ - All other "set.." equations similarly replaced.
355+ - "attr" is now "def_attr", short for "default display attributes"
356+ Also added a "current_attr" for "currently applied display
357+ attributes"
358+ - Graphics.Vty.Image:
359+ - "horzcat" is now "horiz_cat"
360+ - "vertcat" is now "vert_cat"
361+ - "renderBS" is now "utf8_bytestring"
362+ - "renderChar" is now "char"
363+ - "renderFill" is now "char_fill"
364+ - added a "utf8_string" and "string" (AKA "iso_10464_string") for
365+ UTF-8 encoded Strings and ISO-10464 encoded Strings. String
366+ literals in GHC have an ISO-10464 runtime representation.
367+ - Graphics.Vty.Picture:
368+ - exports Graphics.Vty.Image
369+ - "pic" is now "pic_for_image"
370+ - added API for setting background fill pattern.
371+ - Completely rewritten output backend.
372+ - Efficient, scanline style output span generator. Has not been
373+ fully optimized, but good enough.
374+ - The details required to display the desired picture on a
375+ terminal are well encapsulated.
376+ - Terminfo based display terminal implementation. With specialized
377+ derivitives for xterm, Terminal.app, and iTerm.app.
378+ - Attempts to robustly handle even terminals that don't
379+ support all display attributes.
380+ - I've tested the following terminals with success: iTerm.app,
381+ Terminal.app, xterm, rxvt, mlterm, Eterm, gnome-terminal,
382+ konsole, screen, linux vty. Hopefully you will be as
383+ successfull.
384+ - Improved unicode support. Double wide characters will display as
385+ expected.
386+ - 256 color support. See Graphics.Vty.Attributes.Color240. The actual
387+ output color is adjusted according to the number of colors the
388+ terminal supports.
389+ - The Graphics.Vty.Image combinators no longer require matching
390+ dimensions to arguments. Unspecified areas are filled in with a
391+ user-customizable background pattern. See Graphics.Vty.Picture.
392+ - output images are always cropped to display size.
393+ - Significant code coverage by QuickCheck tests. An interactive test
394+ for those final properties that couldn't be automatically verified.
395+
396+Issues resolved:
397+ - "gnome terminal displays non-basic attributes as strikethrough"
398+ - http://trac.haskell.org/vty/ticket/14
399+ - "Multi-byte characters are not displayed correctly on update"
400+ - http://trac.haskell.org/vty/ticket/10
401+ - "Redraw does not handle rendering a line that extends beyond screen
402+ width characters"
403+ - http://trac.haskell.org/vty/ticket/13
404+ - "The <|> and <-> combinators should be more forgiving of mismatched
405+ dimensions"
406+ - http://trac.haskell.org/vty/ticket/9
407+ - "256-color support"
408+ - http://trac.haskell.org/vty/ticket/19
vty.cabal+1−1
@@ -29,7 +29,7 @@ cabal-version: >= 1.18
2929build-type: Simple
3030data-files: README.md,
3131 AUTHORS,
32− CHANGELOG,
32+ CHANGELOG.md,
3333 LICENSE
3434tested-with: GHC >= 7.6.2
3535