crackNum 3.28 → 3.29
raw patch · 3 files changed
+30/−7 lines, 3 files
Files
- CHANGES.md +10/−1
- crackNum.cabal +1/−1
- crackNum.vim +19/−5
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 . "\".."