IBM / zopeneditor-about

IBM Z Open Editor: File issues here!
https://ibm.github.io/zopeneditor-about
Apache License 2.0
49 stars 20 forks source link

Resolution of custom HLASM macros #316

Open friedhelmmuench opened 1 year ago

friedhelmmuench commented 1 year ago

Description of the enhancement requested

We have a lot of HLASM programs which use custom HLASM macros. The macros are either part of the application repository or located in a SYSLIB dataset.

The current Version of ZOE (3.0.1) only supports resolution of macros from SYS1.MACLIB. Even if the local directories and the SYSLIB are configured in a propertyGroup, the macros are not resolved. This is also the case for upload of dependent files while running a DBB userbuild from ZOE, local macros are not uploaded. This leads to usage of outdated macro-versions (if resolved via SYSLIB) or compile-errors (due to outdated or missing macros).

ZOE should support the resolution of HLASM macros like it does for COPY-dependencies to support a developer with all the informations needed. Local existing macros should be included in dependency resolution and upload for a DBB userbuild.

FALLAI-Denis commented 1 year ago

Hi,

Questions:

At the source code structure level, a macro is indistinguishable from another assembler instruction, unlike includes which have a specific syntax pattern: COPY include.

In ZOE settings, we must activate macros resolution and configures the z/OS version used:

image

image

And there are two local files that reference the SYS1.MACLIB macros depending on the version of z/OS:

There is also a file that references the assembly instructions:

ZOE allows you to declare your own macro reference list file, but there is no documentation on how to describe a macros in these files:

image

image

Same for assembler instructions:

image

image

Is it possible to declare a file that includes both the SYS1.MACLIB macro references and the site-specific macros? How ?

phaumer commented 1 year ago

Thanks for submitting this enhancement request. We agree that it is am important one for HLASM.

Those settings were intended for tech support in case a customer would report an inaccuracy or wanted files for a different version of z/OS; so we could provide it quickly without requiring to ship a new version of the editor. You can indeed try copying and modifying the file yourself if you have additional macros in SYS1.MACLIB. Supporting additional data sets would be an enhancement.

spufidoo commented 11 months ago

We have many home-grown macros, both in their own libraries, and in-line. It would be great if you could resolve them.

sdaimwood commented 11 months ago

You should notice improvements with same-file custom macro handling with 3.3.0. In addition to being shown in the outline view, macros declared in the same file now support hover, go to definition, and will populate in code completion.

sdaimwood commented 10 months ago

For reference, see the docs here for full explanations of what is currently supported. These were updated with 3.3.0 as well to provide more clarity around these features.

johntgatesjr commented 10 months ago

Is 3.3 available? Not through VS code.....

sdaimwood commented 10 months ago

@johntgatesjr, The VS Code marketplace version should currently be 3.3.2 (released earlier this week), but the docs were updated when 3.3.0 was released, sorry for the confusion there... If you're not seeing 3.3.2 under the extension like the screenshot here something else is up though.

Screenshot 2023-11-30 at 3 55 00 PM
johntgatesjr commented 10 months ago

Look at that. It updated automagically to 3.3.2 sometime in the last few days. I will review the new docs. Thank you!!