@codingame/monaco-editor-wrapper 5.3.0 → 5.4.0-workbench.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (108) hide show
  1. package/dist/assets/Angular.ng-template-17.1.0.vsix/CHANGELOG.md +969 -0
  2. package/dist/assets/Angular.ng-template-17.1.0.vsix/README.md +69 -0
  3. package/dist/assets/Angular.ng-template-17.1.0.vsix/angular.png +0 -0
  4. package/dist/assets/Dart-Code.dart-code-3.81.20240117.vsix/CHANGELOG.md +1 -0
  5. package/dist/assets/Dart-Code.dart-code-3.81.20240117.vsix/README.md +89 -0
  6. package/dist/assets/Dart-Code.dart-code-3.81.20240117.vsix/dart.png +0 -0
  7. package/dist/assets/IMCTradingBV.svlangserver-0.4.1.vsix/CHANGELOG.md +56 -0
  8. package/dist/assets/IMCTradingBV.svlangserver-0.4.1.vsix/README.md +320 -0
  9. package/dist/assets/IMCTradingBV.svlangserver-0.4.1.vsix/icon.png +0 -0
  10. package/dist/assets/JakeBecker.elixir-ls-0.19.0.vsix/CHANGELOG.md +997 -0
  11. package/dist/assets/JakeBecker.elixir-ls-0.19.0.vsix/README.md +219 -0
  12. package/dist/assets/JakeBecker.elixir-ls-0.19.0.vsix/logo.png +0 -0
  13. package/dist/assets/JuanBlanco.solidity-0.0.165.vsix/README.md +416 -0
  14. package/dist/assets/JuanBlanco.solidity-0.0.165.vsix/icon.png +0 -0
  15. package/dist/assets/REditorSupport.r-2.8.2.vsix/CHANGELOG.md +987 -0
  16. package/dist/assets/REditorSupport.r-2.8.2.vsix/README.md +78 -0
  17. package/dist/assets/REditorSupport.r-2.8.2.vsix/Rlogo.png +0 -0
  18. package/dist/assets/alefragnani.pascal-9.6.0.vsix/CHANGELOG.md +188 -0
  19. package/dist/assets/alefragnani.pascal-9.6.0.vsix/README.md +249 -0
  20. package/dist/assets/alefragnani.pascal-9.6.0.vsix/icon.png +0 -0
  21. package/dist/assets/batisteo.vscode-django-1.15.0.vsix/CHANGELOG.md +7 -0
  22. package/dist/assets/batisteo.vscode-django-1.15.0.vsix/README.md +99 -0
  23. package/dist/assets/batisteo.vscode-django-1.15.0.vsix/vscode-django-icon.png +0 -0
  24. package/dist/assets/bitwisecook.tcl-0.4.3.vsix/CHANGELOG.md +4 -0
  25. package/dist/assets/bitwisecook.tcl-0.4.3.vsix/README.md +19 -0
  26. package/dist/assets/bitwisecook.tcl-0.4.3.vsix/Tcl-powered.png +0 -0
  27. package/dist/assets/broadcomMFD.cobol-language-support-2.1.0.vsix/CHANGELOG.md +469 -0
  28. package/dist/assets/broadcomMFD.cobol-language-support-2.1.0.vsix/README.md +401 -0
  29. package/dist/assets/broadcomMFD.cobol-language-support-2.1.0.vsix/logo.png +0 -0
  30. package/dist/assets/castwide.solargraph-0.24.1.vsix/CHANGELOG.md +256 -0
  31. package/dist/assets/castwide.solargraph-0.24.1.vsix/README.md +178 -0
  32. package/dist/assets/castwide.solargraph-0.24.1.vsix/solargraph.png +0 -0
  33. package/dist/assets/ckolkman.vscode-postgres-1.4.3.vsix/CHANGELOG.md +232 -0
  34. package/dist/assets/ckolkman.vscode-postgres-1.4.3.vsix/README.md +86 -0
  35. package/dist/assets/golang.Go-0.40.3.vsix/CHANGELOG.md +2934 -0
  36. package/dist/assets/golang.Go-0.40.3.vsix/README.md +217 -0
  37. package/dist/assets/golang.Go-0.40.3.vsix/go-logo-blue.png +0 -0
  38. package/dist/assets/johnsoncodehk.vscode-angular-1.0.22.vsix/README.md +44 -0
  39. package/dist/assets/justusadam.language-haskell-3.6.0.vsix/CHANGELOG.md +357 -0
  40. package/dist/assets/justusadam.language-haskell-3.6.0.vsix/README.md +68 -0
  41. package/dist/assets/justusadam.language-haskell-3.6.0.vsix/logo.png +0 -0
  42. package/dist/assets/mathiasfrohlich.Kotlin-1.7.1.vsix/CHANGELOG.md +43 -0
  43. package/dist/assets/mathiasfrohlich.Kotlin-1.7.1.vsix/README.md +40 -0
  44. package/dist/assets/mathiasfrohlich.Kotlin-1.7.1.vsix/icon.png +0 -0
  45. package/dist/assets/ms-dotnettools.csharp-2.16.24.vsix/CHANGELOG.md +1697 -0
  46. package/dist/assets/ms-dotnettools.csharp-2.16.24.vsix/README.md +87 -0
  47. package/dist/assets/ms-dotnettools.csharp-2.16.24.vsix/csharpIcon.png +0 -0
  48. package/dist/assets/ms-python.python-2023.25.10221012.vsix/CHANGELOG.md +11139 -0
  49. package/dist/assets/ms-python.python-2023.25.10221012.vsix/README.md +105 -0
  50. package/dist/assets/ms-python.python-2023.25.10221012.vsix/icon.png +0 -0
  51. package/dist/assets/ms-vscode.cpptools-1.19.2.vsix/CHANGELOG.md +2180 -0
  52. package/dist/assets/ms-vscode.cpptools-1.19.2.vsix/LanguageCCPP_color_128x.png +0 -0
  53. package/dist/assets/ms-vscode.cpptools-1.19.2.vsix/README.md +78 -0
  54. package/dist/assets/ocamllabs.ocaml-platform-1.16.1.vsix/CHANGELOG.md +510 -0
  55. package/dist/assets/ocamllabs.ocaml-platform-1.16.1.vsix/README.md +539 -0
  56. package/dist/assets/ocamllabs.ocaml-platform-1.16.1.vsix/logo.png +0 -0
  57. package/dist/assets/pgourlain.erlang-0.9.8.vsix/CHANGELOG.md +802 -0
  58. package/dist/assets/pgourlain.erlang-0.9.8.vsix/README.md +101 -0
  59. package/dist/assets/pgourlain.erlang-0.9.8.vsix/icon.png +0 -0
  60. package/dist/assets/redhat.java-1.27.2024012608.vsix/CHANGELOG.md +1571 -0
  61. package/dist/assets/redhat.java-1.27.2024012608.vsix/README.md +283 -0
  62. package/dist/assets/redhat.java-1.27.2024012608.vsix/icon128.png +0 -0
  63. package/dist/assets/scala-lang.scala-0.5.7.vsix/CHANGELOG.md +276 -0
  64. package/dist/assets/scala-lang.scala-0.5.7.vsix/README.md +33 -0
  65. package/dist/assets/scala-lang.scala-0.5.7.vsix/smooth-spiral.png +0 -0
  66. package/dist/assets/scalameta.metals-1.27.3.vsix/README.md +600 -0
  67. package/dist/assets/scalameta.metals-1.27.3.vsix/logo.png +0 -0
  68. package/dist/assets/sumneko.lua-3.7.4.vsix/README.md +101 -0
  69. package/dist/assets/sumneko.lua-3.7.4.vsix/changelog.md +1965 -0
  70. package/dist/assets/sumneko.lua-3.7.4.vsix/logo.png +0 -0
  71. package/dist/assets/svelte.svelte-vscode-108.2.1.vsix/CHANGELOG.md +3 -0
  72. package/dist/assets/svelte.svelte-vscode-108.2.1.vsix/README.md +100 -0
  73. package/dist/assets/svelte.svelte-vscode-108.2.1.vsix/logo.png +0 -0
  74. package/dist/assets/webfreak.code-d-0.23.2.vsix/CHANGELOG.md +543 -0
  75. package/dist/assets/webfreak.code-d-0.23.2.vsix/README.md +81 -0
  76. package/dist/assets/webfreak.code-d-0.23.2.vsix/dlogo-square.png +0 -0
  77. package/dist/extensions/Angular.ng-template-17.1.0.vsix.js +7 -1
  78. package/dist/extensions/Dart-Code.dart-code-3.81.20240117.vsix.js +7 -1
  79. package/dist/extensions/IMCTradingBV.svlangserver-0.4.1.vsix.js +7 -1
  80. package/dist/extensions/JakeBecker.elixir-ls-0.19.0.vsix.js +7 -1
  81. package/dist/extensions/JuanBlanco.solidity-0.0.165.vsix.js +5 -1
  82. package/dist/extensions/REditorSupport.r-2.8.2.vsix.js +7 -1
  83. package/dist/extensions/alefragnani.pascal-9.6.0.vsix.js +7 -1
  84. package/dist/extensions/batisteo.vscode-django-1.15.0.vsix.js +7 -1
  85. package/dist/extensions/bitwisecook.tcl-0.4.3.vsix.js +7 -1
  86. package/dist/extensions/broadcomMFD.cobol-language-support-2.1.0.vsix.js +7 -1
  87. package/dist/extensions/castwide.solargraph-0.24.1.vsix.js +7 -1
  88. package/dist/extensions/ckolkman.vscode-postgres-1.4.3.vsix.js +5 -1
  89. package/dist/extensions/golang.Go-0.40.3.vsix.js +7 -1
  90. package/dist/extensions/johnsoncodehk.vscode-angular-1.0.22.vsix.js +3 -1
  91. package/dist/extensions/justusadam.language-haskell-3.6.0.vsix.js +7 -1
  92. package/dist/extensions/mathiasfrohlich.Kotlin-1.7.1.vsix.js +7 -1
  93. package/dist/extensions/ms-dotnettools.csharp-2.16.24.vsix.js +7 -1
  94. package/dist/extensions/ms-python.python-2023.25.10221012.vsix.js +7 -1
  95. package/dist/extensions/ms-vscode.cpptools-1.19.2.vsix.js +7 -1
  96. package/dist/extensions/ocamllabs.ocaml-platform-1.16.1.vsix.js +7 -1
  97. package/dist/extensions/pgourlain.erlang-0.9.8.vsix.js +7 -1
  98. package/dist/extensions/redhat.java-1.27.2024012608.vsix.js +7 -1
  99. package/dist/extensions/scala-lang.scala-0.5.7.vsix.js +7 -1
  100. package/dist/extensions/scalameta.metals-1.27.3.vsix.js +5 -1
  101. package/dist/extensions/sumneko.lua-3.7.4.vsix.js +7 -1
  102. package/dist/extensions/svelte.svelte-vscode-108.2.1.vsix.js +7 -1
  103. package/dist/extensions/webfreak.code-d-0.23.2.vsix.js +7 -1
  104. package/dist/features/views.js +0 -4
  105. package/dist/features/workbench.d.ts +5 -0
  106. package/dist/services.js +3 -1
  107. package/package.json +77 -77
  108. package/stats.html +1 -1
