Skip to content

docs: fix include syntax to match implementation#540

Merged
jdx merged 1 commit intomainfrom
fix/534-include-syntax
Mar 13, 2026
Merged

docs: fix include syntax to match implementation#540
jdx merged 1 commit intomainfrom
fix/534-include-syntax

Conversation

@jdx
Copy link
Copy Markdown
Owner

@jdx jdx commented Mar 13, 2026

Summary

  • Fixes the include syntax in the spec reference docs to match the actual implementation
  • Docs showed include "./file.kdl" but the parser expects include file="./file.kdl"

Closes #534

Test plan

  • Verify usage lint accepts the documented syntax

🤖 Generated with Claude Code


Note

Low Risk
Low risk documentation-only change; no runtime code paths are modified.

Overview
Aligns the spec reference documentation with the implemented include directive syntax by changing the example from include "./file.kdl" to include file="./file.kdl" in docs/spec/reference/index.md.

Written by Cursor Bugbot for commit 0379e99. This will update automatically on new commits. Configure here.

The docs showed `include "./file.kdl"` but the parser expects
`include file="./file.kdl"`.

Co-Authored-By: Claude Opus 4.6 <[email protected]>
Copilot AI review requested due to automatic review settings March 13, 2026 13:20
@codecov
Copy link
Copy Markdown

codecov Bot commented Mar 13, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 77.94%. Comparing base (15a13d3) to head (0379e99).
⚠️ Report is 1 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #540   +/-   ##
=======================================
  Coverage   77.94%   77.94%           
=======================================
  Files          48       48           
  Lines        6682     6682           
  Branches     6682     6682           
=======================================
  Hits         5208     5208           
  Misses       1114     1114           
  Partials      360      360           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@gemini-code-assist
Copy link
Copy Markdown
Contributor

Summary of Changes

Hello, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request focuses on improving the accuracy of the project's documentation by correcting a discrepancy in the include directive's syntax. The change ensures that the examples provided in the specification reference align perfectly with the behavior of the underlying parser, enhancing clarity and reducing potential confusion for users.

Highlights

  • Documentation Correction: The include syntax in the specification reference documentation has been updated to accurately reflect the actual implementation.
  • Syntax Alignment: The documented syntax for include was changed from include "./file.kdl" to include file="./file.kdl" to match what the parser expects.
Changelog
  • docs/spec/reference/index.md
    • Updated the include directive example to use file= attribute, matching the parser's expected syntax.
Activity
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for GitHub and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Updates the spec reference documentation so the include directive matches the parser’s implemented KDL shape (include file="..."), resolving the mismatch reported in #534.

Changes:

  • Fix include example syntax in the spec reference from a positional arg form to a file=... property form.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@greptile-apps
Copy link
Copy Markdown

greptile-apps Bot commented Mar 13, 2026

Greptile Summary

This PR is a single-line documentation fix that corrects the include directive syntax in docs/spec/reference/index.md to match the actual parser implementation.

  • The old doc showed include "./my_overrides.usage.kdl" (positional argument), which the parser in lib/src/spec/mod.rs does not support — it only reads a named file= property via .props().get("file"), returning a "missing file" error for positional arguments.
  • The fix changes it to include file="./my_overrides.usage.kdl", which is the correct and only supported syntax.
  • No other documentation files, example KDL files, or runtime code are affected.

Confidence Score: 5/5

  • This PR is safe to merge — it is a one-line documentation correction with no runtime code changes.
  • The change is docs-only and correctly aligns the documented syntax with the verified parser implementation. No logic, tests, or other files are affected.
  • No files require special attention.

Important Files Changed

Filename Overview
docs/spec/reference/index.md Corrects the include directive example from the positional-argument syntax include "./file.kdl" to the named-property syntax include file="./file.kdl", which matches the parser implementation in lib/src/spec/mod.rs.

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    A["Parse KDL node"] --> B{"Node name?"}
    B -->|"include"| C["Read props().get('file')"]
    B -->|"other"| Z["Handle other node types"]
    C --> D{"file property present?"}
    D -->|"No"| E["Error: 'missing file'"]
    D -->|"Yes"| F["Resolve path\n(relative or absolute)"]
    F --> G["Parse included file"]
    G --> H["schema.merge(other)"]

    style E fill:#ff6b6b,color:#fff
    style H fill:#51cf66,color:#fff
Loading

Last reviewed commit: 0379e99

