zowe / zowe-explorer-vscode

Visual Studio Code Extension for Zowe, which lets users interact with z/OS Data Sets, Unix System Services, and Jobs on a remote mainframe instance. Powered by Zowe SDKs.
Eclipse Public License 2.0
173 stars 92 forks source link

Zowe Explorer should be programming language agnostic #3131

Open phaumer opened 1 month ago

phaumer commented 1 month ago

Describe the bug

Zowe Explorer provides access to z/OS resources such as MVS data sets and PDS members. You can click on a member to open it in the default VS Code text editor. With its excellent SDK it provides a fantastic platform for extenders to layer their capabilities on top of Zowe Explorer. Zowe Explorer's scope imho is not to provide language specific capabilities such as syntax highlighting or code completion. It therefore needs to be designed language agnostic and not make any assumption about the content of an MVS, USS, or spool file. This would be the responsibility of Zowe Explorer extender extensions to interpret content and decide special behavior such as assuming a program language. Zowe Explorer right now looks at data set names and appends file extensions based on hard coded rules not allowing extenders to control for themselves how a file should be treated.

To Reproduce

  1. Create a PDS with COBOL in the name such as IBMUSER.SAMPLE.COBOL
  2. Add a JCL file to the data set
  3. Open the file: it has a .cbl file extension preventing a JCL language server VS Code extension to appropriately interpret its contents.

Expected behavior

Zowe Explorer should not make any assumptions about the files it opens; other than encodings in UNIX file tags etc.

Screenshots

Desktop (please complete the following information):

Additional context

github-actions[bot] commented 1 month ago

Thank you for creating a bug report. We will investigate the bug and evaluate its impact on the product. If you haven't already, please ensure you have provided steps to reproduce the bug and as much context as possible.

github-actions[bot] commented 1 month ago

Thank you for raising this enhancement request. The community has 90 days to vote on it. If the enhancement receives at least 10 upvotes, it is added to our development backlog. If it receives fewer votes, the issue is closed.

JTonda commented 1 month ago

Research Needed: Investigate backwards compatible implementation with possible toggle/switch setting.

Note: If we change the behavior of removing the extensions, that will shift some of the responsibility to the LSPs for detecting the language in open editor.