@@ -0,0 +1,401 @@
1
+ <div id="header" align="center">
2
+
3
+ [![Build Status](https://github.com/eclipse-che4z/che-che4z-lsp-for-cobol/actions/workflows/build.yml/badge.svg)](https://github.com/eclipse-che4z/che-che4z-lsp-for-cobol/actions/workflows/build.yml)
4
+ [![GitHub issues](https://img.shields.io/github/issues-raw/eclipse/che-che4z-lsp-for-cobol)](https://github.com/eclipse/che-che4z-lsp-for-cobol/issues)
5
+ [![slack](https://img.shields.io/badge/chat-on%20Slack-blue)](https://join.slack.com/t/che4z/shared_invite/zt-22b0064vn-nBh~Fs9Fl47Prp5ItWOLWw)
6
+ [![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=eclipse-che4z_che-che4z-lsp-for-cobol&metric=alert_status)](https://sonarcloud.io/dashboard?id=eclipse-che4z_che-che4z-lsp-for-cobol)
7
+
8
+ </div>
9
+
10
+ # COBOL Language Support
11
+
12
+ COBOL Language Support enhances the COBOL programming experience on your IDE. The extension leverages the language server protocol to provide autocomplete, syntax highlighting and coloring, and diagnostic features for COBOL code and copybooks. The COBOL Language Support extension can also connect to a mainframe using the Zowe Explorer extension to automatically retrieve copybooks used in your programs and store them in your workspace. COBOL Language Support also supports COBOL programs which interact with Datacom, CICS, and DB2 SQL. An add-on extension which adds support for the IDMS dialect is available on the VS Code Marketplace.
13
+
14
+ COBOL Language Support recognizes files with the extensions `.cob`, `.cbl` and `.cobol` as COBOL files.
15
+
16
+ > How can we improve COBOL Language Support? [Let us know on our Git repository](https://github.com/eclipse/che-che4z-lsp-for-cobol/issues)
17
+
18
+ This extension is a part of the [Che4z](https://github.com/eclipse/che-che4z) open-source project. Feel free to contribute right here.
19
+
20
+ COBOL Language Support is also part of [Code4z](https://marketplace.visualstudio.com/items?itemName=broadcomMFD.code4z-extension-pack), an all-round package that offers a modern experience for mainframe application developers, including extensions for language support, data editing, testing, and source code management. For an interactive overview of Code4z, see the [Code4z Developer Cockpit](https://mainframe.broadcom.com/code4z-developer-cockpit).
21
+
22
+ ## Prerequisites
23
+
24
+ There are no client or server-side prerequisites for COBOL Language Support.
25
+
26
+ ## Compatibility
27
+
28
+ The COBOL Language Support extension is supported on Visual Studio Code and Github Codespaces.
29
+
30
+ This extension is not compatible with other extensions that provide COBOL support except [COBOL Control Flow](https://marketplace.visualstudio.com/items?itemName=broadcomMFD.ccf) and the dialect add-ons published by Broadcom. We recommend that you disable all other COBOL-related extensions to ensure that COBOL Language Support functions correctly.
31
+
32
+ The COBOL Language Support extension only supports IBM Enterprise COBOL. Other versions of COBOL are not supported.
33
+
34
+ ## Integration with Zowe Explorer
35
+
36
+ Integrating COBOL Language Support with Zowe Explorer lets you:
37
+
38
+ - Load your data sets containing COBOL code directly from the data set tree.
39
+ - Enable automatic copybook retrieval from the mainframe.
40
+
41
+ To enable these features, install the [Zowe Explorer](https://marketplace.visualstudio.com/items?itemName=Zowe.vscode-extension-for-zowe) extension and configure a Zowe Explorer `zosmf` or `zftp` profile with credentials and a connection URL.
42
+
43
+ <a href="https://www.openmainframeproject.org/all-projects/zowe/conformance"><img alt="This extension is Zowe v2 conformant" src="https://artwork.openmainframeproject.org/other/zowe-conformant/zowev2/explorer/color/zowe-conformant-zowev2-explorer-color.png" width=20% height=20% /></a>
44
+
45
+ ## Features
46
+ COBOL Language Support provides the following COBOL syntax awareness features:
47
+
48
+ ### Autocomplete
49
+ Autocomplete speeds up the coding process by intuitively suggesting the most likely variables or paragraphs to follow existing code. The extension provides live suggestions while you type for:
50
+
51
+ - COBOL keywords, variables, paragraphs and sections
52
+ - CICS keywords
53
+ - DB2 and Datacom SQL keywords
54
+ - Code Snippets
55
+ - Copybook variable and paragraph names
56
+ - Names of copybooks that are used in the program
57
+ - Names of locally-stored subroutines that are used in the program
58
+
59
+ The autocomplete feature is only available in the main COBOL file, not in copybooks.
60
+
61
+ ![Autocomplete](https://github.com/eclipse/che-che4z-lsp-for-cobol/raw/HEAD/docs/images/CLSAutocorrect.gif)
62
+
63
+ ### Syntax and Semantic Check for Code
64
+ This feature checks for mistakes and errors in COBOL code. The syntax check feature reviews the whole content of the code and suggests fixes, through syntax and semantic analysis which returns diagnostics on the entire context of the code, not just keywords.
65
+
66
+ This feature is also enabled for Datacom, CICS, and DB2 SQL keywords and variables.
67
+
68
+ ![Syntax check](https://github.com/eclipse/che-che4z-lsp-for-cobol/raw/HEAD/docs/images/CLSErrorHighlighting.gif)
69
+
70
+ ### Syntax Highlighting
71
+ The extension enables syntax highlighting for COBOL code.
72
+
73
+ ### Syntax Coloring
74
+ Contrasting colors are used in displayed code for ease of identifying and distinguishing keywords, variables, paragraphs and sections.
75
+
76
+ ### Outline View and Breadcrumb View
77
+ The extension enables outline view and breadcrumb view, which show the structure of elements within the program and allow easy navigation between them.
78
+
79
+ ### Code Snippets
80
+ Before you write your COBOL code from scratch, search the snippet library for useful templates.
81
+
82
+ 1. Press `F1` to open the command palette.
83
+ 2. Type **Insert Snippet** and press enter.
84
+ 3. Select the snippet that you want to insert.
85
+
86
+ ![Code snippets](https://github.com/eclipse/che-che4z-lsp-for-cobol/raw/HEAD/docs/images/Snippet.gif)
87
+
88
+ You can also insert a code snippet by typing the name of the snippet in your code and clicking on the autocomplete text.
89
+
90
+ The COBOL Language Support extension also supports user snippets. Add your custom snippets to the `COBOL.json` file in your user snippets folder.
91
+
92
+ ### Smart Tab
93
+
94
+ Configure the smart tab function in your `settings.json` file to set tab stops at specific columns in the editor window. The cursor stops at these columns when you use **Tab** and **Shift+Tab** to move forwards and backwards in the code. You can specify custom tab stops, and use regular expressions to set conditional tab settings for different sections and divisions of the code.
95
+
96
+ To configure the smart tab feature, open your `settings.json` file and change the `"cobol-lsp-smart-tab":` parameter.
97
+
98
+ **Tip:** You can open your `settings.json` file directly from the COBOL Language Support extension settings. Under **Cobol-lsp: Smart-tab**, click **Edit in settings.json**.
99
+
100
+ - Specify `false` to use the default tab settings for Visual Studio Code.
101
+ - Specify `true` to use the default tab settings for COBOL Language Support. This adds extra tab stops for the margins at columns 8, 12 and 73.
102
+ - To specify custom tab stops for the whole file, specify an array of integers. The tab stops are set at the next column after the numbers that you specify.
103
+ Example: a value of `[0, 7, 20]` sets tab stops at columns 1, 8 and 21 and nowhere else.
104
+ - To specify conditional tab settings for different anchors in the document, specify a JSON element containing the parameters `"default":` and `"anchors":`.
105
+ - For `"anchors":`, specify a JSON element containing any number of parameters of the format `"ANCHOR": tab stops`.
106
+ - The `ANCHOR` can be a regular expression and corresponds to a string that occurs in the code.
107
+ - The `tab stops` are an array of integers that specify tab stops. These tab stop settings apply to all lines in the code below the string specified in the anchor until another condition is met.
108
+ - For `"default":`, specify an array of integers that specify tab stops when no condition is met.
109
+ The following example sets tab stops after columns 1, 2, 3 and 4 after the line `DATA DIVISION`, after columns 3, 5 and 70 after the line `PROCEDURE DIVISION` and after columns 5, 10 and 15 elsewhere.
110
+ ```
111
+ "cobol-lsp.smart-tab": {
112
+ "default": [5, 10, 15],
113
+ "anchors": {
114
+ "DATA +DIVISION": [1 ,2, 3, 4],
115
+ "PROCEDURE +DIVISION": [3, 5, 70]
116
+ }
117
+ }
118
+ ```
119
+
120
+ ### Dialect Add-ons
121
+
122
+ Many companies have their own COBOL preprocessors which complement or modify standard IBM enterprise COBOL with custom statements and keywords. In our documentation, we refer to these preprocessors as "dialects".
123
+
124
+ Dialect add-ons are available to add support for specific language analysis in your COBOL files. Currently an add-on for the IDMS dialect is available on the Visual Studio Code Marketplace.
125
+
126
+ Dialect add-ons must be enabled in the COBOL Language Support extension settings. To enable dialect add-ons that you install, complete the following tasks:
127
+
128
+ 1. Ensure that you meet the Java prerequisite described in the add-on readme.
129
+ 2. Set **Cobol-lsp: serverRuntime** to **JAVA** in the your extension settings.
130
+ 3. Add the dialect to the **Cobol-lsp: dialects** array in your workspace extension settings, or to the `preprocessor` parameter in a processor group. For more information, see [Processor Groups](#processor-groups).
131
+
132
+ COBOL Language Support processes dialects in the order you list them in the **Cobol-lsp: dialects** setting or within the `preprocessor` parameter of a processor group. If you list dialects in the wrong order, some pieces of code might be incorrectly processed using the wrong dialect parser and marked as errors.
133
+
134
+ ### SQL Backend Server
135
+
136
+ Set the SQL backend server as either DB2 or Datacom to ensure you use the correct version of the implicit `SQLCA` and `SQLDA` copybooks. To set the SQL backend server, go to **VS Code Settings** > **User** > **Extensions** > **COBOL Language Support** > **Cobol-lsp: Target-sql-backend**. The default setting is DB2.
137
+
138
+ ## Subroutine Support
139
+
140
+ The COBOL Language Support extension supports subroutines specified in CALL statements if the called program is stored in a local folder in your workspace. The Go To Definition and Find All References functionalities, as well as autocomplete, are extended to work for names of subroutines.
141
+
142
+ To enable subroutine support, specify the paths of folders containing subroutine files in your workspace extension settings.
143
+
144
+ 1. Open the COBOL Language Support extension settings.
145
+ 2. Switch from **User** to **Workspace**.
146
+ 3. Under **Subroutine-manager: Paths-local**, specify the paths of the folders containing subroutines.
147
+ - **Tip:** We recommend that you specify relative paths from the workspace root. To obtain the relative path of a folder in your workspace, right-click it in the folder tree and select **Copy Relative Path**.
148
+ - The folders are searched in the order they are listed. If two folders contain a subroutine with the same file name, the one from the folder higher on the list is used.
149
+ 4. Open a program or project.
150
+ Subroutine support features are now enabled.
151
+
152
+ If you specify your subroutine folders using absolute paths or paths containing `../` or `./`, the subroutine folders are not watched for changes. You might need to resolve names of recently added files in your code manually.
153
+
154
+ ## Copybook Support
155
+
156
+ The COBOL Language Support extension supports copybooks used in your source code that are stored in a local folder in your workspace. If you have copybooks stored in mainframe data sets or USS directories, you can use a Zowe Explorer profile to automatically download them from the mainframe to your workspace.
157
+
158
+ To enable copybook support, you specify the folders and data sets that contain copybooks used in your project in the workspace settings. When a copybook is used in the program, the folders and data sets are searched in the order they are listed for files and members that match the name of the copybook. If a copybook with the same file name is located in both a local folder and a remote location, the one in the local folder is used.
159
+
160
+ Copybook support features are disabled for files stored in the folder **.c4z/.extsrcs** in your workspace. If you also use the [Debugger for Mainframe](https://github.com/BroadcomMFD/debugger-for-mainframe) extension to debug your COBOL programs, you might have some files stored in this folder.
161
+
162
+ Configuring copybook support on COBOL Language Support also enables copybook support features of the [COBOL Control Flow](https://marketplace.visualstudio.com/items?itemName=broadcomMFD.ccf) extension.
163
+
164
+ ### Supported Copybook Types
165
+
166
+ COBOL Language Support supports the following copybook types:
167
+
168
+ - IBM COBOL Copybooks, called with the `COPY` statement.
169
+ - Datacom COBOL copybooks, called with the `COPY` statement. Datacom copybooks must be extracted to a mainframe data set or local folder for use in COBOL Language Support. For more information, see the [Datacom documentation](https://techdocs.broadcom.com/datacom).
170
+
171
+ ### Storing Copybooks Locally
172
+
173
+ You can store your copybooks locally in folders in your workspace and specify those folder paths in your workspace extension settings.
174
+
175
+ 1. Open the COBOL Language Support extension settings.
176
+ 2. Switch from **User** to **Workspace**.
177
+ 3. Specify the paths of the folders containing copybooks under **Cpy-manager: Paths-local**.
178
+ - **Tip:** We recommend that you specify relative paths from the workspace root. To obtain the relative path of a folder in your workspace, right-click it in the folder tree and select **Copy Relative Path**.
179
+ - You can use [Glob](https://www.npmjs.com/package/glob) wildcards, such as * to substitute one whole level of the path. For example, specifying the path `*/copybooks` searches all subfolders named "copybooks" in subfolders of your workspace root, while the path `copybooks/*` searches all subfolders one level below the `copybooks` folder in the workspace root. For more information on available wildcards, see the [Glob Primer](https://www.npmjs.com/package/glob#Glob-Primer)
180
+ - The folders are searched in the order they are listed, or in alphabetical order if multiple paths are indexed by a wildcard. If two folders contain a copybook with the same file name, the one from the folder higher on the list is used.
181
+ 4. (Optional) Under **Cpy-manager: Copybook-extensions**, specify the file extensions used for your copybooks. The default supported file extensions are `.cpy` and `.copy`.
182
+ 5. (Optional) Under **Cpy-manager: Copybook-file-encoding**, specify the file encoding used in your copybooks.
183
+ 6. Open a program or project.
184
+ Copybook support features are now enabled.
185
+
186
+
187
+ If you specify your copybook folders using absolute paths or paths containing `../` or `./`, the copybook folders are not watched for changes. You might need to resolve names of recently added copybooks in your code manually.
188
+
189
+ To resolve copybook names manually, hover over the copybook name with the error underline, select **Quick Fix...** and **Resolve copybook**.
190
+
191
+ ### Retrieving Copybooks from the Mainframe
192
+
193
+ You can also set up automatic copybook retrieval from the mainframe to download copybooks from mainframe data sets and USS directories to your workspace.
194
+
195
+ 1. Ensure that you have a [Zowe Explorer profile](https://docs.zowe.org/stable/user-guide/ze-profiles/) configured, with credentials and a connection URL defined.
196
+ 2. Open the COBOL Language Support extension settings.
197
+ 3. Switch from **User** to **Workspace**.
198
+ 4. Under **Cpy-manager: Paths-dsn**, list the names of any number of partitioned data sets on the mainframe to search for copybooks. The data sets are searched in the order they are listed, so if two data sets contain a copybook with the same member name, the one from the data set higher on the list is downloaded.
199
+ 5. Under **Cpy-manager: Paths-uss**, list absolute paths of directories on USS subsystems to search for copybooks. The directories are searched in the order they are listed, so if two directories contain a copybook with the same member name, the one from the directory higher on the list is downloaded. If copybooks with the same name are found in both a mainframe data set and a USS directory, the one from the mainframe data set is downloaded.
200
+ 6. Under **Cpy-manager: Profiles**, enter the name of your Zowe Explorer profile.
201
+ 7. (Optional) Under **Cpy-manager: Copybook-extensions**, specify the file extensions used for your copybooks. The default supported file extensions are `.cpy` and `.copy`.
202
+ 8. (Optional) Under **Cpy-manager: Copybook-file-encoding**, specify the file encoding used in your copybooks.
203
+ 9. Open a program or project.
204
+ All copybooks used in the program or project which are not stored locally are downloaded from the mainframe data sets and USS directories that you specified in steps 4 and 5.
205
+ Copybook support features are now enabled.
206
+
207
+ Copybooks that you retrieve from mainframe data sets are stored in the **.c4z/.copybooks** directory within the workspace, which is created automatically.
208
+
209
+ We recommend that you refresh your copybooks from time to time. To refresh your copybooks, press **F1** and run the command **Clear downloaded copybooks**. This command clears the **.c4z/.copybooks** directory so that copybooks are downloaded again from the mainframe.
210
+
211
+ ### Copybook Support Features
212
+
213
+ The extension includes the following copybook support features:
214
+
215
+ #### Syntax and Semantic Check
216
+
217
+ Syntax and semantic analysis are enabled for keywords, variables, and paragraphs across all copybooks used in the COBOL file, to ensure and maintain compatibility of copybooks called in code.
218
+
219
+ The semantic analysis feature takes into account `COPY REPLACING` statements which alter the content of copybooks when checking for errors.
220
+
221
+ #### Syntax Coloring
222
+
223
+ Syntax coloring is automatically enabled for copybook files with the extension `.cpy` and `.copy`, as long as they are used in the main COBOL file. You can also select the **COBOL Copybook** language mode to enable syntax coloring for copybook files.
224
+
225
+ #### Go To Definition and Find All References
226
+
227
+ The Find All References and Go To Definition functionalities are extended to work for occurrences of copybook names, variables and paragraphs in the main COBOL file.
228
+
229
+ * **Find All References** identifies all occurrences of variables and paragraphs from copybooks in the code.
230
+ * **Go To Definition** enables you to right-click on any variable or paragraph to reveal a definition of the element. If the definition is in a copybook, or the name of a copybook, the copybook opens.
231
+
232
+ ![Go To Definition in a copybook](https://github.com/eclipse/che-che4z-lsp-for-cobol/raw/HEAD/docs/images/CPYGoToDefinition.gif)
233
+
234
+ #### Other
235
+
236
+ * Inbuilt protection against recursive and missing copybooks. If the copybook is missing or contains looping code, an error displays, preventing issues only being discovered when the code is executed.
237
+ * Variables and paragraphs are defined across copybooks. This ensures consistency of code, and prevents issues in error diagnostics caused by incorrect variables or paragraphs in code.
238
+ * Functionality to skip variable levels when called, reducing call time.
239
+
240
+ ## Processor Groups
241
+
242
+ Use processor groups to link programs with specific dialects, SQL backend settings, copybook extensions, compiler options, and local folders containing copybooks. You define processor groups in a `proc_grps.json` file and associate processor groups with programs in a `pgm_conf.json` file. Create both of these files in a `/.cobolplugin` folder in your workspace root.
243
+
244
+ The `proc_grps.json` file is formatted as an array of JSON elements, with one JSON per processor group. Each processor group can contain the following elements:
245
+
246
+ - **"name":** (string)
247
+ - Specify a name for the processor group.
248
+ - (Optional) **"libs":** (array)
249
+ - Specify libraries that contain copybooks as either absolute or relative local paths. These libraries are used to search for copybooks in programs linked with this processor group, and take priority over the local copybook libraries that you specify in the extension settings.
250
+ - (Optional) **"copybook-extensions":** (array)
251
+ - Specify copybook extensions that you use for the programs linked with this processor groups. These copybook extensions take priority over extensions that you specify in the extension settings.
252
+ - (Optional) **"compiler-options":** (array)
253
+ - Specify compiler directives that you want to apply to the programs linked with this processor group. Currently the following directives are supported:
254
+ - QUALIFY(*EXTEND|COMPAT*)
255
+ - XMLPARSE(*XMLSS|COMPAT*)
256
+ - For more information on COBOL compiler options, see the [IBM Enterprise COBOL documentation](https://www.ibm.com/docs/en/cobol-zos/6.3?topic=guide-enterprise-cobol-compiler-options).
257
+ - (Optional) **"preprocessor":** (array)
258
+ - Specify dialect and SQL preprocessors that you want to apply to the programs linked with this processor group. See the [Preprocessors](#preprocessors) section below for further information.
259
+
260
+ ### Preprocessors
261
+
262
+ Specify preprocessors to enable specific dialects and SQL backend settings for the programs linked to a processor group. You can also specify libraries that contain copybooks that use a specific dialect.
263
+
264
+ Each preprocessor is formatted as a JSON element containing a name, which identifies the type of preprocessor, and other parameters which specify the configuration. As the `preprocessor` element of the `proc_grps.json` file is an array, you can specify more than one preprocessor per processor group.
265
+
266
+ #### SQL Backend Preprocessor
267
+
268
+ The SQL backend preprocessor is used to override the SQL server that you specify in the extension settings. This preprocessor has the following parameters:
269
+
270
+ - **"name":** (string)
271
+ - Specify **SQL**
272
+ - **"target-sql-backend":** (string)
273
+ - Specify either **DB2_SERVER** or **DATACOM_SERVER**
274
+
275
+ #### Dialect Preprocessor
276
+
277
+ A dialect preprocessor can be used to enable a COBOL dialect for a particular processor group and specify libraries which contain copybooks written in that dialect. Dialects that you enable in processor groups take priority over those that you specify in the extension settings. A dialect preprocessor has the following parameters:
278
+
279
+ - **"name":** (string)
280
+ - Specify the name of a dialect.
281
+ - (Optional) **"libs":** (array)
282
+ - Specify libraries that contain copybooks written in the specified dialect as either absolute or relative local paths. These libraries are used to search for copybooks in programs linked with this processor group, and take priority over the local copybook libraries that you specify in the extension settings.
283
+
284
+ ### Program configuration file
285
+
286
+ The program configuration file, `pgm_conf.json`, links programs to processor groups. The program configuration file has the following format:
287
+
288
+ ```
289
+ {
290
+ "pgms": [
291
+ { "program": "PROGRAM1", "pgroup": "GROUP1" },
292
+ { "program": "PROGRAM2", "pgroup": "GROUP2" },
293
+ ]
294
+ }
295
+ ```
296
+
297
+ Each element contains the following parameters:
298
+
299
+ - **"program":** (string)
300
+ - Specify a program name. This field can be wildcarded.
301
+ - **"pgroup":** (string)
302
+ - Specify the name of a procecssor group that is defined in `proc_grps.json`.
303
+
304
+ ### Example
305
+
306
+ Using the example `pgm_conf.json` file above, the following `proc_grps.json` example enables the following:
307
+
308
+ - Copybooks from libraries LIB1 and LIB2, with the extensions ".cpy" and ".copy", are used with PROGRAM1.
309
+ - The QUALIFY(EXTEND) and XMLPARSE(COMPAT) compiler options are enabled for PROGRAM1.
310
+ - The IDMS dialect is enabled for PROGRAM2, and IDMS copybooks from LIB3 and LIB4 are used with PROGRAM2.
311
+ - The DB2 SQL server is enabled for PROGRAM2.
312
+ - Non-IDMS copybooks from libraries LIB5 and LIB6 are used with PROGRAM2.
313
+
314
+ ```
315
+ {
316
+ "pgroups": [
317
+ {
318
+ "name": "GROUP1",
319
+ "libs": [
320
+ "LIB1", "LIB2"
321
+ ],
322
+ "copybook-extensions": [
323
+ ".cpy", ".copy"
324
+ ],
325
+ "compiler-options": [
326
+ "QUALIFY(EXTEND)", "XMLPARSE(COMPAT)"
327
+ ]
328
+ },
329
+ {
330
+ "name": "GROUP2",
331
+ "preprocessor": [
332
+ {
333
+ "name": "IDMS",
334
+ "libs": [
335
+ "LIB3", "LIB4"
336
+ ]
337
+ },
338
+ {
339
+ "name": "SQL",
340
+ "target-sql-backend": "DB2_SERVER"
341
+ }
342
+ ],
343
+ "libs": [
344
+ "LIB5", "LIB6"
345
+ ]
346
+ }
347
+ ]
348
+ }
349
+ ```
350
+
351
+ ## Troubleshooting
352
+
353
+ To enable troubleshooting logs for the LSP server, specify a value for the parameter **cobol-lsp.logging.level.root** in the extension settings. Specify one of the following values:
354
+
355
+ * ERROR
356
+ * WARN
357
+ * INFO
358
+ * DEBUG
359
+ * TRACE
360
+ * ALL
361
+
362
+ These values are ordered from returning the least information ("ERROR"; errors only) to the most information ("ALL"; all details).
363
+
364
+ To view troubleshooting logs, open the output panel and select **COBOL Language Support** from the drop-down menu.
365
+
366
+ ## Technical Assistance and Support for COBOL Language Support
367
+
368
+ The COBOL Language Support extension is made available to customers on the Visual Studio Code Marketplace in accordance with the terms and conditions contained in the provided End-User License Agreement (EULA).
369
+
370
+ If you are on active support for Brightside, you get technical assistance and support in accordance with the terms, guidelines, details, and parameters that are located within the Broadcom [Working with Support](https://support.broadcom.com/external/content/release-announcements/CA-Support-Policies/6933) guide.
371
+
372
+ This support generally includes:
373
+
374
+ * Telephone and online access to technical support
375
+ * Ability to submit new incidents 24x7x365
376
+ * 24x7x365 continuous support for Severity 1 incidents
377
+ * 24x7x365 access to Broadcom Support
378
+ * Interactive remote diagnostic support
379
+ * Technical support cases must be submitted to Broadcom in accordance with guidance provided in “Working with Support”.
380
+
381
+ Note: To receive technical assistance and support, you must remain compliant with “Working with Support”, be current on all applicable licensing and maintenance requirements, and maintain an environment in which all computer hardware, operating systems, and third party software associated with the affected Broadcom software are on the releases and version levels from the manufacturer that Broadcom designates as compatible with the software. Changes you elect to make to your operating environment could detrimentally affect the performance of Broadcom software and Broadcom shall not be responsible for these effects or any resulting degradation in performance of the Broadcom software. Severity 1 cases must be opened via telephone and elevations of lower severity incidents to Severity 1 status must be requested via telephone.
382
+
383
+ ## Privacy Notice
384
+ The extensions for Visual Studio Code developed by Broadcom Inc., including its corporate affiliates and subsidiaries, ("Broadcom") are provided free of charge, but in order to better understand and meet its users’ needs, Broadcom may collect, use, analyze and retain anonymous users’ metadata and interaction data, (collectively, “Usage Data”) and aggregate such Usage Data with similar Usage Data of other Broadcom customers. Please find more detailed information in [License and Service Terms & Repository](https://www.broadcom.com/company/legal/licensing).
385
+
386
+ This data collection uses built-in Microsoft VS Code Telemetry, which can be disabled, at your sole discretion, if you do not want to send Usage Data.
387
+
388
+ The current release of COBOL Language Support collects anonymous data for the following events:
389
+ * Activation of this VS Code extension
390
+ * Problem interaction
391
+ * Quick Fix
392
+ * Invalid ZOWE credentials
393
+ * ZOWE connection issues
394
+ * Java version issues
395
+
396
+ Each such event is logged with the following information:
397
+ * Event time
398
+ * Operating system and version
399
+ * Country or region
400
+ * Anonymous user and session ID
401
+ * Version numbers of Microsoft VS Code and COBOL Language Support
@@ -0,0 +1,256 @@
1
+ ## 0.24.1 - December 5. 2023
2
+ - Logo/icon
3
+
4
+ ## 0.24.0 - September 30, 2022
5
+ - Remove unused dependency
6
+ - Update solargraph-utils
7
+ - Configure shell from automation settings
8
+ - Enable String as Input for Port Config (#257)
9
+ - A few external server/docker improvements (#255)
10
+ - Handle null hover (#259)
11
+
12
+ ## 0.23.0 - May 30, 2021
13
+ - Update vscode-languageclient
14
+ - Use LSP progress reporting
15
+ - Stop converting brackets in documentation
16
+
17
+ ## 0.22.1 - May 10, 2021
18
+ - Update configuration title
19
+ - Make the commandPath setting portable
20
+
21
+ ## 0.22.0 - November 17, 2019
22
+ - Updated solargraph-utils (improved rvm/rbenv support)
23
+ - Avoid using workspace.rootPath (#139)
24
+ - Fix brackets in documentation
25
+
26
+ ## 0.21.1 - August 11, 2019
27
+ - Adjusted scopes for path settings
28
+
29
+ ## 0.21.0 - August 10, 2019
30
+ - Update html2plaintext
31
+ - Machine-scoped settings
32
+
33
+ ## 0.20.0 - July 5, 2019
34
+ - Updated vscode package
35
+ - Deactivation stops the language server
36
+ - Friendlier error message for gem doc commands
37
+ - Add solargraph configuration to initializationOptions
38
+ - Updated Mocha
39
+ - Improved support for rvm and rbenv
40
+
41
+ ## 0.19.6 - April 5, 2019
42
+ - Removed debug output
43
+ - Updating the gem restarts the language server
44
+ - Handle empty MarkupContent values
45
+
46
+ ## 0.19.5 - April 4, 2019
47
+ - Fixed MarkupContent documentation conversion
48
+
49
+ ## 0.19.4 - April 3, 2019
50
+ - Removed unused dependencies
51
+ - Removed plugin documentation from README
52
+ - Support MarkupContent in CompletionItem documentation
53
+
54
+ ## 0.19.3 - February 7, 2019
55
+ - Display spinner while Solargraph is initializing
56
+
57
+ ## 0.19.2 - January 28, 2019
58
+ - solargraph._openDocumentUrl escapes special characters
59
+ - Show error message when solargraph gem is not installed
60
+
61
+ ## 0.19.1 - December 28, 2018
62
+ - Fixed FileSystemWatcher glob pattern
63
+
64
+ ## 0.19.0 - December 26, 2018
65
+ - Dispose "Rebuilding all gem documentation" status notification
66
+ - Language client watches a more specific file pattern
67
+ - Log level configuration
68
+ - Folding ranges configuration
69
+ - Environment command
70
+ - Upgrade to Webview API
71
+ - Updated solargraph-utils
72
+
73
+ ## 0.18.0 - December 5, 2018
74
+ - Package updates
75
+ - Status bar notifications for gem documentation
76
+ - Transport and externalServer configuration
77
+ - Updated solargraph-utils
78
+
79
+ ## 0.17.6 - July 16, 2018
80
+ - Include visibility in method document pages
81
+
82
+ ## 0.17.5 - July 9, 2018
83
+ - Package updates
84
+ - Error message for gems missing the `socket` command
85
+ - Dynamic registration for symbols, definitions, rename, and references
86
+
87
+ ## 0.17.4 - May 29, 2018
88
+ - solargraph.downloadCore command
89
+ - Updated README
90
+
91
+ ## 0.17.3 - May 18, 2018
92
+ - Missing solargraph.config command
93
+
94
+ ## 0.17.2 - May 17, 2018
95
+ - Improved messages for solargraph executable failures
96
+
97
+ ## 0.17.1 - May 8, 2018
98
+ - Use original gem version check
99
+
100
+ ## 0.17.0 - May 7, 2018
101
+ - Dynamic registration options
102
+ - Commands for building gem documentation
103
+
104
+ ## 0.16.0 - April 16, 2018
105
+ - `solargraph.diagnostics` default is false
106
+ - Updated solargraph-utils
107
+
108
+ ## 0.15.0 - April 10, 2018
109
+ - Removed rebornix.Ruby integration checks
110
+ - Enabled gem notifications
111
+
112
+ ## 0.14.1 - April 5, 2018
113
+ - Fixed server start after gem updates.
114
+
115
+ ## 0.14.0 - April 5, 2018
116
+ - First version of language server
117
+ - Allow commandPath and bundlerPath in workspace configuration
118
+
119
+ ## 0.13.0 - March 6, 2018
120
+ - bundlerPath configuration option
121
+ - Disabled installation notification
122
+
123
+ ## 0.12.0 - February 3, 2018
124
+ - Go to/peek definition support
125
+ - Update solargraph-utils for improved shell detection
126
+
127
+ ## 0.11.3 - January 31, 2018
128
+ - Handle undefined workspace folders
129
+
130
+ ## 0.11.2 - January 31, 2018
131
+ - Updated solargraph-utils to fix shell argument bug
132
+ - Invoke explicit bash shell on darwin and linux
133
+
134
+ ## 0.11.1 - January 26, 2018
135
+ - Check Ruby extension's code completion setting
136
+
137
+ ## 0.11.0 - January 17, 2018
138
+ - First version of download core command
139
+ - Documentation page tweaks
140
+ - Method parameters in document pages
141
+ - Fixed bug in completion of symbols with leading underscores
142
+ - Fixed document page links
143
+ - Always display suggestion paths
144
+ - Multi-root workspace support
145
+
146
+ ## 0.10.3 - December 12, 2017
147
+ - Use suggestion's has_doc property to determine whether to resolve documentation
148
+ - Fix document links in expanded documentation
149
+
150
+ ## 0.10.2 - December 4, 2017
151
+ - README explains the Runtime plugin and how to update the core documentation
152
+ - Reload inline documents to keep them in sync with the workspace
153
+
154
+ ## 0.10.1 - November 26, 2017
155
+ - Minor path resolution bugs
156
+
157
+ ## 0.10.0 - November 26, 2017
158
+ - Do not repeat paths in hovers.
159
+ - First version of Rails and stdlib support
160
+ - Update vscode engine
161
+ - Support document links in CompletionItem documentation
162
+ - Resolve completion item detail separately
163
+ - Update to solargraph-utils 0.3.3
164
+
165
+ ## 0.9.1 - October 30, 2017
166
+ - Provide completion items for global variables
167
+
168
+ ## 0.9.0 - October 4, 2017
169
+ - Update solargraph-utils
170
+ - Quick file updates (single file vs. entire workspace)
171
+ - Eliminated local yardoc dependency
172
+
173
+ ## 0.8.0 - September 12, 2017
174
+ - Show @ characters in class/instance variable labels.
175
+ - Prepare workspace on server restart.
176
+ - Use MarkdownString for trusted command links.
177
+
178
+ ## 0.7.1 - September 5, 2017
179
+ - solargraph.checkGemVersion setting
180
+ - solargraph.checkGemVersion command
181
+
182
+ ## 0.7.0 - August 9, 2017
183
+ - Constant completion item kind.
184
+ - Detect class variables and infer types.
185
+ - Detect yield parameters in method blocks.
186
+
187
+ ## 0.6.0 - August 7, 2017
188
+ - Display error message when gem test fails.
189
+ - Updated solargraph-utils version.
190
+ - Restart the server when the configuration changes.
191
+ - Message actions for installing and updating the gem.
192
+
193
+ ## 0.5.1 - August 1, 2017
194
+ - Display param tag info in method documentation.
195
+ - Config file command.
196
+
197
+ ## 0.5.0 - July 5, 2017
198
+ - Use solargraph-utils for Solargraph gem integration.
199
+ - Additional HTML to plain text conversions.
200
+
201
+ ## 0.4.1 - June 14, 2017
202
+ - Use html2plaintext to convert documentation.
203
+ - Do not prepare workspace (i.e., run yardoc update) if root path is undefined.
204
+
205
+ ## 0.4.0 - June 12, 2017
206
+ - Restart server command.
207
+ - Commands activate extension.
208
+ - Removed useServer configuration (extension always requires server for now).
209
+ - Completion items display arguments, return value, path, and documentation.
210
+ - Convert HTML to plain text in documentation.
211
+
212
+ ## 0.3.2 - June 6, 2017
213
+ - Field and Property completion item kinds.
214
+
215
+ ## 0.3.1 - June 2, 2017
216
+ - Fixed instance variable completion bug.
217
+
218
+ ## 0.3.0 – May 24th, 2017
219
+ - Only set CompletionItem.insertText to SnippetString if suggestion kind is Snippet.
220
+ - Arguments removed from CompletionItem labels.
221
+ - Signature help for method arguments.
222
+ - The extension requires the Solargraph server for the time being. Running processes for queries is too cumbersome.
223
+ - Display popup documentation on hover with links to documentation.
224
+ - Code completion detail includes arguments for methods.
225
+ - Code analysis notifications in status bar.
226
+
227
+ ## 0.2.6
228
+ - Setting to choose whether the gem includes snippets in suggestions. Defaults to false.
229
+
230
+ ## 0.2.5
231
+ - Solargraph server manages the workspace yardoc.
232
+
233
+ ## 0.2.4
234
+ - Trigger workspace refresh on file saves. (This eliminates the need for the server's constant_updates thread.)
235
+
236
+ ## 0.2.3
237
+ - Documentation for the @type tag
238
+
239
+ ## 0.2.2
240
+ - Kill Solargraph server process on deactivation
241
+
242
+ ## 0.1.1
243
+ - Minor documentation updates
244
+
245
+ ## 0.1.0
246
+ - Check for Solargraph gem updates
247
+ - Use server instead of command line for better performance
248
+ - Serial files are no longer used
249
+
250
+ ## 0.0.2
251
+ - Updated README and package metadata (author, keywords, etc.)
252
+ - Added icon
253
+ - Reduced console output
254
+
255
+ ## 0.0.1
256
+ - Initial release