Resource Strings Syntax Support for Sublime Text
• 2 minute read
I published a package which provides syntax definitions for resource string files in Sublime Text.
While I try to accomplish most of my work in Xcode I hit its limits sometimes. Also some concepts are simply more convenient in other apps. Especially in case of simple file and folder based text editing and navigation many popular editors do a better job.
Even before I started to focus on the Apple technologies in my career I used some heavy IDE like JetBrains PhpStorm in conjunction with a lightweight sidekick like Atom. I have tried a lot of those sidekicks over the years and there always was something I was not content with.
So just a year ago I got back to Sublime Text which meanwhile was released as major version 4 since I have been using it as version 2. I wanted to give it another try. It appears like the a good portion of the user base and community has become silent or moved on to other apps.
I am working in multiple Xcode projects simultaneously or better said in multiple clones of the same repository with different configurations. This is a necessity due to the nature of the project and a topic for another blog post to explain some day. It is quicker to navigate and edit those (partially redundant) files in Sublime Text. Though for some syntax the definitions and thus highlighting was not supported. A good opportunity to get back into Sublime Text syntax definitions. The regular expressions got me hooked like a pensioner with a crossword puzzle.
One of the results is a definition for the string resource files as they are used on the Apple platform. Originally I mistake them as something Xcode specific, but they actually are not exclusive to development with Xcode.
To me even basic coloring of code files is a huge relief and convenience. It eases reading much and accelerates the visual skimming of contents.
Meanwhile I learned a lot already from another package for Xcode project files (which actually are just old ASCII property lists as I have learned by accident today). I want to apply those learnings to this package in the future. For the time being the package “does the job” sufficiently. Anyway pull requests but also simple issue reports are very much welcome.