andik / IDL-Syntax

simple IDL (Microsoft midl, Mozilla WebIDL) syntax highlighting for Sublime Text
MIT License
11 stars 8 forks source link

Convert to .sublime-syntax? #7

Closed queengooborg closed 4 years ago

queengooborg commented 4 years ago

It's quite nice to have a syntax definition format that works across multiple editors, but it appears that support for the .tmLanguage syntax is being phased out in editors (Atom mentions they "intend to phase [TextMate grammar definitions] out over time," and Sublime Text prefers .sublime-syntax files -- VSCode still uses .tmLanguage though).

If the scope is just Sublime Text, and not other editors, I'm wondering: would it be more reasonable to convert from .tmLanguage to .sublime-syntax? Sublime Text now has a quick convert function (Tools > Developer > New Syntax from ***.tmLanguage...), though a few of the patterns (#angle_brackets, #special_blocks, and #constructor) are undefined so the converter crashes.

andik commented 4 years ago

Sorry, If the converter works, I'm happy to add this to the repository, but IDL-Syntax is based on Sublime's old C-Syntax and this is fairly complex. Sublime-Syntax has a push-pop Model for parsing nested structures, while tmLanguage is based on Nested Patterns. I'm pretty sure, that this would need a full re-creation of IDL-Syntax to work properly. And I don't have time/interest to invest into this.

queengooborg commented 4 years ago

That's alright! I was primarily asking because I wanted to contribute to improve the WebIDL syntax highlighting, and .sublime-syntax looked far friendlier to work with. Alas, since there are numerous things in MS IDL that are not in WebIDL, I ended up starting fresh and making my own syntax highlighting for WebIDL specifically.

(The converter works perfectly by the way, once those broken references to the patterns I mentioned above are removed!)

andik commented 4 years ago

Your package looks really good. I added a link to my Readme. Thank you for mentioning the converter, I didn't know. Maybe I'll have a look at it to convert my MSIDL sometimes.