A web-based designer for creating and validating message files for the SynEdit SynGen tool. This tool provides an intuitive, visual interface to design and manage .msg files that define syntax hi[...]
- Overview
- Why SynEditMsgDesigner?
- Features
- What's Coming
- Tech Stack
- Getting Started
- Usage
- Architecture
- Troubleshooting
- Resources
- Contributing
- License
SynEditMsgDesigner is a visual tool designed to simplify the creation and editing of .msg files for the SynEdit SynGen tool. Manually writing .msg files is error-prone and tediousβthis designe[...]
- Define syntax highlighting rules visually
- See real-time previews of your configurations
- Export production-ready
.msgfiles instantly - Validate and modify existing files
Perfect for developers creating custom syntax highlighters for the SynEdit component.
Creating SynEdit .msg files traditionally requires:
- Manual text editing with complex syntax rules
- Trial-and-error testing to see how rules render
- Understanding the undocumented
.msgfile format - Tedious copy-paste workflows
SynEditMsgDesigner provides a visual, interactive workflow that abstracts away the complexity:
Traditional Way: β Edit text β Test β Validate β Debug
SynEditMsgDesigner Way: β
Design UI β Preview β Export β Done
- Interactive Web-Based Designer - No installation required; run directly in your browser
- Real-Time Preview - See changes instantly as you design highlighting rules
- Visual Rule Configuration - Intuitive UI for creating keywords, comments, strings, and custom rules
- Export Capabilities - Generate production-ready
.msgfiles with one click - Browser-Based - Works on Windows, macOS, and Linux
- No Dependencies - Use online without any local setup
- Reverse Parser - Automatically extract highlighting rules from existing
SynHighlighter.pasfiles - File Validation - Load and validate existing
.msgfiles to ensure correctness - Template Library - Pre-built highlighting profiles for popular languages
- A new SynGen Delphi project.
- Frontend: HTML5, CSS3, JavaScript (Vanilla)
- Architecture: Modular, client-side only (no backend required)
- Build: Ready to deploy as static files
Visit the live demo to start using the designer immediately. No installation or local setup needed.
- Node.js 14+ and npm
- Git
- A modern web browser (Chrome, Firefox, Safari, or Edge)
-
Clone the repository:
git clone https://github.com/GrooverMD/SynEditMsgDesigner.git cd SynEditMsgDesigner -
Install dependencies:
npm install
-
Start the development server:
npm start
-
Open your browser:
- The app will typically open at
http://localhost:3000 - If that port is in use, check the terminal for the actual URL
- The app will typically open at
-
Build for production:
npm run build
- Open the Designer - Visit the live demo or run locally
- Create a New Project - Start with a blank configuration
- Add Highlighting Rules - Define rules for:
- Keywords - Reserved words (if, else, for, etc.)
- Comments - Single-line and block comments
- Strings - String literals and quotes
- Numbers - Numeric literals
- Operators - Custom operators and symbols
- Preview in Real-Time - See your highlighting rules applied instantly
- Export Your File - Download the
.msgfile and integrate it into your SynEdit installation
See the live demo for an interactive walkthrough of creating a custom syntax highlighter.
The project is built with a focus on simplicity and usability:
- Frontend - HTML5/CSS3/JavaScript web interface for intuitive design
- Core Logic - Parser and validator for
.msgfile format specifications - Export Engine - Converts visual configurations to standard
.msgformat - Client-Side - All processing happens in your browser; no server required
SynEditMsgDesigner/
βββ index.html # Main application entry point
βββ msg/
β βββ Basic.msg # A basic .msg file
β βββ Asm64.msg # An example Asm64 .msg file. Not complete.
βββ css/
β βββ styles.css # Application styling
βββ js/
β βββ app.js # Main application logic
β βββ parser.js # .msg file parser
β βββ exporter.js # Export engine
βββ README.md # This file
# Use a different port
npm start -- --port 3001# Clear npm cache and reinstall
rm -rf node_modules package-lock.json
npm install- Ensure your browser allows downloads
- Check that you have write permissions in your download folder
- Try a different browser if issues persist
- Verify the file format matches SynEdit specifications
- Check browser console for error messages (F12 β Console tab)
- Try exporting a new file and comparing the format
- SynEdit Component Docs - Learn more about the SynEdit component
- .msg File Format - Documentation coming soon
- Open an Issue - Report bugs or request features
- GitHub Discussions - Ask questions and share ideas
Contributions are welcome! If you'd like to help improve SynEditMsgDesigner:
- Fork the repository - Click the Fork button on GitHub
- Create a feature branch:
git checkout -b feature/amazing-feature
- Commit your changes:
git commit -m 'Add amazing feature' - Push to the branch:
git push origin feature/amazing-feature
- Open a Pull Request - Describe your changes clearly
- Keep code modular and well-commented
- Test your changes in multiple browsers
- Update documentation if adding new features
This project is licensed under the MIT License - see the LICENSE file for details.
Questions or Feedback? Feel free to:
- π¬ Open an Issue
- π‘ Start a Discussion
- π§ Reach out via GitHub
Enjoying the tool? Give it a β on GitHub!