@jdx jdx merged commit 5b90bf8 into main Mar 13, 2026
16 checks passed
@jdx jdx deleted the fix/534-include-syntax branch March 13, 2026 13:21
Copy link
Copy Markdown
Contributor

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request addresses an inconsistency in the documentation by correcting the syntax for the include directive in the KDL usage specification. The change in docs/spec/reference/index.md updates the example from include "./my_overrides.usage.kdl" to include file="./my_overrides.usage.kdl", which now matches the parser's expected implementation. The fix is accurate and well-contained. The review of related files did not reveal any other instances of the incorrect syntax.

jdx pushed a commit that referenced this pull request Mar 13, 2026
### 🚀 Features

- **(spec)** **breaking** add support for license, before/after help
metadata by [@jdx](https://github.com/jdx) in
[#542](#542)

### 🐛 Bug Fixes

- **(cobra)** escape newlines, tabs, and carriage returns in
kdlQuoteAlways by [@thecodesmith](https://github.com/thecodesmith) in
[#539](#539)
- bump major version for breaking changes in release automation by
[@jdx](https://github.com/jdx) in
[#544](#544)
- add custom_major_increment_regex for breaking change detection by
[@jdx](https://github.com/jdx) in
[#545](#545)
- handle all breaking change commit formats in major bump regex by
[@jdx](https://github.com/jdx) in
[27e1ab1](27e1ab1)
- normalize breaking change commit format in preprocessor by
[@jdx](https://github.com/jdx) in
[aa72b92](aa72b92)

### 📚 Documentation

- add argparse-usage integration by [@jdx](https://github.com/jdx) in
[#531](#531)
- mark KDL code blocks as KDL and use correct inline-comment `//` by
[@muzimuzhi](https://github.com/muzimuzhi) in
[#536](#536)
- fix include syntax to match implementation by
[@jdx](https://github.com/jdx) in
[#540](#540)
- consolidate integration list to single source by
[@jdx](https://github.com/jdx) in
[#541](#541)
- fix link to integrations by [@muzimuzhi](https://github.com/muzimuzhi)
in [#543](#543)

### 🛡️ Security

- **(deps)** update dependency eslint to v10 by
[@renovate[bot]](https://github.com/renovate[bot]) in
[#526](#526)

### 🔍 Other Changes

- Added an integration with ruby's OptionParser by
[@packrat386](https://github.com/packrat386) in
[#533](#533)

### 📦️ Dependency Updates

- update actions/setup-node digest to 53b8394 by
[@renovate[bot]](https://github.com/renovate[bot]) in
[#525](#525)
- update jdx/mise-action action to v3 by
[@renovate[bot]](https://github.com/renovate[bot]) in
[#528](#528)
- update rust crate roff to v1 by
[@renovate[bot]](https://github.com/renovate[bot]) in
[#529](#529)

### New Contributors

- @thecodesmith made their first contribution in
[#539](#539)
- @packrat386 made their first contribution in
[#533](#533)
tmeijn pushed a commit to tmeijn/dotfiles that referenced this pull request Apr 2, 2026
⚠️ **CAUTION: this is a major update, indicating a breaking change!** ⚠️

This MR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [usage](https://github.com/jdx/usage) | major | `2.18.2` → `3.2.0` |

MR created with the help of [el-capitano/tools/renovate-bot](https://gitlab.com/el-capitano/tools/renovate-bot).

**Proposed changes to behavior should be submitted there as MRs.**

---

### Release Notes

<details>
<summary>jdx/usage (usage)</summary>

### [`v3.2.0`](https://github.com/jdx/usage/blob/HEAD/CHANGELOG.md#320---2026-03-23)

[Compare Source](jdx/usage@v3.1.0...v3.2.0)

##### 🚀 Features

- Support env-backed choices with `choices env=...` by [@&#8203;mustafa0x](https://github.com/mustafa0x) in [#&#8203;548](jdx/usage#548)

##### 🐛 Bug Fixes

- **(zsh)** escape parentheses and brackets in completion descriptions by [@&#8203;jdx](https://github.com/jdx) in [#&#8203;559](jdx/usage#559)

##### New Contributors

- [@&#8203;mustafa0x](https://github.com/mustafa0x) made their first contribution in [#&#8203;548](jdx/usage#548)

### [`v3.1.0`](https://github.com/jdx/usage/blob/HEAD/CHANGELOG.md#310---2026-03-22)

[Compare Source](jdx/usage@v3.0.0...v3.1.0)

##### 🚀 Features

- **(cli)** render all doc-related fields in --help output by [@&#8203;jdx](https://github.com/jdx) in [#&#8203;554](jdx/usage#554)
- **(cli)** support reading spec from stdin via --file - by [@&#8203;jdx](https://github.com/jdx) in [#&#8203;555](jdx/usage#555)

##### 🐛 Bug Fixes

- **(zsh)** remove trailing space from completions and add directory slash by [@&#8203;jdx](https://github.com/jdx) in [#&#8203;556](jdx/usage#556)
- use field assignment for non-exhaustive Spec in benchmarks by [@&#8203;jdx](https://github.com/jdx) in [#&#8203;552](jdx/usage#552)

##### 📦️ Dependency Updates

- update apple-actions/import-codesign-certs digest to [`fe74d46`](jdx/usage@fe74d46) by [@&#8203;renovate\[bot\]](https://github.com/renovate\[bot]) in [#&#8203;550](jdx/usage#550)
- update codecov/codecov-action digest to [`1af5884`](jdx/usage@1af5884) by [@&#8203;renovate\[bot\]](https://github.com/renovate\[bot]) in [#&#8203;551](jdx/usage#551)
- lock file maintenance by [@&#8203;renovate\[bot\]](https://github.com/renovate\[bot]) in [#&#8203;547](jdx/usage#547)

### [`v3.0.0`](https://github.com/jdx/usage/blob/HEAD/CHANGELOG.md#300---2026-03-13)

[Compare Source](jdx/usage@v2.18.2...v3.0.0)

##### 🚀 Features

- **(spec)** **breaking** add support for license, before/after help metadata by [@&#8203;jdx](https://github.com/jdx) in [#&#8203;542](jdx/usage#542)

##### 🐛 Bug Fixes

- **(cobra)** escape newlines, tabs, and carriage returns in kdlQuoteAlways by [@&#8203;thecodesmith](https://github.com/thecodesmith) in [#&#8203;539](jdx/usage#539)
- bump major version for breaking changes in release automation by [@&#8203;jdx](https://github.com/jdx) in [#&#8203;544](jdx/usage#544)
- add custom\_major\_increment\_regex for breaking change detection by [@&#8203;jdx](https://github.com/jdx) in [#&#8203;545](jdx/usage#545)
- handle all breaking change commit formats in major bump regex by [@&#8203;jdx](https://github.com/jdx) in [27e1ab1](jdx/usage@27e1ab1)
- normalize breaking change commit format in preprocessor by [@&#8203;jdx](https://github.com/jdx) in [aa72b92](jdx/usage@aa72b92)

##### 📚 Documentation

- add argparse-usage integration by [@&#8203;jdx](https://github.com/jdx) in [#&#8203;531](jdx/usage#531)
- mark KDL code blocks as KDL and use correct inline-comment `//` by [@&#8203;muzimuzhi](https://github.com/muzimuzhi) in [#&#8203;536](jdx/usage#536)
- fix include syntax to match implementation by [@&#8203;jdx](https://github.com/jdx) in [#&#8203;540](jdx/usage#540)
- consolidate integration list to single source by [@&#8203;jdx](https://github.com/jdx) in [#&#8203;541](jdx/usage#541)
- fix link to integrations by [@&#8203;muzimuzhi](https://github.com/muzimuzhi) in [#&#8203;543](jdx/usage#543)

##### 🛡️ Security

- **(deps)** update dependency eslint to v10 by [@&#8203;renovate\[bot\]](https://github.com/renovate\[bot]) in [#&#8203;526](jdx/usage#526)

##### 🔍 Other Changes

- Added an integration with ruby's OptionParser by [@&#8203;packrat386](https://github.com/packrat386) in [#&#8203;533](jdx/usage#533)

##### 📦️ Dependency Updates

- update actions/setup-node digest to [`53b8394`](jdx/usage@53b8394) by [@&#8203;renovate\[bot\]](https://github.com/renovate\[bot]) in [#&#8203;525](jdx/usage#525)
- update jdx/mise-action action to v3 by [@&#8203;renovate\[bot\]](https://github.com/renovate\[bot]) in [#&#8203;528](jdx/usage#528)
- update rust crate roff to v1 by [@&#8203;renovate\[bot\]](https://github.com/renovate\[bot]) in [#&#8203;529](jdx/usage#529)

##### New Contributors

- [@&#8203;thecodesmith](https://github.com/thecodesmith) made their first contribution in [#&#8203;539](jdx/usage#539)
- [@&#8203;packrat386](https://github.com/packrat386) made their first contribution in [#&#8203;533](jdx/usage#533)

</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 MR becomes conflicted, or you tick the rebase/retry checkbox.

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

---

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

---

This MR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xMDIuMTAiLCJ1cGRhdGVkSW5WZXIiOiI0My4xMDIuMTAiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbIlJlbm92YXRlIEJvdCIsImF1dG9tYXRpb246Ym90LWF1dGhvcmVkIiwiZGVwZW5kZW5jeS10eXBlOjptYWpvciJdfQ==-->
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Syntax of the include top-level metadata

2 participants