Skip to content

Commit

Permalink
Merge Milestone V0.5.5 issues (PR #56)
Browse files Browse the repository at this point in the history
V0.5.5
  • Loading branch information
barrettotte authored Sep 24, 2020
2 parents a68b04c + 013f1ec commit c943a54
Show file tree
Hide file tree
Showing 17 changed files with 1,012 additions and 92 deletions.
1 change: 1 addition & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
*.py linguist-detectable=false
*.clp linguist-detectable=false
*.json linguist-detectable=true
91 changes: 91 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,91 @@
# Changelog

---
### 0.5.5
- Fix bug with ```*n``` in RPGLE prototypes [41](https://github.com/barrettotte/vscode-ibmi-languages/issues/41)
- Fix bug with RPGLE I spec highlighting [48](https://github.com/barrettotte/vscode-ibmi-languages/issues/48)
- Add missing ```to``` keyword in RPGLE [49](https://github.com/barrettotte/vscode-ibmi-languages/issues/49)
- Add DB2 SQL grammar for embedded SQL [54](https://github.com/barrettotte/vscode-ibmi-languages/issues/54)
- Fix bug with RPGLE style comment in embedded SQL [55](https://github.com/barrettotte/vscode-ibmi-languages/issues/55)


---
### 0.5.4
- Add binder language support [43](https://github.com/barrettotte/vscode-ibmi-languages/issues/43)
- Fix bug with RPG C spec comments [40](https://github.com/barrettotte/vscode-ibmi-languages/issues/40)
- Fix bug with RPGLE ```/if``` [33](https://github.com/barrettotte/vscode-ibmi-languages/issues/33)
- Fix bug with RPGLE hex literals [42](https://github.com/barrettotte/vscode-ibmi-languages/issues/42)
- Fix bug with SQLRPGLE SQL style comment at end of statement [38](https://github.com/barrettotte/vscode-ibmi-languages/issues/38)
- Fix bug with RPG compile time arrays [44](https://github.com/barrettotte/vscode-ibmi-languages/issues/44)
- Fix bug with RPGLE compile time arrays [46](https://github.com/barrettotte/vscode-ibmi-languages/issues/46)
- Fix bug with fixed format RPGLE and RPG comments [45](https://github.com/barrettotte/vscode-ibmi-languages/issues/45)


---
### 0.5.3
- Fix bug with embedded SQL comments [30](https://github.com/barrettotte/vscode-ibmi-languages/issues/30)
- Fix bug with fixed format RPGLE comments in RPGLE free [29](https://github.com/barrettotte/vscode-ibmi-languages/issues/29)
- Fix bug with RPGLE fixed format comments [34](https://github.com/barrettotte/vscode-ibmi-languages/issues/34)
- Fix bug with physical file highlighting [36](https://github.com/barrettotte/vscode-ibmi-languages/issues/36)
- Fix bug with display file highlighting [35](https://github.com/barrettotte/vscode-ibmi-languages/issues/35)
- Fix bug with RPGLE ```ENDFOR``` highlighting [32](https://github.com/barrettotte/vscode-ibmi-languages/issues/32)
- Add '#' to identifier regex [31](https://github.com/barrettotte/vscode-ibmi-languages/issues/31)


---
### 0.5.2
- Fix bug with RPG fixed format [24](https://github.com/barrettotte/vscode-ibmi-languages/issues/24)
- Fix bug with multiline strings in DDS [26](https://github.com/barrettotte/vscode-ibmi-languages/issues/26)
- Fix bug with highlighting ```*ON, *OFF``` [25](https://github.com/barrettotte/vscode-ibmi-languages/issues/25)
- Add '#' to embedded SQL identifier regex [27](https://github.com/barrettotte/vscode-ibmi-languages/issues/27)
- Improve highlighting for RPGLE all free [23](https://github.com/barrettotte/vscode-ibmi-languages/issues/23)


---
### 0.5.1
- Fix bug with RPGLE full free highlighting [19](https://github.com/barrettotte/vscode-ibmi-languages/issues/19)
- Fix bug with RPGLE free precompiler statements [15](https://github.com/barrettotte/vscode-ibmi-languages/issues/15)
- Fix bug with RPGLE free inline comments [20](https://github.com/barrettotte/vscode-ibmi-languages/issues/20)
- Fix bug with MI label definition highlighting [13](https://github.com/barrettotte/vscode-ibmi-languages/issues/13)
- Add ```CMP``` value highlighting to DSPF and LF [14](https://github.com/barrettotte/vscode-ibmi-languages/issues/14)
- Fix bug with ```H/``` in RPGLE and RPG [17](https://github.com/barrettotte/vscode-ibmi-languages/issues/17)
- Fix bug with RPGLE fixed format comments [18](https://github.com/barrettotte/vscode-ibmi-languages/issues/18)


---
### 0.5.0 - CL Label Highlighting, DSPF constants, and misc RPGLE fixes
- Extension icon and README fixes
- RPG/400: Change precompiler commands to highlight as keywords
- RPGLE: Change precompiler commands to highlight as keywords
- RPGLE: False definition keyword highlighting fixed -> more robust regex
- RPGLE: Fixed up precompiler conditionals /IF,/ELSEIF,/ELSE,/ENDIF
- CL: Label definition highlighting
- DSPF: DSPF parms highlighted as constants for COMP, DSPATR, CHECK, and COLOR
- DSPF: Tokens starting with '*' now highlighted as constants


---
### 0.4.0 - RPGLE Fixed and Free Format with Embedded SQL
- RPGLE: Added fixed format highlighting
- RPGLE: Added free format highlighting
- RPGLE: Added basic embedded SQL highlighting
- RPG/400: Added basic embedded SQL highlighting
- RPG/400: Fixed a handful of highlighting errors I missed


--
## 0.3.0 - DSPF, ICFF, basic MI, and more fixes
- Misc regular expression fixes for RPG/400 and CL
- Display and ICF DDS file highlighting
- Basic Machine Interface (MI) highlighting


---
### 0.2.0 - Physical/Logical files and misc fixes
- Logical and physical file highlighting
- Misc regular expression fixes to RPG/400


---
### 0.1.0 - Base extension
- Base RPG/400 and CL highlighting
81 changes: 23 additions & 58 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,18 +12,17 @@ Somewhat decent syntax highlighting for IBMi languages such as RPG, CL, DDS, MI,
I made this extension because I do a lot more reading than writing with IBMi languages at work and I always have VS Code open.
I also wanted to learn how to make a simple language extension for VS Code and get better with regular expressions.

I respect the legacy of the green screen, but sometimes I need some syntax highlighting in my life; my brain is too small.
Pretty much all I did was crawl through various IBM documentation on my lunch breaks and throw some regular expressions in here when I got the chance.
The regex I made probably isn't too efficient and it does mess up sometimes, but I think it works for like 75% of cases.
The regex I made probably isn't too efficient and it does mess up sometimes, but I think it works for like 90% of cases I've come across.

By all means, I probably got a couple things wrong; submit a pull request if you see something please!
By all means, I probably got a couple things wrong; submit a pull request or issue if you see something please!
(That goes for anything in here)


## Inspiration
This extension was inspired and derived from an existing RPG extension https://github.com/NielsLiisberg/RPG-for-VSCode .
Without this brilliant guy, I wouldn't have thought to start working on this.
Also check out his repository https://github.com/NielsLiisberg/RPG-vsCode-Getting-Started for an introduction to an RPG + VS Code workflow.
## Development in VS Code
This extension is really only useful for reading code, not writing. See [Issue 50](https://github.com/barrettotte/vscode-ibmi-languages/issues/50) for more details.

Also check out https://github.com/NielsLiisberg/RPG-vsCode-Getting-Started for an introduction to an RPG + VS Code workflow.


## Features
Expand All @@ -35,20 +34,17 @@ Also check out his repository https://github.com/NielsLiisberg/RPG-vsCode-Gettin
- [x] Syntax highlighting for RPGLE free
- [x] Syntax highlighting for embedded SQL in SQLRPG and SQLRPGLE
- [x] Support for a mix of RPGLE free and fixed format
- [x] Support for binder language
- [x] Support for DB2 SQL keywords in embedded SQL


**If anyone stumbles across this and has any awesome material for machine interface, please send me an email.**
I really only made the bare basics for MI and I'd love to add to it


## Stretch Features
Every side project starts out fun, but later becomes stale, we'll see if I get here.
- [ ] Syntax highlighting for embedded SQL using actual DB2 grammar


## File Types (case insensitive)
Generally I lumped legacy file types together out of convenience.
If you want different syntax highlighting for a CLP vs CLLE file, I'm sorry to disappoint you.
For each source type, I lumped legacy(system/38) source types together with the regular source types.

| Extension(s) | Description |
| ----------------------------- | ------------------ |
Expand All @@ -60,6 +56,7 @@ If you want different syntax highlighting for a CLP vs CLLE file, I'm sorry to d
| .prtf, .prtf38 | DDS Printer file |
| .rpg, .rpg38, .sqlrpg | RPG/400 |
| .rpgle, .sqlrpgle | RPGLE and SQLRPGLE |
| .bnd | Binder Language |


## Screenshots
Expand Down Expand Up @@ -101,55 +98,23 @@ See **screenshots/** for more examples of syntax highlighting.


## Changelog

#### 0.1.0 - Base extension
* Base RPG/400 and CL highlighting


#### 0.2.0 - Physical/Logical files and misc fixes
* Logical and physical file highlighting
* Misc regular expression fixes to RPG/400


#### 0.3.0 - DSPF, ICFF, basic MI, and more fixes
* Misc regular expression fixes for RPG/400 and CL
* Display and ICF DDS file highlighting
* Basic Machine Interface (MI) highlighting


#### 0.4.0 - RPGLE Fixed and Free Format with Embedded SQL
* RPGLE: Added fixed format highlighting
* RPGLE: Added free format highlighting
* RPGLE: Added basic embedded SQL highlighting
* RPG/400: Added basic embedded SQL highlighting
* RPG/400: Fixed a handful of highlighting errors I missed


#### 0.5.0 - CL Label Highlighting, DSPF constants, and misc RPGLE fixes
* Extension icon and README fixes
* RPG/400: Change precompiler commands to highlight as keywords
* RPGLE: Change precompiler commands to highlight as keywords
* RPGLE: False definition keyword highlighting fixed -> more robust regex
* RPGLE: Fixed up precompiler conditionals /IF,/ELSEIF,/ELSE,/ENDIF
* CL: Label definition highlighting
* DSPF: DSPF parms highlighted as constants for COMP, DSPATR, CHECK, and COLOR
* DSPF: Tokens starting with '*' now highlighted as constants
See [CHANGELOG.md](https://github.com/barrettotte/vscode-ibmi-languages/blob/master/CHANGELOG.md)


## Known Bugs / Future Improvements
See [issues](https://github.com/barrettotte/vscode-ibmi-languages/issues).
**Please add any features you would like to see and I'll see if I can get around to implementing them!**


## References
* Liam's Flight400 project (great for testing) - https://github.com/worksofliam/flight400
* RPG/400 - https://www.ibm.com/support/knowledgecenter/SSAE4W_9.6.0/com.ibm.etools.iseries.langref.doc/evferlsh02.htm#ToC
* RPG for VS Code - https://github.com/NielsLiisberg/RPG-for-VSCode
* RPG II, RPG III, and RPG/400 - https://isbnsearch.org/isbn/0878352465
* Textmate
* Dart syntax example - https://github.com/Dart-Code/Dart-Code/blob/master/syntaxes/dart.json
* Naming Conventions - https://macromates.com/manual/en/language_grammars#naming_conventions
* TextMate Grammar - https://www.apeth.com/nonblog/stories/textmatebundle.html
* https://stackoverflow.com/questions/23463803/are-there-any-standards-for-tmlanguage-keyword-types
* Regex tool - https://regexr.com/
* VS Code Language extensions - https://code.visualstudio.com/api/language-extensions/overview
- Derived from an existing RPG extension https://github.com/NielsLiisberg/RPG-for-VSCode
- Liam's Flight400 project (great for testing) - https://github.com/worksofliam/flight400
- RPG/400 - https://www.ibm.com/support/knowledgecenter/SSAE4W_9.6.0/com.ibm.etools.iseries.langref.doc/evferlsh02.htm#ToC
- RPG for VS Code - https://github.com/NielsLiisberg/RPG-for-VSCode
- RPG II, RPG III, and RPG/400 - https://isbnsearch.org/isbn/0878352465
- Textmate
- Dart syntax example - https://github.com/Dart-Code/Dart-Code/blob/master/syntaxes/dart.json
- Naming Conventions - https://macromates.com/manual/en/language_grammars#naming_conventions
- TextMate Grammar - https://www.apeth.com/nonblog/stories/textmatebundle.html
- https://stackoverflow.com/questions/23463803/are-there-any-standards-for-tmlanguage-keyword-types
- Regex tool - https://regexr.com/
- VS Code Language extensions - https://code.visualstudio.com/api/language-extensions/overview
Loading

0 comments on commit c943a54

Please sign in to comment.