Skip to content

Resolve merge conflicts with master; rename indentident in createCaseMatchClause#261

Merged
7sharp9 merged 2 commits intorepo-assist/fix-issue-244-resolve-case-ident-helper-6b915e96232c0348from
copilot/sub-pr-245
Mar 14, 2026
Merged

Resolve merge conflicts with master; rename indentident in createCaseMatchClause#261
7sharp9 merged 2 commits intorepo-assist/fix-issue-244-resolve-case-ident-helper-6b915e96232c0348from
copilot/sub-pr-245

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Mar 11, 2026

The PR branch had diverged from master, which had already merged resolveCaseIdent into GeneratorHelpers (via a parallel fix) and added a generateModules helper — causing a conflict in GeneratorHelpers.fs.

Changes

  • GeneratorHelpers.fs — resolved conflict by removing the duplicate resolveCaseIdent that appeared at the bottom of our branch; retained master's generateModules helper and the canonical resolveCaseIdent placement at the top
  • DUCasesGenerator.fs — renamed misleading indentident in createCaseMatchClause (the binding holds a SynLongIdent, not indentation):
    // Before
    let indent = GeneratorHelpers.resolveCaseIdent requiresQualifiedAccess parent id
    let p = SynPat.CreateLongIdent(indent, args)
    
    // After
    let ident = GeneratorHelpers.resolveCaseIdent requiresQualifiedAccess parent id
    let p = SynPat.CreateLongIdent(ident, args)

✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.

…CaseMatchClause

Co-authored-by: 7sharp9 <588746+7sharp9@users.noreply.github.com>
Copilot AI changed the title [WIP] Refactor: move resolveCaseIdent to GeneratorHelpers Resolve merge conflicts with master; rename indentident in createCaseMatchClause Mar 11, 2026
@7sharp9 7sharp9 marked this pull request as ready for review March 14, 2026 16:55
Copilot AI review requested due to automatic review settings March 14, 2026 16:55
@7sharp9 7sharp9 merged commit d1dcb76 into repo-assist/fix-issue-244-resolve-case-ident-helper-6b915e96232c0348 Mar 14, 2026
@7sharp9 7sharp9 deleted the copilot/sub-pr-245 branch March 14, 2026 16:55
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

Resolves merge conflicts with master, consolidates shared generator boilerplate into a helper, and applies small naming/refactor/documentation updates across the repo.

Changes:

  • Consolidated common generator pipeline logic into GeneratorHelpers.generateModules and updated FieldsGenerator/DUCasesGenerator to use it.
  • Refactored Ast type extraction helpers to reduce duplication via a shared filterTypes.
  • Updated release workflow version validation, docs/changelog, and bumped Expecto in paket.lock.

Reviewed changes

Copilot reviewed 7 out of 8 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
src/Myriad.Plugins/GeneratorHelpers.fs Resolves conflict, centralizes resolveCaseIdent, adds generateModules helper
src/Myriad.Plugins/FieldsGenerator.fs Replaces local pipeline with GeneratorHelpers.generateModules
src/Myriad.Plugins/DUCasesGenerator.fs Renames indentident; switches to generateModules
src/Myriad.Core/Ast.fs Deduplicates record/DU filtering logic with filterTypes
paket.lock Bumps Expecto to 10.2.3
Contributing.md Updates build steps to include dotnet paket restore and build via build.proj
CHANGELOG.md Adds Unreleased entries describing recent fixes
.github/workflows/publish.yml Tightens tag trigger pattern; adds version validation step

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


module internal GeneratorHelpers =

/// Resolves the fully-qualified SynLongIdent for a DU case identifier.
Comment on lines +37 to +39
# Require at least three numeric segments (X.Y.Z), optionally followed by a pre-release suffix.
# This prevents 2-segment tags like v0.85 (which would publish as 0.85.0 instead of 0.8.5).
if ! echo "$VERSION" | grep -qE '^[0-9]+\.[0-9]+\.[0-9]+'; then
Comment on lines +46 to +48
if [ "$VERSION" != "$EXPECTED" ] && ! echo "$VERSION" | grep -q "^${EXPECTED}-"; then
echo "::error::Tag version '$VERSION' does not match VersionPrefix '$EXPECTED' in Directory.Build.props. Update Directory.Build.props before tagging."
exit 1
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.

3 participants