Skip to content

docs(configuration): add rust to idiomatic version files#9233

Merged
jdx merged 1 commit intojdx:mainfrom
jjt:jjt/yxmzmqlmztrn
Apr 18, 2026
Merged

docs(configuration): add rust to idiomatic version files#9233
jdx merged 1 commit intojdx:mainfrom
jjt:jjt/yxmzmqlmztrn

Conversation

@jjt
Copy link
Copy Markdown
Contributor

@jjt jjt commented Apr 18, 2026

No description provided.

@greptile-apps
Copy link
Copy Markdown
Contributor

greptile-apps Bot commented Apr 18, 2026

Greptile Summary

This PR adds rust with rust-toolchain.toml as its idiomatic version file to the configuration documentation table. The entry is accurate and matches the implementation in src/plugins/core/rust.rs (_idiomatic_filenames returns ["rust-toolchain.toml"]).

Confidence Score: 5/5

Safe to merge — single-line docs addition that accurately reflects the existing implementation.

The added table row matches _idiomatic_filenames in src/plugins/core/rust.rs exactly. No logic, configuration, or behaviour is changed.

No files require special attention.

Important Files Changed

Filename Overview
docs/configuration.md Adds one table row documenting Rust's idiomatic version file (rust-toolchain.toml), consistent with the implementation in src/plugins/core/rust.rs.

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    A[mise scans project directory] --> B{idiomatic_version_file_enable_tools includes rust?}
    B -- No --> C[Skip rust-toolchain.toml]
    B -- Yes --> D[Look for rust-toolchain.toml]
    D --> E{File found?}
    E -- No --> F[Use mise.toml / .tool-versions]
    E -- Yes --> G[Parse toolchain.channel from TOML]
    G --> H[Resolve Rust version via rustup]
Loading

Reviews (1): Last reviewed commit: "docs(configuration): add rust to idiomat..." | Re-trigger Greptile

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 updates the documentation to include rust-toolchain.toml as a supported idiomatic version file for Rust. Feedback suggests improving the underlying implementation by supporting the extensionless rust-toolchain filename, handling plain-text version files for better compatibility with rustup, and replacing unwrap() calls with safer parsing to prevent potential panics.

Comment thread docs/configuration.md
| pnpm | `package.json` |
| python | `.python-version`, `.python-versions` |
| ruby | `.ruby-version`, `Gemfile` |
| rust | `rust-toolchain.toml` |
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

medium

While adding rust-toolchain.toml to the documentation is correct, there are a few points regarding the implementation in src/plugins/core/rust.rs that should be addressed to ensure a robust experience:

  1. Support for rust-toolchain: rustup also supports the rust-toolchain filename (without the .toml extension). It would be more idiomatic to support and document both.
  2. Robust Parsing: The parse_idiomatic_file function in src/plugins/core/rust.rs uses several .unwrap() calls (e.g., lines 299, 302, 307, 309, 318, 320). If the TOML file has an unexpected structure (e.g., channel is not a string), mise will panic. It would be safer to use as_str() and as_array() with proper error handling.
  3. Plain-text Support: rustup supports rust-toolchain files that are just a plain string containing the channel name. The current implementation only supports TOML. Supporting plain-text would improve compatibility.

@jdx jdx merged commit 7373c53 into jdx:main Apr 18, 2026
36 checks passed
jdx pushed a commit that referenced this pull request Apr 18, 2026
### 🐛 Bug Fixes

