Skip to content

Commit

Permalink
textproc/jless: update to 0.9.0
Browse files Browse the repository at this point in the history
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.
  • Loading branch information
0323pin committed Jul 17, 2023
1 parent d7d3783 commit e0b8292
Show file tree
Hide file tree
Showing 3 changed files with 31 additions and 31 deletions.
4 changes: 2 additions & 2 deletions textproc/jless/Makefile
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# $NetBSD: Makefile,v 1.7 2022/03/14 13:19:19 wiz Exp $
# $NetBSD: Makefile,v 1.8 2023/07/17 20:47:18 pin Exp $

DISTNAME= jless-0.8.0
DISTNAME= jless-0.9.0
CATEGORIES= textproc
MASTER_SITES= ${MASTER_SITE_GITHUB:=PaulJuliusMartinez/}
GITHUB_TAG= v${PKGVERSION_NOREV}
Expand Down
14 changes: 7 additions & 7 deletions textproc/jless/cargo-depends.mk
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# $NetBSD: cargo-depends.mk,v 1.3 2022/03/11 10:22:27 pin Exp $
# $NetBSD: cargo-depends.mk,v 1.4 2023/07/17 20:47:18 pin Exp $

CARGO_CRATE_DEPENDS+= aho-corasick-0.7.18
CARGO_CRATE_DEPENDS+= atty-0.2.14
Expand All @@ -9,8 +9,9 @@ CARGO_CRATE_DEPENDS+= block-0.1.6
CARGO_CRATE_DEPENDS+= cc-1.0.69
CARGO_CRATE_DEPENDS+= cfg-if-0.1.10
CARGO_CRATE_DEPENDS+= cfg-if-1.0.0
CARGO_CRATE_DEPENDS+= clap-3.0.14
CARGO_CRATE_DEPENDS+= clap_derive-3.0.14
CARGO_CRATE_DEPENDS+= clap-4.0.26
CARGO_CRATE_DEPENDS+= clap_derive-4.0.21
CARGO_CRATE_DEPENDS+= clap_lex-0.3.3
CARGO_CRATE_DEPENDS+= clipboard-0.5.0
CARGO_CRATE_DEPENDS+= clipboard-win-2.2.0
CARGO_CRATE_DEPENDS+= clipboard-win-4.2.1
Expand All @@ -21,10 +22,8 @@ CARGO_CRATE_DEPENDS+= error-code-2.3.0
CARGO_CRATE_DEPENDS+= fd-lock-3.0.0
CARGO_CRATE_DEPENDS+= fnv-1.0.7
CARGO_CRATE_DEPENDS+= getrandom-0.2.3
CARGO_CRATE_DEPENDS+= hashbrown-0.11.2
CARGO_CRATE_DEPENDS+= heck-0.4.0
CARGO_CRATE_DEPENDS+= hermit-abi-0.1.18
CARGO_CRATE_DEPENDS+= indexmap-1.8.0
CARGO_CRATE_DEPENDS+= indoc-1.0.4
CARGO_CRATE_DEPENDS+= isatty-0.1.9
CARGO_CRATE_DEPENDS+= lazy_static-1.4.0
Expand All @@ -43,10 +42,11 @@ CARGO_CRATE_DEPENDS+= numtoa-0.1.0
CARGO_CRATE_DEPENDS+= objc-0.2.7
CARGO_CRATE_DEPENDS+= objc-foundation-0.1.1
CARGO_CRATE_DEPENDS+= objc_id-0.1.1
CARGO_CRATE_DEPENDS+= once_cell-1.18.0
CARGO_CRATE_DEPENDS+= os_str_bytes-6.0.0
CARGO_CRATE_DEPENDS+= proc-macro-error-1.0.4
CARGO_CRATE_DEPENDS+= proc-macro-error-attr-1.0.4
CARGO_CRATE_DEPENDS+= proc-macro2-1.0.36
CARGO_CRATE_DEPENDS+= proc-macro2-1.0.63
CARGO_CRATE_DEPENDS+= quote-1.0.9
CARGO_CRATE_DEPENDS+= radix_trie-0.2.1
CARGO_CRATE_DEPENDS+= redox_syscall-0.1.57
Expand All @@ -65,7 +65,7 @@ CARGO_CRATE_DEPENDS+= strsim-0.10.0
CARGO_CRATE_DEPENDS+= syn-1.0.86
CARGO_CRATE_DEPENDS+= termcolor-1.1.2
CARGO_CRATE_DEPENDS+= termion-1.5.6
CARGO_CRATE_DEPENDS+= textwrap-0.14.2
CARGO_CRATE_DEPENDS+= unicode-ident-1.0.10
CARGO_CRATE_DEPENDS+= unicode-segmentation-1.7.1
CARGO_CRATE_DEPENDS+= unicode-width-0.1.8
CARGO_CRATE_DEPENDS+= unicode-xid-0.2.1
Expand Down
44 changes: 22 additions & 22 deletions textproc/jless/distinfo
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
$NetBSD: distinfo,v 1.3 2022/03/11 10:22:27 pin Exp $
$NetBSD: distinfo,v 1.4 2023/07/17 20:47:18 pin Exp $

