Path to this page:
Subject: CVS commit: pkgsrc/textproc/jless
From: pin
Date: 2023-07-17 22:47:18
Message id: 20230717204718.465B1FBDB@cvs.NetBSD.org
Log Message:
textproc/jless: update to 0.9.0
v0.9.0 (2023-07-16)
==================
New features:
- A new command `ys` will copy unescaped string literals to the
clipboard. Control characters remain escaped.
- The length of Arrays and size of Objects is now shown before the
container previews, e.g., (`foo: (3) ["apple", "banana", \
"cherry"]`)
- Add a new family of "print" commands, that nearly map to the existing
copy commands, that will simply print a value to the screen. This is
useful for viewing the entirety of long string values all at once, or
if the clipboard functionality is not working; mouse-tracking will be
temporarily disabled, allowing you to use your terminal's native
clipboard capabilities to select and copy the desired text.
- Support showing line numbers, both absolute and/or relative. Absolute
line numbers refer to what line number a given node would appear on if
the document were pretty printed. This means there are discontinuities
when in data mode because closing brackets and braces aren't
displayed. Relative line numbers show how far a line is relative to
the currently focused line. The behavior of the various combinations
of these settings matches vim: when using just relative line numbers
alone, the focused line will show `0`, but when both flags are enabled
the focused line will show its absolute line number.
- Absolute line numbers are enabled by default, but not relative line
numbers. These can be enabled/disabled/re-enabled via command line
flags `--line-numbers`, `--no-line-numbers`,
`--relative-line-numbers` and `--no-relative-line-numbers`, or via
the short flags `-n`, `-N`, `-r`, and `-R` respectively.
- These settings can also be modified while jless is running. Entering
`:set number`/`:set relativenumber` will enable these settings,
`:set nonumber`/`:set norelativenumber` will disable them, and
`:set number!`/`:set relativenumber!` will toggle them, matching
vim's behavior.
- There is not yet support for a jless config file, so if you would
like relative line numbers by default, it is recommended to set up
an alias: `alias jless=jless --line-numbers --relative-line-numbers`.
- You can jump to an exact line number using `<count>g` or `<count>G`.
When using `<count>g` (lowercase 'g'), if the desired line number is
hidden inside of a collapsed container, the last visible line number
before the desired one will be focused. When using `<count>G`
(uppercase 'G'), all the ancestors of the desired line will be
expanded to ensure it is visible.
- Add `C` and `E` commands, analagous to the existing `c` and `e`
commands, to deeply collapse/expand a node and all its siblings.
Improvements:
- In data mode, when a array element is focused, the highlighting on the
index label (e.g., "[8]") is now inverted. Additionally, a '▶' is
always displayed next to the currently focused line, even if the
focused node is a primitive. Together these changes should make it
more clear which line is focused, especially when the terminal's
current style doesn't support dimming (`ESC [ 2 m`).
- When using the `c` and `e` commands (and the new `C` and `E`
commands), the focused row will stay at the same spot on the screen.
(Previously jless would try to keep the same row visible at the top of
the screen, which didn't make sense.)
Bug fixes:
- Scrolling with the mouse will now move the viewing window, rather than
the cursor.
- When searching, jless will do a better job jumping to the first match
after the cursor; previously if a user started a search while focused
on the opening of a Object or Array, any matches inside that container
were initially skipped over.
- When jumping to a search match that is inside a collapsed container,
search matches will continue to be highlighted after expanding the
container.
- [Issue #71 / PR #98]: jless will return a non-zero exit code if it
fails to parse the input.
Other notes:
- The minimum supported Rust version has been updated to 1.67.
- jless now re-renders the screen by emitting "clear line" escape codes
(`ESC [ 2 K`) for each line, instead of a single "clear screen" escape
code (`ESC [ 2 J`), in the hopes of reducing flicking when scrolling.
Files: