packages feed

crackNum 3.28 → 3.29

raw patch · 3 files changed

+30/−7 lines, 3 files

Files

CHANGES.md view
@@ -1,7 +1,16 @@ * Hackage: <http://hackage.haskell.org/package/crackNum> * GitHub:  <http://github.com/LeventErkok/crackNum/> -* Latest Hackage released version: 3.28, 2026-08-21+* Latest Hackage released version: 3.29, 2026-08-21++### Version 3.29, 2026-08-21++  * `crackNum.vim`'s TAB completion no longer offers a hardcoded set of `-lN` lane+    counts, since `-lN` is never valid on its own and always needs pairing with a+    `-f`/`-i`/`-w` flag; type it directly instead. `-i`/`-w` completion now offers+    the bare flag and prompts for the bit-width separately, rather than baking in a+    fixed set of widths -- crackNum accepts any `-iN`/`-wN`, so there was never a+    complete list to offer.  ### Version 3.28, 2026-08-21 
crackNum.cabal view
@@ -1,6 +1,6 @@ Cabal-version      : 2.2 Name               : crackNum-Version            : 3.28+Version            : 3.29 Synopsis           : Crack various integer and floating-point data formats Description        : Crack IEEE-754 and other float formats and arbitrary sized words and integers, showing the layout.                      .
crackNum.vim view
@@ -31,10 +31,11 @@     let g:crackNumProgram = "crackNum" endif -" Integer widths and lane counts offered by TAB completion. These are only the common-" cases: crackNum takes any -iN/-wN/-lN, and any such argument can be typed in directly.-let s:crackNumIntFlags  = ["-i8", "-i16", "-i32", "-i64", "-w8", "-w16", "-w32", "-w64"]-let s:crackNumLaneFlags = ["-l2", "-l4", "-l8"]+" Bare -i/-w flags offered by TAB completion; picking one prompts for the bit-width+" separately, since crackNum takes any -iN/-wN and there's no fixed list to offer.+" Lane counts (-lN) are left out of completion entirely: they're not a format on+" their own and always need to be paired with a -f/-i/-w flag, so type -lN directly.+let s:crackNumIntFlags = ["-i", "-w"]  " Used only when crackNum is too old to know --list-formats, or is not on the PATH. " Anything crackNum has learned since is picked up from the executable, not from here.@@ -68,7 +69,7 @@     if exists("g:crackNumPrecisions")         return g:crackNumPrecisions     endif-    return s:crackNumIntFlags + s:CrackNumFormats() + s:crackNumLaneFlags+    return s:crackNumIntFlags + s:CrackNumFormats() endfunction  function! CrackNumComplete(A, L, P)@@ -128,6 +129,19 @@         if empty(join(l:args, ''))             echoerr "No format given; use e.g. -i4, -w8, or -fhp."             return+        endif+        " -i/-w need a bit-width; ask for it separately rather than baking a fixed+        " set of widths into TAB completion, since crackNum takes any -iN/-wN.+        if l:args[0] ==# "-i" || l:args[0] ==# "-w"+            call inputsave()+            let l:width = input(l:args[0] . " width (bits)> ")+            call inputrestore()+            redraw+            if empty(l:width)+                echoerr "No width given; use e.g. " . l:args[0] . "4."+                return+            endif+            let l:args = [l:args[0] . l:width]         endif     else         echo "Cracking \""  . l:curWord . "\".."