aboutsummaryrefslogtreecommitdiffstats
path: root/CLAUDE.md
AgeCommit message (Collapse)AuthorFilesLines
29 hoursdocs: sha-mode bundle reconcile + submodule inventory in CLAUDE.mdDanilo M.1-3/+34
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
32 hoursfeat: --info version-compare row; fix -i completion; release v1.2.6v1.2.6Danilo M.1-1/+1
--info/-i now prints a version-compare row between the header and the README: SBo .info version vs the hint's, greening the higher side (< / >), yellow on equal (=), '(no hint)' when no hint carries a version, skipped when the .info has no version. Header stays pinned, version row scrolls with the README. Completion: -i now completes package names (was flag-only); package-name completion for -n/-i drops the broken -maxdepth 2 .info scan for a param-expansion sweep of REPO_DIR/*/*/ dirs, ~7s -> ~60ms. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
38 hoursfeat: nvchecker autodetect expansion, -n stanza echo, --info/-i; release v1.2.5Danilo M.1-1/+3
Documents the Task 1-6 additions that shipped without doc updates: expanded nvchecker source autodetection (gitlab, bitbucket, gitea, codeberg, pagure, npm, gems, crates.io, cpan, hackage, packagist, cran, in addition to github and pypi), the fenced stanza echo on --new/-n, and the --info/-i command (category/program header plus paged README). Updates show_help, bash completion, mkhint.1.md (rebuilds mkhint.1.gz), CLAUDE.md, and CHANGELOG.md. Bumps MKHINT_VERSION to 1.2.5. No program logic changed; 224/224 tests still pass.
3 daysfix: complete version-aware reconcile against real URL shapes; release v1.2.2v1.2.2Danilo M.1-5/+11
1.2.1 made the bundled-dep reconcile version-aware but _url_version mis-parsed several real-world URL shapes, so 1.2.1 was never correct in the field (found by running mkhint -C --force neovim against the live 0.12.4 hint). _url_version now derives the version by stripping the URL's own github repo name from the basename: - dep names containing digits/dashes (lua-compat-5.3) parse correctly instead of splitting the name as a version - a bare-tag basename with no name prefix is taken as the whole version, fixing package-rev suffixes (luv 1.52.1-0 was truncated to 0) - non-github and the shared neovim/deps blob host fall back to the trailing-version/sha heuristic _url_repo is lowercased so JuliaStrings/utf8proc matches juliastrings/utf8proc (github repos are case-insensitive); utf8proc had reported no-match and appeared in the manifest-only FYI. Verified against all 13 live neovim 0.12.4 bundled deps: all match and report current, no false change, a real bump still detected. Adds T-BM22 (one case per URL-shape class) and T-BM23 (case-insensitive repo match); T-BM17 unchanged. 182 passed. Bump MKHINT_VERSION and man title to 1.2.2, rebuild mkhint.1.gz. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
3 daysfix: version-aware bundled-dep reconcile; release v1.2.1v1.2.1Danilo M.1-7/+13
reconcile_bundle_deps flagged a dep as changed on raw URL-string inequality. Manifests serve bare-tag archive URLs (.../archive/v0.26.7.tar.gz) while hints use the SBo-fetched tree shape (.../archive/v0.26.7/tree-sitter-0.26.7.tar.gz) — same version, different path — so every dep was reported changed at a version that had not moved. Add _url_version to parse and normalize the version from a URL basename, and detect change by version rather than URL string. Only rewrite a line when the version actually differs. Change report now shows "name old-ver -> new-ver". Regression test T-BM17 pins the same-version, different-shape case as no change (180 passed). Bump MKHINT_VERSION and man title to 1.2.1, rebuild mkhint.1.gz. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
3 daysdocs: document bundled-dep reconcile + --force; release v1.2.0Danilo M.1-1/+13
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
5 daysdocs: point slackrepo references to aclemons forkDanilo M.1-1/+1
David Spencer (idlemoor) abandoned slackrepo; Andrew Clemons now maintains it at github.com/aclemons/slackrepo. Update the CLAUDE.md link and add a README credit line naming both. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
5 daysdocs: document man page install and compact --helpDanilo M.1-0/+8
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
5 daysdocs: config file and slackrepo build-vs-updateDanilo M.1-3/+5
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
6 daysdocs: add CHANGELOG, document SemVer and -V/--set-version renamev1.0.0Danilo M.1-18/+23
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
6 daysdocs: document -l directional color and DelReq columnDanilo M.1-1/+6
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
7 daysfeat: -l <pkg...> shows side-by-side hint vs .infoDanilo M.1-1/+4
With package names, --list skips the table and shows each named hint diffed against its .info (git diff --no-index, else diff -y), missing hint exits 2. Diff display extracted to _show_hint_diff, shared with --review. Bash completion completes hint names after -l. Adds T58, T59. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
7 daysfeat: -l skips versionless hints, widen version columnsDanilo M.1-1/+2
--list now skips hint files with no VERSION (e.g. pure DELREQUIRES hints) and excludes them from the total. Version columns widened 10->22 to fit long version strings without shifting other rows. Adds T57. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
7 daysAdd phantom-dep stripping for slackware-currentDanilo M.1-1/+19
SBo SlackBuilds target stable; some build deps (rust-opt, google-go-lang) are unneeded on -current. Auto-add DELREQUIRES for these instead of writing a hintfile per dependent by hand. - Read the phantom-dep list from ~/.config/mkhint/phantom-deps (one per line, # comments; missing file = no-op). - --fix-current / -F: sweep the repo, ensure every package whose REQUIRES contains a phantom dep carries the matching DELREQUIRES. Create a minimal hint if absent, back up and merge into an existing hint otherwise. Idempotent, no prompts, mutually exclusive with -v/-f/-n. - --new: auto-append DELREQUIRES for phantom deps found in the .info. - Tests T50-T56; docs and bash-completion updated. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
7 daysfeat: treat dashed upstream version as equivalent to packaged underscore formDanilo M.1-1/+3
SlackBuild versions cannot contain '-' (it breaks PRGNAM parsing), so an upstream date like 2026-06-02 is packaged as 2026_06_02. mkhint was comparing them byte-for-byte and offering a spurious upgrade/downgrade. Add _normalize_version ('-' -> '_') and apply it to the upstream version in --check and --hintfile (no -v) before comparing and before storing, so equivalent versions compare equal and accepted updates are written in the underscore form. nvtake still uses nvchecker's raw keyfile value. Tests T48/T49 cover equivalence and normalized storage (105 passing). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
14 daysdocs: document -R <pkg...> named-hint reviewDanilo M.1-1/+5
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-19perf: scan single nvchecker entry with -e for single-package checksDanilo M.1-1/+3
When --check is given exactly one package, and when --hintfile suggests a version without -v, run `nvchecker -e <pkg>` so only that entry is scanned instead of the whole nvchecker.toml. Two+ packages or no args still do one full scan, since nvchecker -e accepts only a single entry. Add T42/T43 (mock nvchecker now logs its args), and update CLAUDE.md and README.md (including the previously undocumented -R/--review and -l highlight). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-19docs: document -l highlight and -R review; add to bash completionDanilo M.1-1/+11
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-13docs: document --check populate-missing-sections promptDanilo M.1-1/+6
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-13docs: document nvchecker integration and --check commandDanilo M.1-2/+26
- Add Dependencies section covering wget, nvchecker/nvtake, and jq - Document nvchecker config at ~/.config/nvchecker/nvchecker.toml - Add usage examples for all three new features: * --new appends nvchecker [section] auto-detecting source type * --hintfile without -v queries nvchecker for latest version * --check/-C runs comprehensive update checks across all hints - Update Exit Code 4 description to list all required tools - Add test coverage rows T16-T26 for nvchecker integration tests - Add Key Behaviors bullets for nvchecker-specific features - Update bash completion note to include --check/-C Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-05-18feat: multiline DOWNLOAD support, test suite, updated docsDanilo M.1-5/+34
- Add parse_multiline_var, prompt_continuation_urls, build_multiline_value, _process_download_var; refactor update_checksums to handle multi-URL vars - First URL always re-downloaded; continuation URLs prompt user, skip re-download if unchanged - Add tests/mkhint_test.sh: 44 cases covering all commands and edge cases - Update README and CLAUDE.md: correct -N semantics, --new behavior, multiline DOWNLOAD flow, test suite docs
2026-05-14add --no-dl/-N option to skip downloads and set NODOWNLOAD=yesDanilo M.1-1/+6
Adds --no-dl/-N flag for use with --hintfile or --new. Skips wget, inserts NODOWNLOAD=yes after MD5SUM_x86_64 in the hint file. Also fixes README (correct paths, old command name, missing --delete/--clean sections) and updates CLAUDE.md and bash completion accordingly. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-07rename mkhintfile.sh to mkhint, add --delete/-d optionDanilo M.1-10/+10
- Rename script and completion file to mkhint/mkhint.bash-completion - Add --delete/-d flag to remove one or more hint files (and .bak if present) - Fix bash completion: correct hint_dir path, use find for nested .info files, add --delete completion, add flag name completion - Update all references in CLAUDE.md, README.md, and source files Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-07Initial commitDanilo M.1-0/+57
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>