xmlparsingsublimetext3syntax-highlightingultraedit

Sublime Text 3: Convert syntax def from uew format to sublime text


I have a wordfiles for syntax highlighting for Kawasaki's proprietary robot language AS.

Unfortunately I have these definitions in UltraEdits weird format, uew. See it here http://www.ultraedit.com/downloads/extras/wordfiles.html

Now, since these lists are huge I am looking for a way to convert uew to either xml, yaml, tmlanguage or sublime-syntax.

I guess none of these exist - where can I get a definition of uew, so that I can create a syntax file for sublime ?


Solution

  • Unfortunately, I think you're going to have to write your syntax definition by hand. I took a look at a couple .uew files at the link you provided, and while it might be possible to write a parser to convert them to XML or YAML, that would take way more time than it's worth. What I would suggest is to install PackageDev and use the .YAML-tmLanguage format to write your own syntax definition.

    Read through the README for basic info on how to use the package, and you can also find more information in the Sublime Unofficial Docs here. As mentioned in the README, you can take a look at the YAML-tmLanguge syntax def itself for ideas. You may also want to check out the YAML version of my Python Improved syntax def for Python. The regexes use the Oniguruma engine. Most of them should work using Regex101, but to be certain I'd also use Rubular with Ruby version 1.9 for testing.

    Finally, if you'd like some really specific syntax highlighting of the regexes in your YAML-tmLanguage files, you may want to check out my Neon Color Scheme. I've customized it for a lot of languages, and it works particularly well in YAML-tmLanguage files. Just a suggestion, of course.

    If you're using the most recent version of ST3, you may want to consider using the new sublime-syntax format, but the downsides are that it only works with recent versions of ST3, and (in my experience, at least), it's a little more difficult to pick up than YAML-tmLanguage. YMMV, of course.

    Good luck!