Skip to content

Latest commit

 

History

History
177 lines (149 loc) · 8.68 KB

CHANGELOG.md

File metadata and controls

177 lines (149 loc) · 8.68 KB

TerminalPager.jl

Version 0.5.2

  • Info Bump StringManipulation.jl version.

Version 0.5.1

  • Bugfix Fix the precompilation in Julia v1.6. (PR #31)
  • Bugfix TerminalPager.drop_preference! should not expect the preference value, only its name.
  • Enhancement The error handling algorithm was improved to provide a result closer to that of the default REPL mode. (Issue #32)

Version 0.5.0

  • BREAKING Feature We now manage the user preferences using the package Preferences.jl. Hence, we dropped all the previous functions to perform customization, leading to breaking changes.
  • Feature ^ is mapped to BOL (PR #28)
  • Feature The pager supports a new visual mode in which the user can select and copy lines.
  • Feature The pager can use the alternate screen buffer, which preserves the current buffer content. This mode is now the default one when showing documentation using @help or in the REPL mode pager?>. (Issue #29)
  • Enhancement We use an intermediate buffer to draw the view, leading to less screen flickering.
  • Enhancement The pre-compilation statements are generated by PrecompileTools.jl.
  • Enhancement We now consider the entire display size when showing docstrings using @help.

Version 0.4.0

  • BREAKING The REPL mode pager? now uses the entire available display size to show the help, instead of fixing the number of columns to 80. (Issue #25)
  • Feature The keys u/d are now bound to :halfup and :halfdown. (PR #22)
  • Feature The key <enter> is now bound to :down. (PR #24)

Version 0.3.1

  • Enhancement StringManipulation.jl version was bump to v0.3.

Version 0.3.0

  • BREAKING The keywords freeze_rows and freeze_columns were renamed to frozen_rows and frozen_columns.
  • BREAKING The keyword draw_ruler was renamed to show_ruler.
  • BREAKING The type of keystroke values are now String instead of Union{Symbol, String}. This modification can break code that adds keybindings. However, it removed a lot of type instability and runtime dispatch, leading to a substantial performance gain.
  • Feature The function set_highlighting can be used to change the active and inactive search highlight decoration.
  • Enhancement Many performance improvements. The inner engine to create text views, called "recipes", was removed in favour of the algorithm in StringManipulation.jl (function textview).

Version 0.2.2

  • Bugfix The escaping was corrected in @help. (Issue #17)
  • Bugfix The text width was being computing without ignoring the decoration, leading to problems when accounting for the printable size of the text. (Issue #16)
  • Feature The keyword auto can be used to show the pager only if the output does not fit the screen.
  • Feature TerminalPager.jl now has REPL modes.
  • Feature New keybindings were defined: <, >, and b. (Issue #15)
  • Feature We can now define title rows, which will not move with the pager. (Issue #6)
  • Enhancement Many performance issues were fixed, improving the initialization time among other things.

Version 0.2.1

  • Deprecation The macro @dpr is now deprecated. It was replaced by @help.
  • Enhancement The macro @stdout_to_pager can now be called using the shorter name @out2pr.

Version 0.2.0

  • Feature The macro @stdout_to_pager can be used to redirect the stdout output to the pager. (Issue #13)
  • Feature The macro @dpr can be to easily access the documentation of a function using pager. (Issue #14)
  • Feature A vertical ruler can now be drawn using the keybinding r.
  • Enhancement space is now bind to :pagedown as in less.

Version 0.1.1

  • Bugfix When selecting the new number of columns and rows that will be frozen, hitting just enter uses the old value instead of crashing. (Issue #9)
  • Bugfix Avoid a crash when searching something without matches after a search with matches. (Issue #12)
  • Feature The function TerminalPager.debug_keycode() was added to help debugging key codes.
  • Feature The navigation can now be performed using a set of Vi key bindings. However, due to some conflicts, the entire navigation set based on Vi key bindings requires the environment key PAGER_MODE=vi. (Issue #7)
  • Enhancement ALT is now treated like Meta, trying to equalize the experience among different operation systems. (Issue #8)
  • Enhancement If there is no match, the command line now shows (no match found) instead of (0 of 0 matches).
  • Enhancement ALT up and ALT down now goes to the beginning and end of the text to keep consistency of ALT modifier. (Issue #8)

Version 0.1.0

  • Bugfix The number of cropped lines is now correctly computed. (Issue #3)
  • Feature The current position of the view is shown in the command line.
  • Feature The key bindings can now be customized. (Issue #2)
  • Feature The pager now supports searching strings.
  • Feature The pager can now freeze lines and columns. (Issue #1)
  • Feature The pager now supports features, which are a set of actions that can be disable when calling it. For example, the pager is used to show the help screen. However, in this case, we remove the help feature to avoid showing another help screen.
  • Enhancement A new rendering algorithm for better performance.
  • Enhancement The new rendering algorithm does not add new lines when clearing the screen, but overwrite the current ones. (Issue #4)
  • Enhancement The help screen now shows all the important information.
  • Enhancement A lot of type instabilities were fixed, leading to a much better initialization time.

Version 0.0.1

  • Initial version.