Skip to content

refactor!: breaking config changes for 0.2.0-rc.2#48

Merged
eitsupi merged 11 commits intomainfrom
chore/config-breaking-changes-0.2.0-rc.2
Feb 4, 2026
Merged

refactor!: breaking config changes for 0.2.0-rc.2#48
eitsupi merged 11 commits intomainfrom
chore/config-breaking-changes-0.2.0-rc.2

Conversation

@eitsupi
Copy link
Copy Markdown
Owner

@eitsupi eitsupi commented Feb 4, 2026

Summary

  • BREAKING: Rename editor.autosuggestioneditor.auto_suggestions for naming consistency with auto_match
  • BREAKING: Rename completion.function_paren_check_limitcompletion.auto_paren_limit
  • BREAKING: Change editor.mode from String to typed EditorMode enum accepting only "emacs" or "vi"
  • Improve Color JSON Schema with proper oneOf typing (named string, { Fixed: N }, { Rgb: [r, g, b] })
  • Bump version to 0.2.0-rc.2
  • Update CHANGELOG with migration guide

Test plan

  • cargo build compiles
  • cargo test -p arf-console — all 538 tests pass
  • cargo clippy -p arf-console -- -D warnings — no warnings
  • cargo fmt --check — clean
  • Schema snapshot and artifacts/arf.schema.json regenerated and verified

🤖 Generated with Claude Code

eitsupi and others added 11 commits February 4, 2026 14:25
Rename the `autosuggestion` field to `auto_suggestions` for consistency
with the `auto_match` field naming convention.

BREAKING CHANGE: `editor.autosuggestion` config key renamed to `editor.auto_suggestions`

Co-Authored-By: Claude Opus 4.5 <[email protected]>
Shorten the completion config field name for better readability.

BREAKING CHANGE: `completion.function_paren_check_limit` config key renamed to `completion.auto_paren_limit`

Co-Authored-By: Claude Opus 4.5 <[email protected]>
Replace the free-form string field with a proper enum (`Emacs` | `Vi`)
for type-safe mode matching and better JSON Schema output.

BREAKING CHANGE: `editor.mode` now only accepts "emacs" or "vi" (previously accepted any string with "vim" alias)

Co-Authored-By: Claude Opus 4.5 <[email protected]>
Add a color_prop! macro that generates proper oneOf schema for Color
values (named string enum, { Fixed: N }, { Rgb: [r,g,b] }) and use it
for all color properties in ColorsConfig and SpinnerConfig schemas.

Co-Authored-By: Claude Opus 4.5 <[email protected]>
Update version, CHANGELOG, documentation, and schema artifact to
reflect the breaking config changes in this release.

Co-Authored-By: Claude Opus 4.5 <[email protected]>
- Add #[serde(alias = "vim")] to EditorMode::Vi for backward compat
- Restore "default": "Cyan" for SpinnerConfig color in JSON Schema
- Add detailed frames description with examples in SpinnerConfig schema
- Update CHANGELOG to note "vim" alias is still accepted
- Remove unused color_prop re-export from colors.rs

Co-Authored-By: Claude Opus 4.5 <[email protected]>
Merge the migration guide from [0.2.0-beta.1] into [Unreleased] and
update it to include all breaking config changes (autosuggestion,
function_paren_check_limit, reprex section reorg) with a clear
before/after comparison table.

Co-Authored-By: Claude Opus 4.5 <[email protected]>
Add a `default` variant to the color_prop! macro and re-export it for
use in experimental.rs, eliminating the duplicated color oneOf schema
definition in SpinnerConfigSchema.

Co-Authored-By: Claude Opus 4.5 <[email protected]>
Replace the duplicated oneOf definition across two macro arms with a
single make_color_schema() helper function. The macro now delegates to
the function, keeping the color variant list in one place.

Co-Authored-By: Claude Opus 4.5 <[email protected]>
Remove #[serde(alias = "vim")] from EditorMode::Vi to make a clean
breaking change consistent with the other renames. Also fix rustfmt
formatting in color_prop! macro.

Co-Authored-By: Claude Opus 4.5 <[email protected]>
Add a row to the migration table for the editor.mode value change
from "vim" to "vi", so users scanning the guide won't miss it.

Co-Authored-By: Claude Opus 4.5 <[email protected]>
@eitsupi eitsupi changed the title refactor: breaking config changes for 0.2.0-rc.2 refactor!: breaking config changes for 0.2.0-rc.2 Feb 4, 2026
@eitsupi eitsupi requested a review from Copilot February 4, 2026 15:01
Copy link
Copy Markdown

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

This PR introduces breaking configuration changes for the 0.2.0-rc.2 release, focusing on naming consistency and type safety improvements.

Changes:

  • Renamed editor.autosuggestioneditor.auto_suggestions for consistency with auto_match
  • Renamed completion.function_paren_check_limitcompletion.auto_paren_limit for clarity
  • Changed editor.mode from a String to a typed EditorMode enum that only accepts "emacs" or "vi"
  • Enhanced JSON Schema for color properties with proper oneOf typing supporting named strings, { Fixed: N }, and { Rgb: [r, g, b] } formats
  • Bumped version from 0.2.0-rc.1 to 0.2.0-rc.2 across all workspace crates

Reviewed changes

Copilot reviewed 20 out of 21 changed files in this pull request and generated no comments.

Show a summary per file
File Description
Cargo.toml Version bump to 0.2.0-rc.2
Cargo.lock Updated lockfile with new version
CHANGELOG.md Added migration guide for breaking config changes
README.md Updated example config with new field name
docs/configuration.md Updated documentation with new field name
crates/arf-console/src/config/editor.rs Introduced EditorMode enum, renamed autosuggestionauto_suggestions
crates/arf-console/src/config/mod.rs Exported EditorMode, updated tests to use enum
crates/arf-console/src/config/completion.rs Renamed function_paren_check_limitauto_paren_limit
crates/arf-console/src/config/colors.rs Added color_prop! macro for consistent color schema generation
crates/arf-console/src/config/experimental.rs Updated spinner config schema to use color macro
crates/arf-console/src/repl/mod.rs Updated to use EditorMode enum instead of string matching
crates/arf-console/src/repl/banner.rs Updated test to use EditorMode::Vi enum variant
crates/arf-console/src/completion/completer.rs Updated parameter names to use auto_paren_limit
artifacts/arf.schema.json Regenerated JSON schema with new types and field names
crates/arf-console/src/config/snapshots/*.snap Updated schema and config snapshots
crates/arf-console/src/repl/snapshots/*.snap Updated banner snapshots with new version

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

@eitsupi eitsupi merged commit ad338ac into main Feb 4, 2026
16 checks passed
@eitsupi eitsupi deleted the chore/config-breaking-changes-0.2.0-rc.2 branch February 4, 2026 15:12
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