Skip to content

feat(semantic): recognise the Pure proof-script and ML-command vocabulary - #167

Merged
Arthur742Ramos merged 1 commit into
mainfrom
arthur742ramos/vocab-proof-ml-commands
Jun 11, 2026
Merged

feat(semantic): recognise the Pure proof-script and ML-command vocabulary#167
Arthur742Ramos merged 1 commit into
mainfrom
arthur742ramos/vocab-proof-ml-commands

Conversation

@Arthur742Ramos

Copy link
Copy Markdown
Owner

What

Completes recognition of the Isabelle2025-2 Pure outer-syntax command set by
adding the apply-style goal-management commands defer, prefer, back,
and the Isabelle/ML + Standard ML commands ML_command, ML_export,
ML_file_debug / ML_file_no_debug, SML_file / SML_file_debug /
SML_file_no_debug / SML_import / SML_export.

Why

The final faithfulness gap in the Pure command vocabulary. Verified against the
bundled Isabelle2025-2 Pure.thy keyword table.

How

Across the three layers kept in parity: the TS outer-syntax table, the TextMate
grammar keywords-proof + keywords-ml alternations (grammar drift test
enforces TS<->grammar parity), and the Scala CommandKeywords set.

How tested

  • npm run check — 1225 tests pass.
  • npm run bundle — clean.
  • npm run backend:test — 134 Scala tests pass.

…lary

Completes recognition of the Isabelle2025-2 Pure outer-syntax command set by
adding the apply-style goal-management commands defer, prefer, back, and the
Isabelle/ML and Standard ML commands ML_command, ML_export, ML_file_debug,
ML_file_no_debug, SML_file, SML_file_debug, SML_file_no_debug, SML_import,
SML_export.

Added across the three layers kept in parity: the TS outer-syntax table, the
TextMate grammar proof + ml alternations (enforced by the grammar drift test),
and the Scala backend CommandKeywords set.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings June 11, 2026 04:19

Copilot AI left a comment

Copy link
Copy Markdown

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 completes offline recognition of Isabelle2025-2’s remaining Pure outer-syntax command vocabulary by extending the command keyword sets used for highlighting/hover parsing (TypeScript), TextMate tokenization, and the Scala backend command-span parser.

Changes:

  • Add apply-style goal-management proof commands: defer, prefer, back.
  • Add Isabelle/ML + Standard ML command keywords: ML_command, ML_export, ML_file_debug, ML_file_no_debug, SML_file, SML_file_debug, SML_file_no_debug, SML_import, SML_export.
  • Update changelog entry documenting the completed Pure command coverage.

Reviewed changes

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

File Description
syntaxes/isabelle.tmLanguage.json Extends TextMate keyword regexes for proof and ML/SML commands.
src/semantic/isabelleSyntax.ts Extends the offline command table (hover/semantic parsing) with the new Pure commands.
backend/src/main/scala/dev/isabelle/vscode/server/DocumentModel.scala Extends Scala CommandKeywords so backend command-span parsing recognizes the new commands.
CHANGELOG.md Documents the newly recognized Pure proof/ML command vocabulary.

@Arthur742Ramos
Arthur742Ramos merged commit c64d751 into main Jun 11, 2026
3 checks passed
@Arthur742Ramos
Arthur742Ramos deleted the arthur742ramos/vocab-proof-ml-commands branch June 11, 2026 04:23
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