fortify-schema
Version:
A modern TypeScript validation library designed around familiar interface syntax and powerful conditional validation. Experience schema validation that feels natural to TypeScript developers while unlocking advanced runtime validation capabilities.
31 lines • 1.48 kB
Markdown
Phase 1: Core Extension Structure
Create main extension entry point (src/extension.ts)
Set up language configuration (language-configuration.json)
Create basic TextMate grammar (syntaxes/fortify-embedded.tmGrammar.json)
Create snippets for common patterns (snippets/fortify-snippets.json)
Phase 2: Syntax Highlighting
String Literals: Highlight Fortify schema strings in TypeScript
Basic Types: Color basic types like string, number, boolean
Format Types: Special colors for email, url, uuid, etc.
Constraints: Highlight constraint syntax (min,max)
Optional Markers: Highlight ? suffix
Array Notation: Highlight [] and array constraints
Union Operators: Highlight | in union types
Constants: Highlight =value syntax
Phase 3: Conditional Syntax Highlighting
When Keyword: Highlight when keyword
Conditional Operators: =, !=, >, >=, <, <=, ~, !~
Conditional Then: Highlight *? operator
Logical Operators: &&, ||
Method Calls: .in(), .contains(), .exists, etc.
Field Access: Highlight field paths like user.profile.name
Phase 4: Advanced Features
Autocompletion: Provide IntelliSense for schema types
Hover Information: Show type information on hover
Error Detection: Basic validation of schema syntax
Snippets: Quick insertion of common patterns
Phase 5: Configuration & Polish
Color Customization: Allow users to customize colors
Settings: Enable/disable features
Documentation: Add comprehensive README
Testing: Create test files to verify highlighting