MattMcFarland / ManiaScript.tmLanguage

Native tmLanguage Grammar for ManiaScript
2 stars 3 forks source link

Updating language grammar #2

Open Noomaok opened 5 years ago

Noomaok commented 5 years ago

Hello,

Since I am working on the vscode-maniascript extension, I am planning on updating this repository with the last modification made by Nadeo to the maniascript language. This is not really an issue but I have several questions, to make no mistake :

Thank you in advance,

Noomaok

MattMcFarland commented 5 years ago

Hey!

The first bullet-point, what are you trying to do exactly? Are you just trying to have a better understanding of what that means? or proposing a change? I'm glad to help either way

Second: Yes, we should try to have backwards compatibility at all costs, when we can't we'll need to make sure we announce our update is a breaking change.

Third: When you finish it up, I'll update the extension. If I'm not responsive, you can create a new issue stating that it needs updated.

Noomaok commented 5 years ago

For the first question, a bit of both. Nadeo has release new class and change the naming of other (for example CEditorPlugin is now named CMapEditorPlugin and SHudModule is a complete new class). So I was trying to add the changes to the language grammar.

So I looked in the different files and in the one I have mentioned, I understand that the first match pattern is compose of class names but the second one (starting with "Page|PageIsVisible|...") I have more trouble to figure out what it is.

MattMcFarland commented 5 years ago

Alright - so we need to make changes to the textmate grammar files. I believe I made all of these with help of a grammar generator (but it didnt fully work, I remember I had to make a lot of tweaks after, cant remember what those were) - I have forgotten / unlearned a lot of what I did unfortunately :(

I'm not sure which version of TM we're even using or what vscode uses. textmate docs can be viewed here: https://macromates.com/manual/en/language_grammars

From there, you'll notice they might not be showing this as YAML, but key value pairs instead with curly brackets. However, the YAML version the syntax is very similar except no curly braces and indentation matters more.

Moving forward, I would propose you learn textmate-grammar, from there you will have a much better idea on what to do. Another thing you could try is converting their document files to textmate, which is what I did (but I honestly cant remember how, I just remember it was a very painful process where I generated C headers from their doc files to textmate grammar)

hope this helps, let me know if any questions

On Thu, Feb 7, 2019 at 12:06 PM Noomaok notifications@github.com wrote:

For the first question, a bit of both. Nadeo has release new class and change the naming of other (for example CEditorPlugin is now named CMapEditorPlugin and SHudModule is a complete new class). So I was trying to add the changes to the language grammar.

So I looked in the different files and in the one I have mentioned, I understand that the first match pattern is compose of class names but the second one (starting with "Page|PageIsVisible|...") I have more trouble to figure out what it is.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/MattMcFarland/ManiaScript.tmLanguage/issues/2#issuecomment-461513427, or mute the thread https://github.com/notifications/unsubscribe-auth/AAmDuVuZddaywc6vDtLohAcbcBDR6XmKks5vLF0agaJpZM4anoo_ .

--

Matt McFarland

Software Engineer | @docodemore https://twitter.com/docodemore | LinkedIn http://www.linkedin.com/pub/matthew-mcfarland/6a/b9a/135/en | Mobile: 513.638.8685 | Office: 937.865.6800 xt: 125010

Noomaok commented 5 years ago

Ok, thank you very much for those informations.

I think I will first finish what I have planned to do on the vscode-maniascript extension before moving on to this big piece. It will take time but it's interesting.