GithubHelp home page GithubHelp logo

broadcommfd / rexx-language-support Goto Github PK

View Code? Open in Web Editor NEW
4.0 4.0 5.0 333 KB

The Rexx Language Support plugin leverages the language server protocol to provide syntax awareness, syntax coloring and autocomplete features for Rexx code.

Home Page: https://marketplace.visualstudio.com/items?itemName=broadcomMFD.lsp-for-rexx

License: Other

mainframe rexx zos zowe

rexx-language-support's People

Contributors

dstatwriter avatar zimlu02 avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

rexx-language-support's Issues

I don't find all Z/Os commands & functions + I did some proposition to improve this tool - continuous improuvement ;);)

Good evening everyone

I tested this plugin since last week, and and I would like to know if it is possible to put all the commands and functions for the language REXX we can find in the Z/Os plateform.
For example, I can't find the ALLOCATE in the Snippets.
After may be I don't use the tool correctly. I use the plugin on my personal laptop and it has no access to a mainframe platform.

I will try to create some Snippets with the link I found if it's works are you interested that I share the JSON file with you to implement them in the next version ?

It is possible to modify your Snippets ? if yes I would like to know where I can find them. My goal is to tape less and harmonize my code the best I can ;)

To help the developer give the possibility to indent automatically the code like python. I know that's is not an obligation in this language but to read it that could help a lot and increase the code quality I tried to do it via the function in visual but I don't believe work ;(

Thanks by advance for your return and your help on this topic and Happy New Year 2021 to all of them.
Best Regards

Support for a command-line interface

I'd like to see this linter having a command-line interface, the objective behind this is that we can enforce the validation of the REXX syntax on a Git hook or in a CI pipeline.

Autocomplete not working after upgrading to 0.0.15

Hi,

thanks for your helpful extension. Unfortunately autocomplete and problem detection stopped working a few weeks ago, I suspected I had somehow messed up my settings. Trying to find the source of the error, I noticed that when I switch back to version 0.0.12 autocomplete and problem detection work again.

0.0.14 has the same behaviour than 0.0.15.

Best regards,
Claude

Case 33612738 REXX Plugin 0.0.18 - Continuous Improvement

Hello

We are using the REXX plugin V 0.0.18 with Visual Studio Code 1.85.0 (Via a TEST VDI) and 1.82.2 (Via a PROD VDI)
We parameter the plugin like below

Today I did a demo and System Engineer have the felling that we can do better with this plugin.
1 - Same behavior when call a sub program or proc

2 Like the Cobol plugin be alerted when the code has a line > 80 Car

3- Create a Rexx Flow like you did with the Cobol flow

We can see that we have less and less REXX programmer and to analyze a program that is not really easy because we have no documentation or because after many years the documentation is obsolete
I can't post picture to add explanations you all the information via the link below
https://broadcomcms-software.wolkenservicedesk.com/wolken-support/mycases/request-details?requestId=33612738

Could you help us to improve the plugin

Best regards

Case control for Auto complete

This is Rexx, not EXEC2. Rexx lets me write my keywords in mixed case, not SHOUT THEM IN UPPER CASE.

Problem is that even if I type the keyword in in Mixed case, Auto complete is then changing it into ugly upper case.

A good example is:

If var = 1 Then

When I hit enter after the Then, auto complete is turning my line into:

If var = 1 THEN

...which isn't what I want.

Any chance of getting mixed case support for it? Or, at the least, for it to leave things I've typed in alone...

Unble to execute rexx by using Broadcom Rexx Plugin

Hi,
I have installed Rexx Plugin and Running Rexx in Plugin but while doing "Run" command nothing is coming out. Its saying there is no Rexx plugin. Can anyone please help me! Thanks alot!

image

Best regards,
Anant

Comments not work as in z/OS

Hi
As you can see in this image we have part of the code is not considered as a comment.
image

Thank you for this extension and have a happy new year 2021

Lower case

I would like the autocompleted Rexx in lower case letters.

Installation failure on VSCode 17.9

Hi, I just installed the current version of VSCode on windows 11. I can't install your REXX Language Support extension. I get the following Log.
3/15/2024 5:34:09 PM - Microsoft VSIX Installer
3/15/2024 5:34:09 PM - -------------------------------------------
3/15/2024 5:34:09 PM - vsixinstaller.exe version:
3/15/2024 5:34:09 PM - 17.9.3180+083a582996
3/15/2024 5:34:09 PM - -------------------------------------------
3/15/2024 5:34:09 PM - Command line parameters:
3/15/2024 5:34:09 PM - C:\Program Files (x86)\Microsoft Visual Studio\Installer\resources\app\ServiceHub\Services\Microsoft.VisualStudio.Setup.Service\VSIXInstaller.exe,C:\Users\cgero\Downloads\broadcomMFD.opsrexx-language-support-0.4.0(1).vsix
3/15/2024 5:34:09 PM - -------------------------------------------
3/15/2024 5:34:09 PM - Microsoft VSIX Installer
3/15/2024 5:34:09 PM - -------------------------------------------
3/15/2024 5:34:09 PM - Initializing Install...
3/15/2024 5:34:09 PM - Searching for applicable products...
3/15/2024 5:34:10 PM - Found installed product - Visual Studio Community 2022
3/15/2024 5:34:10 PM - Found installed product - Global Location
3/15/2024 5:34:10 PM - Extension Details...
3/15/2024 5:34:10 PM - Identifier : opsrexx-language-support
3/15/2024 5:34:10 PM - Name : OPS/REXX Language Support
3/15/2024 5:34:10 PM - Author : broadcomMFD
3/15/2024 5:34:10 PM - Version : 0.4.0
3/15/2024 5:34:10 PM - Description : OPS/REXX Language Support Visual Studio Code Extension
3/15/2024 5:34:10 PM - Locale : en-US
3/15/2024 5:34:10 PM - MoreInfoURL :
3/15/2024 5:34:10 PM - InstalledByMSI : False
3/15/2024 5:34:10 PM - SupportedFrameworkVersionRange : [0.0,2147483647.2147483647]
3/15/2024 5:34:10 PM - SignatureState : Unsigned
3/15/2024 5:34:10 PM - Supported Products :
3/15/2024 5:34:10 PM - Microsoft.VisualStudio.Code
3/15/2024 5:34:10 PM - Version :
3/15/2024 5:34:10 PM - ProductArchitecture : x86
3/15/2024 5:34:10 PM - References :
3/15/2024 5:34:10 PM - Signature Details...
3/15/2024 5:34:10 PM - Extension is not signed.
3/15/2024 5:34:10 PM - VSIXInstaller.NoApplicableSKUsException: One or more extensions are for Visual Studio Code. Try installing them in Visual Studio Code.
at VSIXInstaller.ExtensionService.GetInstallableDataImpl(String vsixPath, String extensionPackParentName, Boolean isRepairSupported, IStateData stateData, IEnumerable1& skuData) at VSIXInstaller.ExtensionService.GetInstallableData(String vsixPath, String extensionPackParentName, Boolean isRepairSupported, IStateData stateData, IEnumerable1& skuData)
at VSIXInstaller.ExtensionPackService.IsExtensionPack(IStateData stateData, Boolean isRepairSupported)
at VSIXInstaller.ExtensionPackService.ExpandExtensionPackToInstall(IStateData stateData, Boolean isRepairSupported)
at VSIXInstaller.App.Initialize(Boolean isRepairSupported)
at VSIXInstaller.App.Initialize()
at System.Threading.Tasks.Task`1.InnerInvoke()
at System.Threading.Tasks.Task.Execute()

The plug-in shows an error on a specific subroutine

I have a specific subroutine in some of my Rexx codes called Parse_Input_Parameters, it will basically parse an input string and create a dynamic stem out of it:

Parse_Input_Parameters: Procedure Expose input_parm.
  input_string = Arg(1)
  number_of_parms = Length(Space(input_string, 0)) - Length(Space(Translate(input_string, ' ', ';'), 0))
  Do number_of_parms
    Parse Var input_string key '=' value ';'
    Interpret "input_parm."Strip(key) "="  value
    parm_end_pos = Pos(';', input_string)
    input_string = Substr(input_string, parm_end_pos + 1)
  End
  Return

But I'm getting an error on the following lines:
image
image

The routine itself works just fine.

Any thoughts on this?

Thanks!

Pluggin REXX Issues on Visual Studio Code - Case 32762317

Hello

We are using the version below :

Visual Studio Code Version: 1.57.1 (system setup)
Commit: 507ce72a4466fbb27b715c3722558bb15afa9f48
Date: 2021-06-17T13:28:07.755Z
Electron: 12.0.7
Chrome: 89.0.4389.128
Node.js: 14.16.0
V8: 8.9.255.25-electron.0
OS: Windows_NT x64 10.0.17763

Explorer for Endevor : 0.12.1
java version : 1.8.0_281
JZOS batch Launcher Version : 2.4.8 2019-05-03
Endevor Webservice version: 2.3-20210126-18E52BE

apache-tomcat-9.0.4420:40 18/06/202120:40 18/06/2021
Parameters Lang="EN"
Locale=""
TimeZone="GMT-1.0"
CharacterSet="ISO8859-1"
CodePage="cp01147"

Brigde for git 2.7.1
command to exec : java -Dfile.encoding=UTF-8 -Djavax.net.ssl.trustStore=bridgestore.jks -Djavax.net.ssl.trustStorePassword=password -jar BridgeForGit-2.7.1.jar

Rexx Language Support : v0.0.17

Good evening,

We use the Rexx plunning and discovert some alert and we don't understand why we have it.

To read the REXX programe form the Z/Os, we retrieve the element via Bridge for git put the element on Azure Devops and clone the branch on Visual Studio Code to modify it

The Rexx are readable and the Code page is ISO 8859-1 and the End of line Sequence is CRLF

When we edit the Rexx Program, the REXX plugin scan it and underline the issues

I listed below some of them.
Could you help me to understand what I must do to solve them:

I clic right to copy the message

Message 1:
no viable alternative at input 'Do F=1 To NDVTBL.0 \r\n If Substr(NDVTBL.F,1,1) = '' Then Iterate \r\n If Pos('MFID=',NDVTBL.F)= 0 Then Iterate \r\n NEWLINE=Translate(NDVTBL.F,'','=') \r\n NEWLINE=Translate(NEWLINE,'',',') \r\n NEWLINE=Translate(NEWLINE,'','.') \r\n USERID=Word(NEWLINE,3) \r\n If Left(USERID,4)='GUEN' Then Iterate \r\n If Left(USERID,2)='CO' Then Iterate \r\n FNAME =Word(NEWLINE,5);LNAME =Word(NEWLINE,6) \r\n Call SELECT_MLA030 \r\n If Word(MLA030IN.ML,4) = USERID Then Iterate \r\n US=US+1;Say Right(US,4) USERID FNAME LNAME \r\n Call STACK_STEMS \r\nEnd F \r\nMAX_W=W \r\nIf MAX_W = 0 Then Do \r\n CTRL=4;Say 'there is no new userid to be inserted.' \r\nEnd \r\nElse Do \r\n Call WRITE_OUTPUT \r\nEnd \r\n/---------------------------------* \r\n * 2nd compare * \r\n ---------------------------------/ \r\nSay '>' \r\nSay '2.compare the email addresses of "esmtptbl" and "ed.mla030"' \r\nSay ' USERID ESMTPTBL ED.MLA030' \r\nSay ' ------ ----------------------------- -------------------------' \r\nDo ML=1 To MLA030IN.0 \r\n If Word(MLA030IN.ML,2) <> 'USR=' Then Iterate \r\n Do F=1 To NDVTBL.0 \r\n If Substr(NDVTBL.F,1,1) = '' Then Iterate \r\n If Pos('MFID=',NDVTBL.F)= 0 Then Iterate \r\n PARSE VAR NDVTBL.F '$ESMTP MFID='USERID',EMAILID='EMAILID \r\n If USERID <>Word(MLA030IN.ML,4) Then Iterate \r\n If EMAILID =Word(MLA030IN.ML,6) Then Leave \r\n Say '' USERID Substr(EMAILID,1,30) Substr(Word(MLA030IN.ML,6),1,30) \r\n Leave \r\n End F \r\nEnd ML \r\n/--------------------------------- \r\n * 3rd compare * \r\n ---------------------------------/ \r\nSay '>' \r\nCall READ_INPUT3 ;If CTRL > 4 Then Signal END_OF_JOB \r\nSay '>' \r\nSay '3.compare the zSECURE database with "esmtptbl"' \r\nSay ' USERID zSECURE ESMTPTBL' \r\nSay ' ------ ------------------------------------- -------------------------'\r\nDo VG=1 To VANGUAR.0 \r\n/* If Word(VANGUAR.VG,2)='DFENMIG' Then Iterate \r\n If Substr(Word(VANGUAR.VG,1),3,1)='$' Then Iterate */ \r\n If Left(Word(VANGUAR.VG,1),3,)'

Message 2:
no viable alternative at input 'Do ML=1 To MLA030IN.0 \r\n If Word(MLA030IN.ML,2) <> 'USR=' Then Iterate \r\n Do F=1 To NDVTBL.0 \r\n If Substr(NDVTBL.F,1,1) = '' Then Iterate \r\n If Pos('MFID=',NDVTBL.F)= 0 Then Iterate \r\n PARSE VAR NDVTBL.F '$ESMTP MFID='USERID',EMAILID='EMAILID \r\n If USERID <>Word(MLA030IN.ML,4) Then Iterate \r\n If EMAILID =Word(MLA030IN.ML,6) Then Leave \r\n Say '' USERID Substr(EMAILID,1,30) Substr(Word(MLA030IN.ML,6),1,30) \r\n Leave \r\n End F \r\nEnd ML \r\n/--------------------------------- \r\n * 3rd compare * \r\n ---------------------------------/ \r\nSay '>' \r\nCall READ_INPUT3 ;If CTRL > 4 Then Signal END_OF_JOB \r\nSay '>' \r\nSay '3.compare the zSECURE database with "esmtptbl"' \r\nSay ' USERID zSECURE ESMTPTBL' \r\nSay ' ------ ------------------------------------- -------------------------'\r\nDo VG=1 To VANGUAR.0 \r\n/* If Word(VANGUAR.VG,2)='DFENMIG' Then Iterate \r\n If Substr(Word(VANGUAR.VG,1),3,1)='$' Then Iterate */ \r\n If Left(Word(VANGUAR.VG,1),3,)'

Message 2:
extraneous input ')' expecting {KWD_ADDRESS, KWD_ARG, KWD_BY, KWD_CALL, KWD_DIGITS, KWD_DO, KWD_DROP, KWD_ELSE, KWD_END, KWD_ENGINEERING, KWD_ERROR, KWD_EXIT, KWD_EXPOSE, KWD_EXTERNAL, KWD_FAILURE, KWD_FOR, KWD_FOREVER, KWD_FORM, KWD_FUZZ, KWD_HALT, KWD_IF, KWD_INTERPRET, KWD_ITERATE, KWD_LEAVE, KWD_NAME, KWD_NOP, KWD_NOVALUE, KWD_NUMERIC, KWD_OFF, KWD_ON, KWD_OPTIONS, KWD_OTHERWISE, KWD_PARSE, KWD_PROCEDURE, KWD_PULL, KWD_PUSH, KWD_QUEUE, KWD_RETURN, KWD_SAY, KWD_SCIENTIFIC, KWD_SELECT, KWD_SIGNAL, KWD_SOURCE, KWD_SYNTAX, KWD_THEN, KWD_TO, KWD_TRACE, KWD_UNTIL, KWD_UPPER, KWD_VALUE, KWD_VAR, KWD_VERSION, KWD_WHEN, KWD_WHILE, KWD_WITH, BR_O, SPECIAL_VAR, NUMBER, CONST_SYMBOL, VAR_SYMBOL, STRING, PLUS, MINUS, NOT, COMMA}

Message 4:
mismatched input '£' expecting {, STMT_INCLUDE, KWD_ADDRESS, KWD_ARG, KWD_BY, KWD_CALL, KWD_DIGITS, KWD_DO, KWD_DROP, KWD_ELSE, KWD_END, KWD_ENGINEERING, KWD_ERROR, KWD_EXIT, KWD_EXPOSE, KWD_EXTERNAL, KWD_FAILURE, KWD_FOR, KWD_FOREVER, KWD_FORM, KWD_FUZZ, KWD_HALT, KWD_IF, KWD_INTERPRET, KWD_ITERATE, KWD_LEAVE, KWD_NAME, KWD_NOP, KWD_NOVALUE, KWD_NUMERIC, KWD_OFF, KWD_ON, KWD_OPTIONS, KWD_OTHERWISE, KWD_PARSE, KWD_PROCEDURE, KWD_PULL, KWD_PUSH, KWD_QUEUE, KWD_RETURN, KWD_SAY, KWD_SCIENTIFIC, KWD_SELECT, KWD_SIGNAL, KWD_SOURCE, KWD_SYNTAX, KWD_THEN, KWD_TO, KWD_TRACE, KWD_UNTIL, KWD_UPPER, KWD_VALUE, KWD_VAR, KWD_VERSION, KWD_WHEN, KWD_WHILE, KWD_WITH, BR_O, SPECIAL_VAR, NUMBER, CONST_SYMBOL, VAR_SYMBOL, STRING, CONCAT, EQ, PLUS, MINUS, MUL, DIV, QUOTINENT, REMAINDER, POW, NOT, OR, XOR, AND, CMPS_Eq, CMPS_Neq, CMPS_M, CMPS_L, CMPS_MEq, CMPS_LEq, CMPS_NM, CMPS_NL, CMP_NEq, CMP_LM, CMP_ML, CMP_M, CMP_L, CMP_MEq, CMP_LEq, CMP_NM, CMP_NL, EOL, SEMICOL}

Message 5:
mismatched input '"' expecting {, STMT_INCLUDE, KWD_ADDRESS, KWD_ARG, KWD_BY, KWD_CALL, KWD_DIGITS, KWD_DO, KWD_DROP, KWD_ELSE, KWD_END, KWD_ENGINEERING, KWD_ERROR, KWD_EXIT, KWD_EXPOSE, KWD_EXTERNAL, KWD_FAILURE, KWD_FOR, KWD_FOREVER, KWD_FORM, KWD_FUZZ, KWD_HALT, KWD_IF, KWD_INTERPRET, KWD_ITERATE, KWD_LEAVE, KWD_NAME, KWD_NOP, KWD_NOVALUE, KWD_NUMERIC, KWD_OFF, KWD_ON, KWD_OPTIONS, KWD_OTHERWISE, KWD_PARSE, KWD_PROCEDURE, KWD_PULL, KWD_PUSH, KWD_QUEUE, KWD_RETURN, KWD_SAY, KWD_SCIENTIFIC, KWD_SELECT, KWD_SIGNAL, KWD_SOURCE, KWD_SYNTAX, KWD_THEN, KWD_TO, KWD_TRACE, KWD_UNTIL, KWD_UPPER, KWD_VALUE, KWD_VAR, KWD_VERSION, KWD_WHEN, KWD_WHILE, KWD_WITH, BR_O, SPECIAL_VAR, NUMBER, CONST_SYMBOL, VAR_SYMBOL, STRING, PLUS, MINUS, NOT, EOL, SEMICOL}

For your information on the Z/Os, this REXX run every day and we have no issue with them.

To follow the case on Broadcom Site
https://ca-broadcom.wolkenservicedesk.com/wolken-support/mycases/request-details?requestId=

Best Regards

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.