KevinBatdorf / code-block-pro

A Gutenberg code block with syntax highlighting powered by VS Code
https://code-block-pro.com
132 stars 10 forks source link

Could you add IBM i RPG ile, Control Language ile, DDS, Uim and CMD langages? #248

Open ibmiiste opened 1 year ago

ibmiiste commented 1 year ago

Hi, I am a developper on that langages, could you add them to your plugin.

RPG ile https://www.ibm.com/docs/en/i/7.5?topic=rpg-ile-reference

Control langage https://www.ibm.com/docs/en/i/7.5?topic=programming-control-language

DDS and UIM languages https://public.dhe.ibm.com/systems/power/docs/systemi/v6r1/en_US/sc415715.pdf

CMD language https://www.ibm.com/docs/en/i/7.5?topic=commands-cl-command-definition-statements Regards, Olivier.

KevinBatdorf commented 1 year ago

I can, but they might take some time to get merged in. I need to find a suitable textmate file for each, then submit it to the library upstream. Do you use an extension in your editor to get the proper highlighting?

I maybe found the RPG one. Is this it? https://github.com/NielsLiisberg/RPG-for-SublimeText

But I coulnd't find the others with a quick search.

ibmiiste commented 1 year ago

Hi,

There is IBMi Languages for Vscode used by Code for IBM i.

Features: Syntax highlighting for RPG III and RPG/400 - H,F,E,L,I,C,O specs Syntax highlighting for Control Language (CL) Syntax highlighting for Command Definition (CMD) Syntax highlighting for UIM Panel Group (PNLGRP) Syntax highlighting for DDS files - physical, logical, display, printer, and ICF Syntax highlighting for Machine Interface (MI) Syntax highlighting for RPGLE fixed - H,F,D,I,C,O,P specs Syntax highlighting for RPGLE free Syntax highlighting for embedded SQL in SQLRPG and SQLRPGLE Support for a mix of RPGLE free and fixed format Support for binder language Support for DB2 SQL keywords in embedded SQL

Is this suits you?

Regards,

Olivier.

ibmiiste commented 1 year ago

Hi,

Do you need some more information?

Regards,

Olivier.

KevinBatdorf commented 1 year ago

Sorry, just been busy I guess. These files actually look ok. Would it be possible for you to provide an idiomatic code sample for each one?

When I add a grammar upstream they have these guidelines to follow, which include adding a sample

In /packages/shiki/samples/, add a code sample file .sample for your language. A sample should include a variety of language syntaxes and succinctly capture the idiosyncrasy of a language. Format requirements:

ibmiiste commented 1 year ago

No problem, I can do that.

ibmiiste commented 1 year ago

Hi,

Here is the first one bnd.sample.

bnd.sample.txt

KevinBatdorf commented 1 year ago

I found this list actually. I'll use these: https://github.com/barrettotte/vscode-ibmi-languages/tree/master/tests/general

KevinBatdorf commented 1 year ago

Opened a PR here: https://github.com/shikijs/shiki/pull/526

ibmiiste commented 1 year ago

I found this list actually. I'll use these: https://github.com/barrettotte/vscode-ibmi-languages/tree/master/tests/general

Hi,

Yes you can use them.

do not hesite to ask me some question if needed.

Regards,

Olivier.

ibmiiste commented 1 year ago

Hi,

Do you have any news? I saw an issue on the pull request, do you need some help from my skill field?

Regards,

KevinBatdorf commented 1 year ago

It's a matter of waiting for them to merge it and tag a release. You could comment on the PR to show your interest in getting it merged. Not sure if it would help though.

If there isnt activity for awhile I may fork the project and add them, but that gets a bit complicated to maintain the fork. It's an option though.

ibmiiste commented 8 months ago

Hi,

there ie an answer from https://github.com/shikijs/shiki/pull/526, it seems that they changed the process to add a request.

Regards,

Olivier.

KevinBatdorf commented 8 months ago

Thanks for following up. Yeah I saw they moved to v1.0 and I want to update it. It's not going to be a trivial task though and given the way Gutenberg is structured, I may have to include both v1.0 and the the last sub 1.0 version to avoid invalidating everyone's code.

I also want to give a good upgrade path, but that will involve writing a complex tool to process all the blocks in the browser (the renderer requires webassembly).

I plan to do all this "soon" but I don't want to commit to a timeline because I can't predict my schedule (I work full time as well). It's near the front of my todo list though.

ibmiiste commented 3 months ago

Hi,

Do you have any news about your schedule :-)?

Regards,

Olivier.

KevinBatdorf commented 3 months ago

It's been on ym mind lately. I have to rewrite the whole thing to support adding new languages. I don't want to give a time frame though but I'll start putting some energy into it. Thanks for following up though.