feat: add plain-text script editor with FmScript object model#145
Merged
feat: add plain-text script editor with FmScript object model#145
Conversation
…onversion Add a Script tab to the clip editor that renders FileMaker clipboard XML as human-readable script syntax and converts edits back to valid XML. This enables authoring scripts without touching raw XML. Core converter (ported from agentic-fm, Apache 2.0): - Step catalog with all 206 FM script steps loaded from embedded JSON - Generic renderer handles any step via catalog metadata - Specialized renderers for Set Variable, Set Field, Perform Script, Go to Layout, Go to Record, Show Custom Dialog, and control flow - Multi-line calculation support with bracket-aware line merging - Pretty-printed XML output on HR-to-XML conversion Editor features: - Custom TextMate grammar for FM script syntax highlighting - Autocomplete for step names, param labels, and valid enum/boolean values - Validation with squiggly underlines (unknown steps, invalid values, unmatched block pairs) and hover tooltips - Bracket matching for [ ] pairs - Multi-line statement background highlighting - Tab-switch sync between XML and Script views Test suite: 86 xUnit tests covering catalog loading, line parsing, XML-to-HR, HR-to-XML, round-trips, validation, and completions.
…M.Scripting namespace Restructure repository to standard src/tests layout. Reorganize the scripting subsystem from Core/ScriptConverter into SharpFM.Scripting with Model, Catalog, Handlers, Parsing, Validation, and Editor sub-namespaces. Update CI workflows, VS Code configs, and project references for new paths.
…e ParsedStep file
…e window on demand
…y, Ctrl+Shift+X xml)
6 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Test plan
dotnet test— 93/93