Skip to content

feat: add HUML parser support - #374

Merged
knadh merged 1 commit into
knadh:masterfrom
rhnvrm:feat-huml-parser
Aug 22, 2025
Merged

feat: add HUML parser support#374
knadh merged 1 commit into
knadh:masterfrom
rhnvrm:feat-huml-parser

Conversation

@rhnvrm

@rhnvrm rhnvrm commented Aug 11, 2025

Copy link
Copy Markdown
Collaborator
  • Implement HUML (Human-Oriented Markup Language) parser for koanf
  • Add comprehensive tests with various HUML syntax scenarios
  • Include example usage in examples/read-huml
  • Add HUML mock configuration file
  • Update README.md to include HUML in parser listings
  • Add HUML to workspace configuration

HUML provides a cleaner, more human-readable alternative to TOML with intuitive syntax using :: for arrays/objects and : for scalars.

@rhnvrm
rhnvrm requested review from Copilot and knadh August 11, 2025 11:47

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR implements HUML (Human-Oriented Markup Language) parser support for the koanf configuration library. HUML provides a cleaner, more human-readable alternative to TOML with intuitive syntax using :: for arrays/objects and : for scalars.

Key changes:

  • Add complete HUML parser implementation with comprehensive test coverage
  • Include example usage demonstrating HUML configuration loading
  • Update project documentation and workspace configuration to include HUML support

Reviewed Changes

Copilot reviewed 8 out of 9 changed files in this pull request and generated no comments.

Show a summary per file
File Description
parsers/huml/huml.go Implements the HUML parser with Unmarshal/Marshal methods and type conversion utilities
parsers/huml/huml_test.go Comprehensive test suite covering various HUML syntax scenarios and round-trip testing
parsers/huml/go.mod Module definition with Go 1.24.4 and HUML library dependency
mock/mock.huml Example HUML configuration file demonstrating syntax features
examples/read-huml/main.go Working example showing how to use the HUML parser with koanf
README.md Updates parser documentation to include HUML in the available parsers list
go.work Adds HUML parser to workspace configuration and updates Go version
go.work.sum Updates workspace dependency checksums

- Implement HUML (Human-Oriented Markup Language) parser for koanf
- Add comprehensive tests with various HUML syntax scenarios
- Include example usage in examples/read-huml
- Add HUML mock configuration file
- Update README.md to include HUML in parser listings
- Add HUML to workspace configuration

HUML provides a cleaner, more human-readable alternative to TOML
with intuitive syntax using :: for arrays/objects and : for scalars.
@knadh
knadh merged commit 97b6d9b into knadh:master Aug 22, 2025
2 checks passed
@knadh knadh added the enhancement New feature or request label Aug 22, 2025
schwarlex pushed a commit to la-demos/vcluster-workshop-prep that referenced this pull request Feb 11, 2026
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [github.com/knadh/koanf/v2](https://github.com/knadh/koanf) | require | minor | `v2.2.2` -> `v2.3.0` |

---

### Release Notes

<details>
<summary>knadh/koanf (github.com/knadh/koanf/v2)</summary>

### [`v2.3.0`](https://github.com/knadh/koanf/releases/tag/v2.3.0)

[Compare Source](knadh/koanf@v2.2.2...v2.3.0)

#### What's Changed

- feat: add provider for kiln by [@&#8203;Thunderbottom](https://github.com/Thunderbottom) in [#&#8203;369](knadh/koanf#369)
- Fix rendering of header and add it to the table of contents by [@&#8203;remyzandwijk](https://github.com/remyzandwijk) in [#&#8203;373](knadh/koanf#373)
- Bump github.com/go-viper/mapstructure/v2 from 2.0.0-alpha.1 to 2.4.0 in /examples by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;375](knadh/koanf#375)
- feat: add HUML parser support by [@&#8203;rhnvrm](https://github.com/rhnvrm) in [#&#8203;374](knadh/koanf#374)
- Bump github.com/go-viper/mapstructure/v2 from 2.2.1 to 2.4.0 in /tests by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;376](knadh/koanf#376)
- Bump github.com/go-viper/mapstructure/v2 from 2.2.1 to 2.4.0 in /providers/cliflagv3 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;378](knadh/koanf#378)
- Bump github.com/go-viper/mapstructure/v2 from 2.3.0 to 2.4.0 in /providers/cliflagv2 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;380](knadh/koanf#380)
- Add thread safety to resolve race conditions in Issues [#&#8203;305](knadh/koanf#305) and [#&#8203;335](knadh/koanf#335) by [@&#8203;rhnvrm](https://github.com/rhnvrm) in [#&#8203;377](knadh/koanf#377)
- fix: bump mapstructure version by [@&#8203;rostislaved](https://github.com/rostislaved) in [#&#8203;381](knadh/koanf#381)

#### New Contributors

- [@&#8203;remyzandwijk](https://github.com/remyzandwijk) made their first contribution in [#&#8203;373](knadh/koanf#373)
- [@&#8203;rostislaved](https://github.com/rostislaved) made their first contribution in [#&#8203;381](knadh/koanf#381)

**Full Changelog**: <knadh/koanf@v2.2.2...v2.3.0>

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS4xMjcuMiIsInVwZGF0ZWRJblZlciI6IjQxLjEyNy4yIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIiwibGFiZWxzIjpbXX0=-->

Reviewed-on: https://kubara.git.onstackit.cloud/STACKIT/kubara/pulls/98
Co-authored-by: Matthias_Huether <[email protected]>
Co-committed-by: Matthias_Huether <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants