Skip to content

Ignore lines starting with #: (RFC-1337) - #20212

Merged
T-Gro merged 13 commits into
dotnet:mainfrom
Martin521:ignore-hash-colon
Aug 11, 2026
Merged

Ignore lines starting with #: (RFC-1337)#20212
T-Gro merged 13 commits into
dotnet:mainfrom
Martin521:ignore-hash-colon

Conversation

@Martin521

Copy link
Copy Markdown
Contributor

Description

Implements RFC-1337

Checklist

  • Test cases added
  • Release notes entry updated:

@github-actions

github-actions Bot commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

❗ Release notes required

You can open this PR in browser to add release notes: open in github.dev


✅ Found changes and release notes in following paths:

Change path Release notes path Description
`src/Compiler` docs/release-notes/.FSharp.Compiler.Service/11.0.100.md

@github-actions github-actions Bot added the ⚠️ Affects-Bootstrap Tooling check: PR touches compiler bootstrap chain label Aug 5, 2026
@github-actions

This comment has been minimized.

@github-actions github-actions Bot added the AI-Tooling-Check-Scanned-Clean Tooling check: diff analyzed, no interesting infrastructure files label Aug 6, 2026
@github-actions

github-actions Bot commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

🔍 Tooling Safety Check — Affects-Bootstrap
Affects-Bootstrap: modifies lex.fsl (lexer processed by FsLex during bootstrap)

Generated by PR Tooling Safety Check · opus46 4.1M ·

Comment thread src/Compiler/lex.fsl
Comment thread src/Compiler/lex.fsl Outdated
@T-Gro T-Gro added the AI-reviewed PR reviewed by AI review council label Aug 10, 2026
@T-Gro
T-Gro self-requested a review August 10, 2026 09:08
@github-project-automation github-project-automation Bot moved this from New to In Progress in F# Compiler and Tooling Aug 11, 2026
@T-Gro
T-Gro merged commit 8111bff into dotnet:main Aug 11, 2026
48 checks passed
@T-Gro

T-Gro commented Aug 11, 2026

Copy link
Copy Markdown
Member

What else would be needed for lightweight tooling accessibility?
A dedicated package for quick lexing of F# code and returning content of the ignored lines ?

( Initial experiments can use hand rolled text search, but to fully cover the language grammar a dedicated scanner for those ignored directives would be more robust)

@Martin521

Copy link
Copy Markdown
Contributor Author

@T-Gro

I am not sure what exactly you are after.

For "dotnet run"-like behavior, you need to

  1. parse the directives
  2. create a temporary / hidden project file
  3. track the (implicit and explicit) dependencies (for cache invalidation)
  4. programmatically call msbuild for the "virtual project file"
  5. deal with options, file i/o, caching, errors, cleanup, orchestration

These steps / layers are all dealt with in the runfs prototype, nicely separated into different source files.
Tricky are steps 2 - 4, because they contain details and workarounds that depend on the sdk version (especially msbuild and msbuild targets). That's why I call runfs a prototype. For quality tooling, it would have to be part of the sdk.

But for experimentation, the runfs code base should be a good starting point.

However, I might still misunderstand your goals.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

⚠️ Affects-Bootstrap Tooling check: PR touches compiler bootstrap chain AI-reviewed PR reviewed by AI review council AI-Tooling-Check-Scanned-Clean Tooling check: diff analyzed, no interesting infrastructure files

Projects

Archived in project

Development

Successfully merging this pull request may close these issues.

2 participants