Hi again,
I had a chance to try out your syntax highlighting and code completions. Thanks again for sharing. I wil try to make my reply short and to the point 
I should probably note I am running the latest Sublime Text 3 beta on OS X 10.11 and have not had a chance to test on Windows, but Sublime Text is pretty rock solid across Windows, Mac and Linux, so we should not be seeing any discrepancies.
First of all thank you for including the .YAML-tmLanguage file. I had previously tried modifying various XML based .tmLanguage files to fit my needs and also tried creating one from JSON, but neither were very successful. Reading your YAML file made everything click. Thanks.
The syntax highlighting works fine except for some commands. Some have two coloured highlighting, such as IGetFlags, where IGet is one colour and Flags is another colour. There are a whole lot of IGet and Var commands like that but also a command like LoopContinue, where Loop and Continue are highlighted differently. Not sure what is going on but it smells of regular expression.
I had a problem with the suggested code completion popup not appearing and could see you have defined the scope in most of the files (maybe all) as text.zscript. I believe you need to set the base scope to source for the code completion popup to appear. Replacing all instances of text.zscript with source.zscript gave me my beloved code completion popup.
In regards to your code completions it was cool to see how you scraped the ZBrush ZScript Command Reference using a python script. Very nice
But there is an easier way to get the full list of current ZScript commands. If you start ZBrush and open the ZScript palette you can find the Export Commands button at the bottom, which exports the full list of ZScript commands and parameters into a .txt file file. You will still need to regular expression your way through the command names and parameters but the list is up to date and easier to parse. If you load the file into Sublime Text you can skim it for the aforementioned two toned syntax highlights.
I see a couple of problems with how you are generating .sublime-completions from the ZBrush ZScript Command Reference.
-
You end up with multiple definitions for the same command. One for the actual command and one or more for any examples given.
-
The completions are verbatim and contain superfluous descriptions. I am not criticising the documentation nor your scraping technique, but in my humble opinion there is a need for some human curation. For example, typing ibutton and hitting the tab key gives me a wall of text, not succinct parameter descriptions. When you read documentation you want the full story but not very often while coding.
-
No tabbing between parameters which is a must have, not a nice to have!
This, as I am sure you know, can be solved by including matched cases into the content property of the completion definition.
For example, the following IButton code completion will format the command across multiple lines with a tab indent added to the commands section. It also allows you to press tab to switch between parameters selecting the text as you traverse the command. Seeing as the parameters in this case are comments they can be ignored or replaced, the ZScript will still run.
{“scope”: “source.zscript”,
“completions”: [
{
“trigger”: “ibu .”,
“contents”: “[IButton, “ZPlugin:${1:}”, “${2:POPUP INFO}”,
${3://COMMANDS WHEN PRESSED}
, ${4:/DISABLED ?/}, ${5:/BUTTON WIDTH/}, , ${6:/BUTTON ICON/}, ${7:/BUTTON HEIGHT/}]”
}
]
}
Which results in a much more readable and editable piece of ZScript, IMO:

One last thing. Thank you for the work you have put in so far. I hope you do not think I am criticising you. I am simply trying to encourage you to go further. If you agree with the human curation part I am more than willing to lend a hand although I do no not think every single zscript command deserves nor needs a full code completion.
I am slowly but surely writing my own ZScript documentation for Dash which integrates nicely with Sublime Text. You can put the cursor on the command you want to look up and press the shortcut key. Dash will open and show the relevant command. That is what I would prefer to have rather than every single command having a .sublime-completion. But that is maybe just me.
In any case I hope you continue and please let me know if I can help a little.