pkgsrc-Changes archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
CVS commit: pkgsrc/textproc/rumdl
Module Name: pkgsrc
Committed By: wiz
Date: Sun Feb 8 22:29:21 UTC 2026
Modified Files:
pkgsrc/textproc/rumdl: Makefile cargo-depends.mk distinfo
Log Message:
rumdl: update to 0.1.15.
## [0.1.15] - 2026-02-07
### Added
- **MD057: `relative-to-docs` option** - New config option for validating absolute
link paths relative to a documentation root directory
### Performance
- **2.5x faster on real-world repositories** - Comprehensive performance audit and
optimization across the core pipeline, rule implementations, and infrastructure.
Validated against ripgrep, ruff, and rust repositories (1,832 files, 276K lines)
with zero regressions.
Key optimizations:
- Switch release profile from size optimization (`opt-level = "z"`) to speed (`opt-level = 3`)
- Zero-allocation line ending normalization for LF-only files (common case)
- Replace `chars().nth()` O(n) calls with O(1) byte indexing for ASCII checks
- Promote MD034 regex patterns to `LazyLock` statics (eliminated ~160K mutex cycles per 10K-line file)
- Reduce `LineInfo` memory 79% by boxing rare struct variants (3.4MB → 720KB for 10K-line files)
- Eliminate redundant `Vec<char>` allocation in horizontal rule detection
- Cache debug environment variable lookups in list parser
- Move `ListBlock` by value instead of cloning
- Fix MD044 O(n×m) boundary checks and full-document regex scans
- Fix MD052 repeated full-document HTML comment scans
- Replace per-line `HashMap` cloning in `InlineConfig` with state-transition storage
- Deduplicate `content.lines().collect()` across 48 call sites in 27 rules
- Compute content lines once in `LintContext`, share via `ctx.raw_lines()`
- Unify code block detection into a single pass shared with `LineIndex`
- Eliminate redundant `InlineConfig` parsing (parse once in `LintContext`)
- Deduplicate line offset and front matter computation during context construction
- Add O(1) line access via pre-computed line starts in `LineIndex`
- Lazy-initialize rule registry with `LazyLock` (eliminated 5+ redundant `all_rules()` calls)
- Remove unused mmap code path from file reading
### Changed
- **`explain` command completeness** - Now uses the full rule registry instead of
a manually maintained list, ensuring all rules (including MD069-MD074) are included
## [0.1.14] - 2026-02-06
### Added
- **MD074: MkDocs nav validation** - Validate that `mkdocs.yml` navigation entries
point to existing files (requires `flavor = "mkdocs"`)
- `not-found = "warn"` (default): Report nav entries pointing to non-existent files
- `omitted-files = "ignore"` (default): Optionally report markdown files not in nav
- `absolute-links = "ignore"` (default): Optionally warn about absolute paths
- Smart handling of directory nav entries, `docs_dir` setting, and session caching
- **MD057: Absolute links configuration** - New `absolute-links` config option
for controlling how absolute link paths are handled
- **MkDocs flavor: Extension-aware support** - Recognize Python-Markdown and
pymdown-extensions syntax to prevent false positives
- Python-Markdown anchor style (`{#custom-id}` header attributes)
- Unified PyMdown markup detection with span-based architecture
### Fixed
- **Tables in list items lose indentation** ([#383](https://github.com/rvben/rumdl/issues/383))
- `rumdl fmt` now preserves indentation for tables on list continuation lines
- Stack-based list context tracking handles nested lists, mixed ordered/unordered,
and respects CommonMark code block boundaries
- **MD065: Fix idempotency for consecutive horizontal rules** - Running `--fix`
twice on consecutive `---` rules no longer produces different output
- **MD032: Fix idempotency for ordered-non-1 items with code fences** - Fix mode
no longer produces different output on repeated runs for this edge case
### Changed
- **Codebase modularization** - Major internal restructuring for maintainability
- LSP server extracted into configuration, completion, and linting submodules
- File processor extracted into module directory with 3 submodules
- Config extracted into module directory with 8 submodules
- CLI extracted into commands directory with separate command handlers
- LintContext extracted into module directory with 8 submodules
## [0.1.13] - 2026-02-05
### Added
- **LSP: Code block language completion** - Autocomplete fenced code block languages
- Type ` ``` ` and press Ctrl+Space for language suggestions
- Includes 100+ languages from GitHub Linguist
- Added documentation in [docs/lsp.md](docs/lsp.md)
- **MD041: Opt-in auto-fix** - Add missing first-line heading with `--fix`
- Disabled by default to prevent unwanted changes
- Enable with `fix = true` in MD041 config
- Uses document title or filename as heading text
- **MD040: GitHub Linguist integration** - Normalize code block languages
- Recognizes language aliases (e.g., `py` → `python`)
- Uses GitHub Linguist database for accurate normalization
- **Code Block Tools: Additional built-in tools**
- Added djlint (Jinja/HTML), beautysh (bash), tombi (TOML), oxfmt (Jinja)
- 35 total built-in tool definitions
- **Code Block Tools: Configurable missing tool handling**
- `on-missing-language-definition`: What to do when language has no tools (`skip`, `warn`, `fail`)
- `on-missing-tool-binary`: What to do when tool binary not found (`skip`, `warn`, `fail`)
- **MkDocs: PyMdown Blocks support** - Recognize PyMdown extension syntax
- Supports `/// note`, `/// warning`, `/// details` and other block types
- **npm: CLI distribution** - Install via npm/npx
- `npx rumdl check .` - Run without global install
- Platform-specific packages for macOS, Linux, Windows
### Fixed
- **Code Block Tools: Embedded markdown linting is now opt-in** ([#380](https://github.com/rvben/rumdl/issues/380))
- Linting markdown inside code blocks was unexpectedly enabled by default
- Now requires explicit `[code-block-tools.languages.md]` configuration
- **MD040: Skip disabled lines when computing preferred labels**
- Fixed incorrect suggestions when some code blocks are disabled
- **Schema: Use standard integer type for timeout field** ([#374](https://github.com/rvben/rumdl/issues/374))
- Fixed JSON Schema validation in editors
## [0.1.12] - 2026-02-04
### Added
- **Code Block Tools [preview]** - Run external linters and formatters on fenced code blocks ([#331](https://github.com/rvben/rumdl/issues/331))
- `rumdl check`: Run configured linters (ruff, shellcheck, eslint, etc.) on code blocks
- `rumdl check --fix`: Run configured formatters (ruff, prettier, shfmt, etc.) to auto-format code blocks
- 31 built-in tool definitions with support for custom tools
- Language resolution via GitHub Linguist aliases (e.g., `py` → `python`, `bash` → `shell`)
- Configurable error handling per language (`fail`, `warn`, `skip`)
- See [docs/code-block-tools.md](docs/code-block-tools.md) for configuration guide
- **MD018: Per-rule magiclink configuration** - Control whether `magiclink` syntax is recognized per rule
- Add `magiclink = true` to MD018 config to skip email-like syntax
- **MD033: Auto-fix for `<a>` and `<img>` tags** - Convert simple HTML links and images to Markdown
- `<a href="url">text</a>` → `[text](url)`
- `<img src="url" alt="text">` → ``
- Requires `fix = true` in MD033 config (disabled by default)
- **MkDocs: Support for markdown-enabled HTML blocks** - Properly handle `<div markdown>` grid cards and similar patterns
- Supports 10 HTML5 sectioning elements (div, section, article, aside, details, figure, footer, header, main, nav)
- MD030 and MD035 now skip content inside markdown-enabled HTML blocks
- Added `skip_mkdocs_html_markdown()` filter to filtered_lines API
### Fixed
- **MD013: Prevent infinite loop in MkDocs admonition reflow** - Fixed edge case causing reflow to hang on certain admonition content
- **Config: Remove deprecated MD002 from example** - `rumdl.toml.example` no longer includes deprecated rules
### Changed
- **Config: Compact inline table syntax in example** - `rumdl.toml.example` now uses more readable inline tables for code-block-tools
## [0.1.11] - 2026-02-03
### Added
- **CI: Automated SchemaStore sync workflow** - Schema updates are now automatically synced to SchemaStore on release
### Fixed
- **MD044: Check proper names in link text, image alt text, and WikiLinks** ([#369](https://github.com/rvben/rumdl/issues/369))
- Previously only checked regular text and YAML front matter
- Now also checks `[link text](url)`, ``, and `[[WikiLinks]]`
- **Schema: Remove non-standard 'uint' format** ([#368](https://github.com/rvben/rumdl/issues/368))
- Fixed JSON Schema validation errors in editors when using `flavor = "obsidian"`
- Schema now uses standard `integer` with `minimum: 0` instead of non-standard `uint` format
## [0.1.10] - 2026-02-02
### Added
- **Obsidian flavor support** - New markdown flavor for Obsidian-specific syntax
- Tags (`#my-tag`) - Not flagged as missing heading space (MD018)
- Callouts (`> [!NOTE]`) - Recognized as valid blockquotes
- Highlights (`==text==`) - Not flagged as spacing issues
- Comments (`%%comment%%`) - Content inside is skipped by all rules
- Extended checkboxes (`- [/]`, `- [-]`, `- [>]`) - Recognized as valid task items
- Dataview fields (`field:: value`) - Not flagged as consecutive spaces
- Templater syntax (`<% code %>`) - Recognized as template syntax
- Block references (`^block-id`) - Not flagged
- **WASM: Obsidian flavor support** - Use `flavor: 'obsidian'` in Linter config
- Enables Obsidian-specific syntax recognition in browser/plugin contexts
- **WASM: Rule-specific configuration** - Pass rule configs to Linter constructor
- Example: `new Linter({ 'MD013': { 'line-length': 120 } })`
### Fixed
- **MD041: Skip MkDocs anchor lines** - Lines starting with `[](){#id}` are now skipped when checking for first-line heading
## [0.1.9] - 2026-02-01
### Fixed
- **MD033: Don't remove HTML tags that can't be converted to Markdown**
- Previously, auto-fix would destructively remove tags like `<img>`, `<span>`, and `<div>`
- Now only safe fixable tags (`em`, `i`, `strong`, `b`, `code`, `br`, `hr`) are converted
- All other HTML tags are left unchanged as expected
- **Fix mode: Respect per-file-flavor configuration**
- `rumdl check --fix` now correctly uses per-file flavor settings from `[per-file-flavor]`
- Previously used global flavor instead of file-specific flavor during fix coordination
To generate a diff of this commit:
cvs rdiff -u -r1.8 -r1.9 pkgsrc/textproc/rumdl/Makefile \
pkgsrc/textproc/rumdl/distinfo
cvs rdiff -u -r1.3 -r1.4 pkgsrc/textproc/rumdl/cargo-depends.mk
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: pkgsrc/textproc/rumdl/Makefile
diff -u pkgsrc/textproc/rumdl/Makefile:1.8 pkgsrc/textproc/rumdl/Makefile:1.9
--- pkgsrc/textproc/rumdl/Makefile:1.8 Sun Feb 1 14:00:20 2026
+++ pkgsrc/textproc/rumdl/Makefile Sun Feb 8 22:29:21 2026
@@ -1,6 +1,6 @@
-# $NetBSD: Makefile,v 1.8 2026/02/01 14:00:20 pin Exp $
+# $NetBSD: Makefile,v 1.9 2026/02/08 22:29:21 wiz Exp $
-DISTNAME= rumdl-0.1.8
+DISTNAME= rumdl-0.1.15
CATEGORIES= textproc
MASTER_SITES= ${MASTER_SITE_GITHUB:=rvben/}
GITHUB_TAG= v${PKGVERSION_NOREV}
Index: pkgsrc/textproc/rumdl/distinfo
diff -u pkgsrc/textproc/rumdl/distinfo:1.8 pkgsrc/textproc/rumdl/distinfo:1.9
--- pkgsrc/textproc/rumdl/distinfo:1.8 Sun Feb 1 14:00:20 2026
+++ pkgsrc/textproc/rumdl/distinfo Sun Feb 8 22:29:21 2026
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.8 2026/02/01 14:00:20 pin Exp $
+$NetBSD: distinfo,v 1.9 2026/02/08 22:29:21 wiz Exp $
BLAKE2s (adler2-2.0.1.crate) = 4d391e0fcde91c7435ee9a5503fee4a5346f549f1b45e482ce3e1e151d90f8f5
SHA512 (adler2-2.0.1.crate) = 555b2b7ba6f8116acccd0bcd16ed34cc78162c81023cff31a8566ffcd456c03832089fca2d5b668ceaac4fe8f922d31aa9c487f226a36cace294ff4a219bd91d
@@ -444,9 +444,6 @@ Size (lsp-types-0.94.1.crate) = 66997 by
BLAKE2s (memchr-2.7.6.crate) = a830db86394a8743df7c419957373ffa2ab158d6580c70556213bd109e985d93
SHA512 (memchr-2.7.6.crate) = 38843817334da88ad74ce679b4401cf948cf8138815f3acc5eb0d005da3aabceb2216e20887e79344396569a2fa136e3aa1f7f3251a00d07dd6934cee79f4fad
Size (memchr-2.7.6.crate) = 97616 bytes
-BLAKE2s (memmap2-0.9.9.crate) = 60a90aba4800e654f6a5e9e0f6654c2deaff2d1e912e94f1020903c7c4cce5b8
-SHA512 (memmap2-0.9.9.crate) = abb110a3b209c0358262ae7395efa5b2995710306e608ef3990598d70eb3cb50ba49158f7a0afb10d0d12dc6d2408824ac00179c83681ad2777b953a0b055391
-Size (memmap2-0.9.9.crate) = 34576 bytes
BLAKE2s (memory-stats-1.2.0.crate) = 39573611e5d6bfe512500b556dddd04d53f67a1d5175347fbb670a7c05010d2d
SHA512 (memory-stats-1.2.0.crate) = 47399bcd9c5ce73fa45992924ba66431d50cebdbaf46a045a129b25d704ceb9dccd49b67dba72b18f464a17488cebe6a3718348e16cd0fc9cf49a3edf74c3001
Size (memory-stats-1.2.0.crate) = 11060 bytes
@@ -642,9 +639,9 @@ Size (reqwest-0.12.24.crate) = 159974 by
BLAKE2s (ring-0.17.14.crate) = 1480ea4de12099a897e831682ebaf48ed6e688e06f58e79e496a06e227ed58bd
SHA512 (ring-0.17.14.crate) = 88d38205dc1a1f89bd4ae887ec5c168e68a4b749b3ac0612674092331e99d14a9b8d0f4a98d72c1a3853bcc9da420402336da3ee053bedcfd598da8de93afa14
Size (ring-0.17.14.crate) = 1502610 bytes
-BLAKE2s (rumdl-0.1.8.tar.gz) = 0c29d85be80063c209dab0109bf6eea08660987e14131767461ff91c031d86e9
-SHA512 (rumdl-0.1.8.tar.gz) = c2d6fab30a90be570e23cff8ef80f9b3e886d0484b013b806a95f35845abf5bec1927d6331f58a9d50d764b9dcb3ce6f552478716e62b1298a80e6a03e307d7f
-Size (rumdl-0.1.8.tar.gz) = 1806930 bytes
+BLAKE2s (rumdl-0.1.15.tar.gz) = 2472ebc53722b0c1ec7f5f1f33931a9ccfd412f412cd8939b9f416ffc1d15c58
+SHA512 (rumdl-0.1.15.tar.gz) = e486958dfe28c851ac7c62702131192e43394259aa918c013e23741edf5ce3ea2efb3c34d466a85c140656994ede228045d0c6e0db6a323ac9b7dc76d0e35916
+Size (rumdl-0.1.15.tar.gz) = 1995196 bytes
BLAKE2s (rustc_version-0.4.1.crate) = f0d198d0457135ca7572b41cd2440f1b0ca075013f53b384d07c00db8c5d2e84
SHA512 (rustc_version-0.4.1.crate) = 7aa8a487ca7411b6d23cae62f7568fa3474a7b1fd1589621071be3428a550ed3b7c4ad68277a8f86849e5900397d7d0e9d678f5d423742a045dc7c660fa6c598
Size (rustc_version-0.4.1.crate) = 12245 bytes
Index: pkgsrc/textproc/rumdl/cargo-depends.mk
diff -u pkgsrc/textproc/rumdl/cargo-depends.mk:1.3 pkgsrc/textproc/rumdl/cargo-depends.mk:1.4
--- pkgsrc/textproc/rumdl/cargo-depends.mk:1.3 Sun Feb 1 14:00:20 2026
+++ pkgsrc/textproc/rumdl/cargo-depends.mk Sun Feb 8 22:29:21 2026
@@ -1,4 +1,4 @@
-# $NetBSD: cargo-depends.mk,v 1.3 2026/02/01 14:00:20 pin Exp $
+# $NetBSD: cargo-depends.mk,v 1.4 2026/02/08 22:29:21 wiz Exp $
CARGO_CRATE_DEPENDS+= adler2-2.0.1
CARGO_CRATE_DEPENDS+= ahash-0.8.12
@@ -148,7 +148,6 @@ CARGO_CRATE_DEPENDS+= lock_api-0.4.14
CARGO_CRATE_DEPENDS+= log-0.4.29
CARGO_CRATE_DEPENDS+= lsp-types-0.94.1
CARGO_CRATE_DEPENDS+= memchr-2.7.6
-CARGO_CRATE_DEPENDS+= memmap2-0.9.9
CARGO_CRATE_DEPENDS+= memory-stats-1.2.0
CARGO_CRATE_DEPENDS+= mimalloc-0.1.48
CARGO_CRATE_DEPENDS+= miniz_oxide-0.8.9
Home |
Main Index |
Thread Index |
Old Index