BLAKE2s (aho-corasick-0.7.18.crate) = 8925e88e2df4b5ca3b31783f527e1bb31dbe27846f409f631148fa239f3b2935
SHA512 (aho-corasick-0.7.18.crate) = 7a23b16231a90d23ee60ad4c81bc225410599a4560d33d3a203138fc540c39cf1000100fed3aed40dcc371c3635656a3792545dca5dd1aefbde00d8774eebd00
Expand Down Expand Up @@ -27,12 +27,15 @@ Size (cfg-if-0.1.10.crate) = 7933 bytes
BLAKE2s (cfg-if-1.0.0.crate) = fbb02f63b24cc224b045ff2aac3aefd0a77cf7b578df4d5f9da9517a59aaf9bb
SHA512 (cfg-if-1.0.0.crate) = 0fb16a8882fd30e86b62c5143b1cb18ab564e84e75bd1f28fd12f24ffdc4a42e0d2e012a99abb606c12efe3c11061ff5bf8e24ab053e550ae083f7d90f6576ff
Size (cfg-if-1.0.0.crate) = 7934 bytes
BLAKE2s (clap-3.0.14.crate) = 14d1dc528cf82bbd5fa46142ce4d6e12b12e602fe2429f073080c57267a6b43b
SHA512 (clap-3.0.14.crate) = 51eb7e48e6ea74b84f4e0ef0c66f9742ee0a748fa87c39b10afba9697dbbf2b30a0ab93fb8ce9437fef1443a96414dc71ccc2b3fe70cc4af779bfd2308b15a34
Size (clap-3.0.14.crate) = 191513 bytes
BLAKE2s (clap_derive-3.0.14.crate) = b55963c5db12be8cf47fbe982a962784486967d903a36f45b467c2cc50f083ea
SHA512 (clap_derive-3.0.14.crate) = eba7088895891c3574445093100bc5ec0a32315d99bcade2524235f768c94ba7a701d43310f1c89297ca55f540716a69ae0fb644797d9ec9e064930ed53b4564
Size (clap_derive-3.0.14.crate) = 25314 bytes
BLAKE2s (clap-4.0.26.crate) = f64d9376024e8b8daa6848b8760fb64f6106923bfd079a59d9020de2c643f7a5
SHA512 (clap-4.0.26.crate) = 096d9a69c5c09cac0315f9e1895d873b861beab6bfcf0c4a28e85c50ad63a8282f36933fb16333d749e821032048da7d7100bd5d774ccfc4078e90d3ea672e35
Size (clap-4.0.26.crate) = 205197 bytes
BLAKE2s (clap_derive-4.0.21.crate) = 18d34043fa74f11593abaec57ea4f7ad19e14176479abba4ea47ecd981a5e60d
SHA512 (clap_derive-4.0.21.crate) = 95bbddfd09de9dc1c64266743e9877aaed086be56f7e0f6e933dc5245724fead7163316a7bb4a744bc81597e4d079fb0abfea891766a17e0b1aafba011dd74df
Size (clap_derive-4.0.21.crate) = 27567 bytes
BLAKE2s (clap_lex-0.3.3.crate) = 173cac0813134474033ceaf3e08a9404e2b613f11318cbbeffbdce2d6b9d10c6
SHA512 (clap_lex-0.3.3.crate) = b3f89b462a47f4e53df098c1db0b9dc78871b42a3deeedfcfdfc22e91b6671968bce5e80c1c7331381d4ac0f6f6fac1ea1fc1ff4e026bea03d3cbe67a7ebf128
Size (clap_lex-0.3.3.crate) = 9648 bytes
BLAKE2s (clipboard-0.5.0.crate) = 100f8c0dbeb4a3d6ce01dce30d913a5c52e88eebb50f44db25e3054a57279e16
SHA512 (clipboard-0.5.0.crate) = a02994e68bb4ecdb1ba3db05e095474e67df4d73f69c92ab096913f4bd0f47ec6b62c8f0210fd67bb466e293c765888c315770e447f5c6e9b2e5c69f71d3e48a
Size (clipboard-0.5.0.crate) = 10009 bytes
Expand Down Expand Up @@ -63,27 +66,21 @@ Size (fnv-1.0.7.crate) = 11266 bytes
BLAKE2s (getrandom-0.2.3.crate) = c451e4c9701d09c79572625708c12711e2a0a14a925b614b8be72f231a601f18
SHA512 (getrandom-0.2.3.crate) = e6da64ed529cb0fc000b613f75187ed6b20f716e721d8a02ac2ae39c507fb9f6189ebb66b522d28584eff1e7e9efc274cad6bfe43f464f58053701e1d51c603d
Size (getrandom-0.2.3.crate) = 26261 bytes
BLAKE2s (hashbrown-0.11.2.crate) = abc7a6572c0284c484fdb4f678d265bc7a1571c78272b16a4a924565bc14063c
SHA512 (hashbrown-0.11.2.crate) = c21ca68fd49bbb741901f59fed04cc124b8da99e2a4dfc26e2e5e1140637872b344612a01691bd30cc771575c571be15f756c84dde225441699cd2322af2ad6c
Size (hashbrown-0.11.2.crate) = 85713 bytes
BLAKE2s (heck-0.4.0.crate) = 0bbfc0807fe42d68570dab10b6cdfeabd24e6c732caebcec1880c2b9efeb36b5
SHA512 (heck-0.4.0.crate) = 33bdbf4ff9ecc4f4d74cf06590e056f4d96bf0d990d5381b9da5b65682b2495ed74e27b45419c2afa986c1f6200909d5175b137ae73ced5cc8ac869e4e1bce8f
Size (heck-0.4.0.crate) = 11161 bytes
BLAKE2s (hermit-abi-0.1.18.crate) = c87e3ece2e8cf475739f892c3b12d68ab3b2da500366ef88273526f822e3e07a
SHA512 (hermit-abi-0.1.18.crate) = 54f060c6c1c80d41f40cec7102345147efb535aff9fa5cc0ed4ccd7f010bfdb6daaf40626fd5069af60ceb42058452803b59d4bbcfbed4c5546c79b57ae0f914
Size (hermit-abi-0.1.18.crate) = 9936 bytes
BLAKE2s (indexmap-1.8.0.crate) = b4bffe99cb221a5d359fd9c75f454f07341917d88df746e4c6c874f6035a3a13
SHA512 (indexmap-1.8.0.crate) = 6af44320a80c8256291cc6e3c90311ce67b7f69ce039d640bb3abbcb6057f16eb443a407060ba647d7b16f44214acf59b566772a4802ba5000f036f69ca82a43
Size (indexmap-1.8.0.crate) = 52583 bytes
BLAKE2s (indoc-1.0.4.crate) = 9795d06961300faf1d388b3bbac5fd3999cca5232c2320b5c0d84065b46ea8fa
SHA512 (indoc-1.0.4.crate) = b2d90f074f9a34e330d7d6e6313bd569cd857c791b8ff79191a70f19064fa53ea2ede30bbd16587fb438e69ccce4c3e2fbb127610ba8e470daf076d7373f0213
Size (indoc-1.0.4.crate) = 13122 bytes
BLAKE2s (isatty-0.1.9.crate) = 6e97b8fa99526e94b9e286fa8c419d97afcd150cf9785ad17d1db7fee06aa583
SHA512 (isatty-0.1.9.crate) = 64283bd77f3987a91f88c1292be94a2efe7ce25d8d617da6da94643c27cda4cef2d9ae121c6f08d4ae2790080486db996b4aa4cea65c49ae4ba56493676e080e
Size (isatty-0.1.9.crate) = 8009 bytes
BLAKE2s (jless-0.8.0.tar.gz) = c14e21f0f3db51e7fb4ee0618815a40c76477922743e5189d73e7ef47f79d7ba
SHA512 (jless-0.8.0.tar.gz) = cd208c9237e07c6111667fbd530aebea2b3568bad5bf58508e76e047c51097e0029e768056b2b8f79fc0f270bf6fd0632b62eb7ad82eaf8194d433f28dfbb12d
Size (jless-0.8.0.tar.gz) = 1210950 bytes
BLAKE2s (jless-0.9.0.tar.gz) = 81e9724c041f7fdc860b314cf905f77768984d64540f753db121ff25e301a87d
SHA512 (jless-0.9.0.tar.gz) = 2c0f4b5d662f7e93727b25ef6b138368b453dc7246a6a2a3d14c158e15baeaf70df00252b0e1a813016837504bd6f75585d6e21760c52fc3ba76d61fc094ec7a
Size (jless-0.9.0.tar.gz) = 1222005 bytes
BLAKE2s (lazy_static-1.4.0.crate) = 0d5f7c2bcfe70610bc27bd6b339ea3e4ca3b7014149714db3a0c199ac6f07cd1
SHA512 (lazy_static-1.4.0.crate) = e124c0521ec7c950f3c4a066821918da7a9c6e711115d98009ae7c351928fdddead852e7596fea5937a9c30e4e4ce8eee7099b20248b5d6e3b2494b6a6d88cb8
Size (lazy_static-1.4.0.crate) = 10443 bytes
Expand Down Expand Up @@ -132,6 +129,9 @@ Size (objc-foundation-0.1.1.crate) = 9063 bytes
BLAKE2s (objc_id-0.1.1.crate) = 1bc76100eb8a059b580ecd9b12111a7055936856bbb9059e7d8f28a3bfb362ef
SHA512 (objc_id-0.1.1.crate) = ec36fae6f5cefda00f3e44618b3c9fe6ec8f528f70d1a95def6421704bfa128a6e5b4a32e9dd686bf6ff60c4f87fe8094aa5e1c8070bcde58b17fdc06f49f9f5
Size (objc_id-0.1.1.crate) = 3258 bytes
BLAKE2s (once_cell-1.18.0.crate) = 2f70290489bac1069afecce7999205a621d8f965a25f01836dc147bea532c9fe
SHA512 (once_cell-1.18.0.crate) = 9328968afdf3535b2d9e0113d75afa725259d76994ef2e1948ad7efa4ec8a65bac7cfdc31b749d5cd55ad4e28d2e28ac57b871e3067b89182453c7e2413a13b8
Size (once_cell-1.18.0.crate) = 32969 bytes
BLAKE2s (os_str_bytes-6.0.0.crate) = 81aeea46771b35349ead272cee409f24d10915cd645a1ce82a826a812353e9f2
SHA512 (os_str_bytes-6.0.0.crate) = d2d3741a1190092cf251e035d2c55a7d022d99512160ed4ddccccb44ca85f664f94f8a937a76eff88581b593e2ebaddab6e753009f3046a8a2ebf451418e41d8
Size (os_str_bytes-6.0.0.crate) = 21046 bytes
Expand All @@ -141,9 +141,9 @@ Size (proc-macro-error-1.0.4.crate) = 25293 bytes
BLAKE2s (proc-macro-error-attr-1.0.4.crate) = 3204ef6b947e06798ac6e978bd1a40f2f7e81de7d3079fd7b639242f8ed032a8
SHA512 (proc-macro-error-attr-1.0.4.crate) = 2606afa9ec78d7dad4500c98d3a5ecbd02c6b53ab829c742bed7f57b322a95238ab4e01cf268746815f1424fd9b02eddfa30e72f98c66106f57765f3d3116495
Size (proc-macro-error-attr-1.0.4.crate) = 7971 bytes
BLAKE2s (proc-macro2-1.0.36.crate) = 9f898c159cb5423e6c1b48791e74d604c348d2912572d212377917439e31212a
SHA512 (proc-macro2-1.0.36.crate) = f31b0f2356af2746321c4f808ac9af87d21a5657c103ed6bc1383855e40caf49246cc8ec1edff58eacf193424abfc2163148b7298e527714e65e602f14b2e50a
Size (proc-macro2-1.0.36.crate) = 41411 bytes
BLAKE2s (proc-macro2-1.0.63.crate) = df6ec122cd1772c0de876cf7ad09c3d98f65e006fc383f0af2e75cb5bcaba4dd
SHA512 (proc-macro2-1.0.63.crate) = 3855011d0d42e8fe591e7552d224b692d79b194c4452fe9d8f92ed85e5437c0a3524a38e66301412be482cfcfbd468b071a03cf584a1618284dfcdcac9713102
Size (proc-macro2-1.0.63.crate) = 44867 bytes
BLAKE2s (quote-1.0.9.crate) = da1409c5fab9fc40b5a0ce824d063088c949e2c35dea81f683b558455a1807fb
SHA512 (quote-1.0.9.crate) = dd6cdaea183b85400531ef01e56657edbec0d8f7c27898c1e591b72dff755fa5875b33ca320bd65be0e9aecfc6a61ec119a4bd1291e9f2057fca642ab5b198c8
Size (quote-1.0.9.crate) = 25042 bytes
Expand Down Expand Up @@ -198,9 +198,9 @@ Size (termcolor-1.1.2.crate) = 17287 bytes
BLAKE2s (termion-1.5.6.crate) = b6d92242706c4be97dcded5161758bc66939a05349c99c250006e940f3c4f626
SHA512 (termion-1.5.6.crate) = 228b6fa7e2f280d6bfc7cef77e7a1d0d8f597178e66af0bde1b1fb6553857b511ba8a6786165815aac6d8a082fd37191f4ea35a47f1e1182f7f2c6086eb34a8c
Size (termion-1.5.6.crate) = 22677 bytes
BLAKE2s (textwrap-0.14.2.crate) = fd4222c5777268724d53efad1778b87a3f176dbf175fc0a3442ddb39c87deab7
SHA512 (textwrap-0.14.2.crate) = 521ab37e03aae8fcce5b909541399fc90a23020e353f95102c658fa94ffc56b9bdff43f47fb3da6e30f5c9cc9447fab72fe21d7276dfa21fe5a1a5a1c874e371
Size (textwrap-0.14.2.crate) = 52016 bytes
BLAKE2s (unicode-ident-1.0.10.crate) = 66b26a485183b7f3bd4fe87aad36a4cc03ed7152b69129c6b709c99d6cca1552
SHA512 (unicode-ident-1.0.10.crate) = 5dcc24e138a86f84cb05290332d02953b0ca18839ead1e74b0319bc361ea449700e04d62a51e435cba266121e463643e017718d3023a84f844a59e4ca4475686
Size (unicode-ident-1.0.10.crate) = 42039 bytes
BLAKE2s (unicode-segmentation-1.7.1.crate) = dc82f23b14ad2ebecd0f37db4838776c4fcc4eb449bb70d523e436965ebd0d66
SHA512 (unicode-segmentation-1.7.1.crate) = 183ca68d456a8d53e6f255129e8fd07b87d8da23b8f18187231d6fa70dac80e4069eb6c501d45155d9f0050b6bd713964e55f0e4b25a40546c4d245a17fc8dc6
Size (unicode-segmentation-1.7.1.crate) = 93066 bytes
Expand Down

0 comments on commit e0b8292

Please sign in to comment.