Git Product home page Git Product logo

vscode-ibmi-languages's Introduction

vscode-ibmi-languages

Somewhat decent syntax highlighting for IBMi languages such as RPG, CL, DDS, MI, and RPGLE fixed/free.

Visual Studio Marketplace Version Visual Studio Marketplace Downloads Visual Studio Marketplace Rating GitHub

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.

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 90% of cases I've come across.

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)

Development in VS Code

This extension is really only useful for reading code, not writing. See Issue 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

  • 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 DDS files - physical, logical, display, printer, and ICF
  • Syntax highlighting for some Machine Interface (MI) - see below
  • 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

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

File Types (case insensitive)

For each source type, I lumped legacy(system/38) source types together with the regular source types.

Extension(s) Description
.cl, .clp, .clp38 .clle Control Language
.dspf, .dspf38 DDS Display file
.icff DDS ICF file
.lf, .lf38 DDS Logical file
.pf, .pf38, .dds DDS Physical file
.prtf, .prtf38 DDS Printer file
.rpg, .rpg38, .sqlrpg RPG/400
.rpgle, .sqlrpgle RPGLE and SQLRPGLE
.bnd Binder Language

Screenshots

See screenshots/ for more examples of syntax highlighting.

RPG/400

RPG/400

RPGLE Fixed Format

RPGLE Fixed

RPGLE Free Format

RPGLE Free

RPGLE Free with Embedded SQL

SQLRPGLE

Control Language (CL)

CL

Data Description Specification - Physical File (DDS)

PF

Machine Interface (MI)

MI

Publishing

  • npm install -g vsce
  • vsce package
  • vsce publish

Changelog

See CHANGELOG.md

Known Bugs / Future Improvements

See issues.

References

vscode-ibmi-languages's People

Contributors

barrettotte avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.