- **(backend)** respect install_before in latest lookup by @risu729 in
[#9193](#9193)
- **(backend)** route explicit latest through stable lookup by @risu729
in [#9228](#9228)
- **(backends)** deprecate b shorthand by @risu729 in
[#9234](#9234)
- **(config)** warn for deprecated env keys by @risu729 in
[#9205](#9205)
- **(config)** treat enable_tools empty as disable-all by @risu729 in
[#9108](#9108)
- **(github)** avoid auth on release asset downloads by @risu729 in
[#9060](#9060)
- **(gitlab)** warn when glab OAuth2 token is expired by @stanhu in
[#9195](#9195)
- **(npm)** honor install_before without day drift by @risu729 in
[#9157](#9157)
- **(npm)** warn on old bun and pnpm for install_before by @risu729 in
[#9232](#9232)
- **(pipx)** honor install_before for uv and pipx installs by @risu729
in [#9190](#9190)
- **(registry)** allow shfmt on Windows by @zeitlinger in
[#9191](#9191)

### 🚜 Refactor

- **(backend)** remove unused rolling release helper by @risu729 in
[#9175](#9175)
- **(backend)** use file util for removals by @risu729 in
[#9206](#9206)

### 📚 Documentation

- **(config)** clarify always_keep_download behavior by @risu729 in
[#9235](#9235)
- **(configuration)** add rust to idiomatic version files by @jjt in
[#9233](#9233)
- **(contributing)** expand contribution guide introduction by
@marianwolf in [#9208](#9208)
- **(github)** document multiple release assets workaround by @risu729
in [#9236](#9236)

### 📦️ Dependency Updates

- update actions/setup-node action to v6 by @renovate[bot] in
[#9183](#9183)
- update dependency @types/node to v25 by @renovate[bot] in
[#9187](#9187)
- update crazy-max/ghaction-import-gpg action to v7 by @renovate[bot] in
[#9186](#9186)
- update actions/cache action to v5 by @renovate[bot] in
[#9181](#9181)
- update amannn/action-semantic-pull-request action to v6 by
@renovate[bot] in [#9184](#9184)
- update apple-actions/import-codesign-certs action to v6 by
@renovate[bot] in [#9185](#9185)
- update dependency eslint to v10 by @renovate[bot] in
[#9200](#9200)
- update dependency toml to v4 by @renovate[bot] in
[#9201](#9201)
- update rust crate reqwest to 0.13 by @renovate[bot] in
[#9171](#9171)
- update ghcr.io/jdx/mise:deb docker digest to 523d826 by @renovate[bot]
in [#9198](#9198)
- update ghcr.io/jdx/mise:alpine docker digest to 05617e0 by
@renovate[bot] in [#9196](#9196)
- update ghcr.io/jdx/mise:rpm docker digest to c1992f9 by @renovate[bot]
in [#9199](#9199)
- update ghcr.io/jdx/mise:copr docker digest to 90db6cd by
@renovate[bot] in [#9197](#9197)
- update taiki-e/install-action digest to 58e8625 by @renovate[bot] in
[#9209](#9209)
- update fedora docker tag to v45 by @renovate[bot] in
[#9213](#9213)
- update docker/setup-buildx-action action to v4 by @renovate[bot] in
[#9212](#9212)
- update docker/metadata-action action to v6 by @renovate[bot] in
[#9211](#9211)
- update docker/login-action action to v4 by @renovate[bot] in
[#9210](#9210)
- update dependency typescript to v6 by @renovate[bot] in
[#9202](#9202)
- update docker/build-push-action action to v7 by @renovate[bot] in
[#9203](#9203)
- update github artifact actions (major) by @renovate[bot] in
[#9215](#9215)
- update rust crate duct to v1 by @renovate[bot] in
[#9220](#9220)
- update rust crate demand to v2 by @renovate[bot] in
[#9219](#9219)
- update rust crate clx to v2 by @renovate[bot] in
[#9218](#9218)
- update nick-fields/retry action to v4 by @renovate[bot] in
[#9217](#9217)
- update jdx/mise-action action to v4 by @renovate[bot] in
[#9216](#9216)
- update rust crate self_update to 0.44 by @renovate[bot] in
[#9174](#9174)
- migrate eslint config to flat format for v10 compat by @jdx in
[#9222](#9222)
- update actions/checkout action to v6 by @renovate[bot] in
[#9182](#9182)
- update rust crate toml to v1 by @renovate[bot] in
[#9225](#9225)
- update rust crate versions to v7 by @renovate[bot] in
[#9226](#9226)
- update rust crate which to v8 by @renovate[bot] in
[#9227](#9227)
- update rust crate rmcp to v1 by @renovate[bot] in
[#9221](#9221)

### 📦 Registry

- add sheldon by @3w36zj6 in
[#9104](#9104)
- add pocketbase by @ranfdev in
[#9123](#9123)
- add worktrunk ([aqua:max-sixty/worktrunk,
cargo:worktrunk](https://github.com/max-sixty/worktrunk,
cargo:worktrunk))#1 by @edouardr in
[#8796](#8796)
- add dependency-check
([aqua:dependency-check/DependencyCheck](https://github.com/dependency-check/DependencyCheck))
by @kapitoshka438 in [#9204](#9204)
- add janet by @ranfdev in
[#9241](#9241)

### New Contributors

- @ranfdev made their first contribution in
[#9241](#9241)
- @jjt made their first contribution in
[#9233](#9233)
- @marianwolf made their first contribution in
[#9208](#9208)
- @edouardr made their first contribution in
[#8796](#8796)

## 📦 Aqua Registry Updates

#### New Packages (3)

- [`LargeModGames/spotatui`](https://github.com/LargeModGames/spotatui)
-
[`android-sms-gateway/cli`](https://github.com/android-sms-gateway/cli)
- [`velero-io/velero`](https://github.com/velero-io/velero)

#### Updated Packages (1)

- [`skim-rs/skim`](https://github.com/skim-rs/skim)
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.

2 participants