Commit 5ee0bf4
committed
refactor(scripting): remove catalog infrastructure now that every step is a typed POCO
All 205 FileMaker script steps are IStepFactory POCOs discovered via
reflection in StepRegistry. The catalog-driven layer that preceded them
has nothing left to serve, so it comes out entirely.
Deleted:
- step-catalog-en.json embedded resource (−8,306 lines).
- StepCatalog.cs (StepDefinition, StepParam, enum converters).
- StepCatalogLoader.cs (JSON loader + ByName/ById indices).
- IStepCatalog.cs contract.
- CatalogXmlBuilder.cs (XElement synthesis from param maps).
- CatalogDisplayRenderer.cs (generic display-line renderer).
- CatalogValidator.cs (generic per-param validator).
- CatalogParamExtractor.cs (helper for reading values out of XML).
Kept as forward-compat surface:
- RawStep wraps elements whose name isn't in the registry (e.g. a step
introduced by a future FileMaker release). It's sealed in the display
editor and surfaced with a yellow-underline warning pointing users to
the XML editor; round-trip remains byte-intact.
- StepBlockPair + BlockPairRole recreated in BlockPair.cs — consumed by
StepMetadata.BlockPair for indent / pair-match logic.
Migrated to StepRegistry:
- ScriptValidator.Validate now looks up StepMetadata + ParamMetadata.
- FmScript.ToDisplayLines reads BlockPair through StepRegistry.MetadataFor.
- FmScript.Apply(Add|Update) route new steps through POCO factories.
- ScriptTextParser drops its catalog fallback; unknown names wrap in RawStep.
Other moves:
- ScriptStep.Definition property removed. Every POCO ctor now calls
base(enabled) only. 198 POCOs mechanically updated.
- CommentStep upgraded to IStepFactory.
- Unknown-step diagnostic severity flipped Error → Warning with an
'edit via the XML editor' message.1 parent 4498e97 commit 5ee0bf4
226 files changed
Lines changed: 444 additions & 9644 deletions
File tree
- src
- SharpFM.Model
- Scripting
- Catalog
- Registry
- Serialization
- Steps
- SharpFM/Scripting
- Editor
- tests
- SharpFM.Plugin.Tests
- SharpFM.Tests
- Editors
- Scripting
- Steps
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
0 commit comments