@codingame/monaco-editor-wrapper 5.3.1 → 5.4.0-full-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.
- package/dist/assets/Angular.ng-template-17.1.0.vsix/CHANGELOG.md +969 -0
- package/dist/assets/Angular.ng-template-17.1.0.vsix/README.md +69 -0
- package/dist/assets/Angular.ng-template-17.1.0.vsix/angular.png +0 -0
- package/dist/assets/Dart-Code.dart-code-3.81.20240117.vsix/CHANGELOG.md +1 -0
- package/dist/assets/Dart-Code.dart-code-3.81.20240117.vsix/README.md +89 -0
- package/dist/assets/Dart-Code.dart-code-3.81.20240117.vsix/dart.png +0 -0
- package/dist/assets/IMCTradingBV.svlangserver-0.4.1.vsix/CHANGELOG.md +56 -0
- package/dist/assets/IMCTradingBV.svlangserver-0.4.1.vsix/README.md +320 -0
- package/dist/assets/IMCTradingBV.svlangserver-0.4.1.vsix/icon.png +0 -0
- package/dist/assets/JakeBecker.elixir-ls-0.19.0.vsix/CHANGELOG.md +997 -0
- package/dist/assets/JakeBecker.elixir-ls-0.19.0.vsix/README.md +219 -0
- package/dist/assets/JakeBecker.elixir-ls-0.19.0.vsix/logo.png +0 -0
- package/dist/assets/JuanBlanco.solidity-0.0.165.vsix/README.md +416 -0
- package/dist/assets/JuanBlanco.solidity-0.0.165.vsix/icon.png +0 -0
- package/dist/assets/REditorSupport.r-2.8.2.vsix/CHANGELOG.md +987 -0
- package/dist/assets/REditorSupport.r-2.8.2.vsix/README.md +78 -0
- package/dist/assets/REditorSupport.r-2.8.2.vsix/Rlogo.png +0 -0
- package/dist/assets/alefragnani.pascal-9.6.0.vsix/CHANGELOG.md +188 -0
- package/dist/assets/alefragnani.pascal-9.6.0.vsix/README.md +249 -0
- package/dist/assets/alefragnani.pascal-9.6.0.vsix/icon.png +0 -0
- package/dist/assets/batisteo.vscode-django-1.15.0.vsix/CHANGELOG.md +7 -0
- package/dist/assets/batisteo.vscode-django-1.15.0.vsix/README.md +99 -0
- package/dist/assets/batisteo.vscode-django-1.15.0.vsix/vscode-django-icon.png +0 -0
- package/dist/assets/bitwisecook.tcl-0.4.3.vsix/CHANGELOG.md +4 -0
- package/dist/assets/bitwisecook.tcl-0.4.3.vsix/README.md +19 -0
- package/dist/assets/bitwisecook.tcl-0.4.3.vsix/Tcl-powered.png +0 -0
- package/dist/assets/broadcomMFD.cobol-language-support-2.1.0.vsix/CHANGELOG.md +469 -0
- package/dist/assets/broadcomMFD.cobol-language-support-2.1.0.vsix/README.md +401 -0
- package/dist/assets/broadcomMFD.cobol-language-support-2.1.0.vsix/logo.png +0 -0
- package/dist/assets/castwide.solargraph-0.24.1.vsix/CHANGELOG.md +256 -0
- package/dist/assets/castwide.solargraph-0.24.1.vsix/README.md +178 -0
- package/dist/assets/castwide.solargraph-0.24.1.vsix/solargraph.png +0 -0
- package/dist/assets/ckolkman.vscode-postgres-1.4.3.vsix/CHANGELOG.md +232 -0
- package/dist/assets/ckolkman.vscode-postgres-1.4.3.vsix/README.md +86 -0
- package/dist/assets/golang.Go-0.40.3.vsix/CHANGELOG.md +2934 -0
- package/dist/assets/golang.Go-0.40.3.vsix/README.md +217 -0
- package/dist/assets/golang.Go-0.40.3.vsix/go-logo-blue.png +0 -0
- package/dist/assets/johnsoncodehk.vscode-angular-1.0.22.vsix/README.md +44 -0
- package/dist/assets/justusadam.language-haskell-3.6.0.vsix/CHANGELOG.md +357 -0
- package/dist/assets/justusadam.language-haskell-3.6.0.vsix/README.md +68 -0
- package/dist/assets/justusadam.language-haskell-3.6.0.vsix/logo.png +0 -0
- package/dist/assets/mathiasfrohlich.Kotlin-1.7.1.vsix/CHANGELOG.md +43 -0
- package/dist/assets/mathiasfrohlich.Kotlin-1.7.1.vsix/README.md +40 -0
- package/dist/assets/mathiasfrohlich.Kotlin-1.7.1.vsix/icon.png +0 -0
- package/dist/assets/ms-dotnettools.csharp-2.16.24.vsix/CHANGELOG.md +1697 -0
- package/dist/assets/ms-dotnettools.csharp-2.16.24.vsix/README.md +87 -0
- package/dist/assets/ms-dotnettools.csharp-2.16.24.vsix/csharpIcon.png +0 -0
- package/dist/assets/ms-python.python-2023.25.10221012.vsix/CHANGELOG.md +11139 -0
- package/dist/assets/ms-python.python-2023.25.10221012.vsix/README.md +105 -0
- package/dist/assets/ms-python.python-2023.25.10221012.vsix/icon.png +0 -0
- package/dist/assets/ms-vscode.cpptools-1.19.2.vsix/CHANGELOG.md +2180 -0
- package/dist/assets/ms-vscode.cpptools-1.19.2.vsix/LanguageCCPP_color_128x.png +0 -0
- package/dist/assets/ms-vscode.cpptools-1.19.2.vsix/README.md +78 -0
- package/dist/assets/ocamllabs.ocaml-platform-1.16.1.vsix/CHANGELOG.md +510 -0
- package/dist/assets/ocamllabs.ocaml-platform-1.16.1.vsix/README.md +539 -0
- package/dist/assets/ocamllabs.ocaml-platform-1.16.1.vsix/logo.png +0 -0
- package/dist/assets/pgourlain.erlang-0.9.8.vsix/CHANGELOG.md +802 -0
- package/dist/assets/pgourlain.erlang-0.9.8.vsix/README.md +101 -0
- package/dist/assets/pgourlain.erlang-0.9.8.vsix/icon.png +0 -0
- package/dist/assets/redhat.java-1.27.2024012608.vsix/CHANGELOG.md +1571 -0
- package/dist/assets/redhat.java-1.27.2024012608.vsix/README.md +283 -0
- package/dist/assets/redhat.java-1.27.2024012608.vsix/icon128.png +0 -0
- package/dist/assets/scala-lang.scala-0.5.7.vsix/CHANGELOG.md +276 -0
- package/dist/assets/scala-lang.scala-0.5.7.vsix/README.md +33 -0
- package/dist/assets/scala-lang.scala-0.5.7.vsix/smooth-spiral.png +0 -0
- package/dist/assets/scalameta.metals-1.27.3.vsix/README.md +600 -0
- package/dist/assets/scalameta.metals-1.27.3.vsix/logo.png +0 -0
- package/dist/assets/sumneko.lua-3.7.4.vsix/README.md +101 -0
- package/dist/assets/sumneko.lua-3.7.4.vsix/changelog.md +1965 -0
- package/dist/assets/sumneko.lua-3.7.4.vsix/logo.png +0 -0
- package/dist/assets/svelte.svelte-vscode-108.2.1.vsix/CHANGELOG.md +3 -0
- package/dist/assets/svelte.svelte-vscode-108.2.1.vsix/README.md +100 -0
- package/dist/assets/svelte.svelte-vscode-108.2.1.vsix/logo.png +0 -0
- package/dist/assets/webfreak.code-d-0.23.2.vsix/CHANGELOG.md +543 -0
- package/dist/assets/webfreak.code-d-0.23.2.vsix/README.md +81 -0
- package/dist/assets/webfreak.code-d-0.23.2.vsix/dlogo-square.png +0 -0
- package/dist/extensions/Angular.ng-template-17.1.0.vsix.js +8 -2
- package/dist/extensions/Dart-Code.dart-code-3.81.20240117.vsix.js +8 -4
- package/dist/extensions/IMCTradingBV.svlangserver-0.4.1.vsix.js +8 -2
- package/dist/extensions/JakeBecker.elixir-ls-0.19.0.vsix.js +8 -2
- package/dist/extensions/JuanBlanco.solidity-0.0.165.vsix.js +6 -2
- package/dist/extensions/REditorSupport.r-2.8.2.vsix.js +8 -4
- package/dist/extensions/alefragnani.pascal-9.6.0.vsix.js +8 -2
- package/dist/extensions/batisteo.vscode-django-1.15.0.vsix.js +8 -2
- package/dist/extensions/bitwisecook.tcl-0.4.3.vsix.js +8 -2
- package/dist/extensions/broadcomMFD.cobol-language-support-2.1.0.vsix.js +8 -2
- package/dist/extensions/castwide.solargraph-0.24.1.vsix.js +8 -2
- package/dist/extensions/ckolkman.vscode-postgres-1.4.3.vsix.js +6 -4
- package/dist/extensions/golang.Go-0.40.3.vsix.js +8 -2
- package/dist/extensions/johnsoncodehk.vscode-angular-1.0.22.vsix.js +4 -2
- package/dist/extensions/justusadam.language-haskell-3.6.0.vsix.js +8 -2
- package/dist/extensions/mathiasfrohlich.Kotlin-1.7.1.vsix.js +8 -2
- package/dist/extensions/ms-dotnettools.csharp-2.16.24.vsix.js +8 -2
- package/dist/extensions/ms-python.python-2023.25.10221012.vsix.js +8 -2
- package/dist/extensions/ms-vscode.cpptools-1.19.2.vsix.js +8 -2
- package/dist/extensions/ocamllabs.ocaml-platform-1.16.1.vsix.js +8 -4
- package/dist/extensions/pgourlain.erlang-0.9.8.vsix.js +8 -2
- package/dist/extensions/redhat.java-1.27.2024012608.vsix.js +8 -2
- package/dist/extensions/scala-lang.scala-0.5.7.vsix.js +8 -2
- package/dist/extensions/scalameta.metals-1.27.3.vsix.js +6 -4
- package/dist/extensions/sumneko.lua-3.7.4.vsix.js +8 -2
- package/dist/extensions/svelte.svelte-vscode-108.2.1.vsix.js +8 -2
- package/dist/extensions/webfreak.code-d-0.23.2.vsix.js +8 -2
- package/dist/features/workbench.d.ts +5 -0
- package/dist/features/workbench.js +20 -0
- package/dist/services.js +3 -1
- package/dist/tools.js +10 -26
- package/package.json +81 -75
- package/stats.html +1 -1
- package/dist/assets/Dart-Code.dart-code-3.81.20240117.vsix/flutter_activity_bar.svg +0 -14
- package/dist/assets/REditorSupport.r-2.8.2.vsix/Rlogo.svg +0 -14
- package/dist/assets/ckolkman.vscode-postgres-1.4.3.vsix/postgres-explorer.svg +0 -100
- package/dist/assets/ocamllabs.ocaml-platform-1.16.1.vsix/logo.svg +0 -3
- package/dist/assets/scalameta.metals-1.27.3.vsix/scalameta.svg +0 -11
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
# Angular Language Service
|
|
2
|
+
|
|
3
|
+

|
|
4
|
+
|
|
5
|
+
## Features
|
|
6
|
+
|
|
7
|
+
This extension provides a rich editing experience for Angular templates, both inline
|
|
8
|
+
and external templates including:
|
|
9
|
+
|
|
10
|
+
* Completions lists
|
|
11
|
+
* AOT Diagnostic messages
|
|
12
|
+
* Quick info
|
|
13
|
+
* Go to definition
|
|
14
|
+
|
|
15
|
+
## Download
|
|
16
|
+
|
|
17
|
+
Download the extension from [Visual Studio Marketplace](https://marketplace.visualstudio.com/items?itemName=Angular.ng-template).
|
|
18
|
+
|
|
19
|
+
## Configuring compiler options for the Angular Language Service
|
|
20
|
+
|
|
21
|
+
The Angular Language Service uses the same set of options that are used to compile the application.
|
|
22
|
+
To get the most complete information in the editor, set the `strictTemplates` option in `tsconfig.json`,
|
|
23
|
+
as shown in the following example:
|
|
24
|
+
|
|
25
|
+
```
|
|
26
|
+
"angularCompilerOptions": {
|
|
27
|
+
"strictTemplates": true
|
|
28
|
+
}
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
For more information, see the [Angular compiler options](https://angular.io/guide/angular-compiler-options) guide.
|
|
32
|
+
|
|
33
|
+
## Versioning
|
|
34
|
+
|
|
35
|
+
The language service extension relies on the `@angular/language-service` and `typescript` packages
|
|
36
|
+
for its backend. `@angular/language-service` is always bundled with the extension, and is always
|
|
37
|
+
the latest version at the time of the release.
|
|
38
|
+
`typescript` is loaded, in order of priority, from:
|
|
39
|
+
|
|
40
|
+
1. The path specified by `typescript.tsdk` in project or global settings.
|
|
41
|
+
2. _(Recommended)_ The version of `typescript` bundled with the Angular Language Service extension.
|
|
42
|
+
3. The version of `typescript` present in the current workspace's node_modules.
|
|
43
|
+
|
|
44
|
+
We suggest **not** specifying `typescript.tsdk` in your VSCode settings
|
|
45
|
+
per method (1) above. If the `typescript` package is loaded by
|
|
46
|
+
methods (1) or (3), there is a potential for a mismatch between
|
|
47
|
+
the API expected by `@angular/language-service` and the API provided by `typescript`. This could
|
|
48
|
+
lead to a failure of the language service extension.
|
|
49
|
+
|
|
50
|
+
For more information, please see [#594](https://github.com/angular/vscode-ng-language-service/issues/594).
|
|
51
|
+
|
|
52
|
+
## Installing a particular release build
|
|
53
|
+
|
|
54
|
+
Download the `.vsix` file for the release that you want to install from the [releases](https://github.com/angular/vscode-ng-language-service/releases) tab.
|
|
55
|
+
|
|
56
|
+
*Do not open the .vsix file directly*. Instead, in Visual Studio code, go to the extensions tab. Click on the "..." menu in the upper right corner of the extensions tab, select "Install from vsix..." and then select the .vsix file for the release you just downloaded.
|
|
57
|
+
|
|
58
|
+
The extension can also be installed with the following command:
|
|
59
|
+
|
|
60
|
+
```
|
|
61
|
+
code --install-extension /path/to/ngls.vsix
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
## Angular Language Service for Other Editors
|
|
65
|
+
|
|
66
|
+
- [coc-angular](https://github.com/iamcco/coc-angular) for ([Neo](https://neovim.io))[vim](https://www.vim.org/)
|
|
67
|
+
- [nvim-lspconfig](https://github.com/neovim/nvim-lspconfig/blob/master/doc/server_configurations.md#angularls) for [Neovim](https://neovim.io)
|
|
68
|
+
- [Wild Web Developer](https://github.com/eclipse/wildwebdeveloper) for Eclipse
|
|
69
|
+
- [lsp-mode](https://github.com/emacs-lsp/lsp-mode) for Emacs
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
Full release notes for all versions can be found at [dartcode.org/releases](https://dartcode.org/releases/).
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
[](https://discord.gg/xSTPEqm)
|
|
2
|
+
[](https://twitter.com/DartCode)
|
|
3
|
+
[](https://github.com/Dart-Code/Dart-Code/blob/master/CONTRIBUTING.md)
|
|
4
|
+
|
|
5
|
+
## Introduction
|
|
6
|
+
|
|
7
|
+
Dart Code extends [VS Code](https://code.visualstudio.com/) with support for the
|
|
8
|
+
[Dart](https://www.dartlang.org/) programming language, and provides tools for
|
|
9
|
+
effectively editing, refactoring, running, and reloading [Flutter](https://flutter.dev/)
|
|
10
|
+
mobile apps.
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
## Installation
|
|
14
|
+
|
|
15
|
+
Dart Code can be [installed from the Visual Studio Code Marketplace](https://marketplace.visualstudio.com/items?itemName=Dart-Code.dart-code) or by [searching within VS Code](https://code.visualstudio.com/docs/editor/extension-gallery#_search-for-an-extension).
|
|
16
|
+
|
|
17
|
+
If you have any issues using Dart Code, please file issues on GitHub at [https://github.com/Dart-Code/Dart-Code/issues/new/choose](https://github.com/Dart-Code/Dart-Code).
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
## Features
|
|
21
|
+
|
|
22
|
+
- Edit and Debug Flutter mobile apps (launch using `F5` or the `Debug` menu)
|
|
23
|
+
- Edit and Debug Dart command line apps (launch using `F5` or the `Debug` menu)
|
|
24
|
+
- [Automatic hot reloads for Flutter](https://dartcode.org/docs/settings/#dartflutterhotreloadonsave)
|
|
25
|
+
- [Refactorings and Code fixes (lightbulb)](https://dartcode.org/docs/refactorings-and-code-fixes/)
|
|
26
|
+
- [Quickly switch between devices for Flutter](https://dartcode.org/docs/quickly-switching-between-flutter-devices/)
|
|
27
|
+
- [Flutter Doctor command](https://dartcode.org/docs/commands/#flutter-run-flutter-doctor)
|
|
28
|
+
- [Flutter Get Packages command](https://dartcode.org/docs/commands/#flutter-get-packages)
|
|
29
|
+
- [Flutter Upgrade Packages command](https://dartcode.org/docs/commands/#flutter-upgrade-packages)
|
|
30
|
+
- [Automatically gets packages when `pubspec.yaml` is saved](https://dartcode.org/docs/settings/#dartrunpubgetonpubspecchanges)
|
|
31
|
+
- [Automatically finds SDKs from `PATH`](https://dartcode.org/docs/configuring-path-and-environment-variables/)
|
|
32
|
+
- [Notification of new stable Dart SDK releases](https://dartcode.org/docs/settings/#dartcheckforsdkupdates)
|
|
33
|
+
- [Sort Members command](https://dartcode.org/docs/commands/#dart-sort-members)
|
|
34
|
+
- Support for debugging "just my code" or SDK/libraries too ([`dart.debugSdkLibraries`](https://dartcode.org/docs/settings/#dartdebugsdklibraries) and [`dart.debugExternalPackageLibraries`](https://dartcode.org/docs/settings/#dartdebugexternalpackagelibraries))
|
|
35
|
+
- [Prompts to get packages when out of date](https://dartcode.org/docs/settings/#dartprompttogetpackages)
|
|
36
|
+
- Syntax highlighting
|
|
37
|
+
- Code completion
|
|
38
|
+
- [Snippets](https://github.com/Dart-Code/Dart-Code/tree/master/snippets)
|
|
39
|
+
- Realtime errors/warnings/TODOs
|
|
40
|
+
- Documentation in hovers/tooltips
|
|
41
|
+
- Go to Definition
|
|
42
|
+
- Find References
|
|
43
|
+
- Rename refactoring
|
|
44
|
+
- Format document
|
|
45
|
+
- Support for format-on-save (`editor.formatOnSave`)
|
|
46
|
+
- Support for format-on-type (`editor.formatOnType`)
|
|
47
|
+
- Workspace symbol search
|
|
48
|
+
- Document symbol search
|
|
49
|
+
- [Organize Imports command](https://dartcode.org/docs/commands/#dart-organize-imports)
|
|
50
|
+
- [Pub Get Packages command](https://dartcode.org/docs/commands/#pub-get-packages)
|
|
51
|
+
- [Pub Upgrade Packages command](https://dartcode.org/docs/commands/#pub-upgrade-packages)
|
|
52
|
+
- [Type Hierarchy](https://dartcode.org/docs/commands/#dart-show-type-hierarchy)
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
## Extension Settings
|
|
56
|
+
|
|
57
|
+
A full list of settings is [available here](https://dartcode.org/docs/settings/).
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
## Frequently Asked Questions
|
|
61
|
+
|
|
62
|
+
A list of frequently asked questions is [available here](https://dartcode.org/faq/).
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
## Key Bindings
|
|
66
|
+
|
|
67
|
+
A list of useful key bindings is [available here](https://dartcode.org/docs/key-bindings/).
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
## Refactorings and Code Fixes
|
|
71
|
+
|
|
72
|
+
A full list of supported refactors is [available here](https://dartcode.org/docs/refactorings-and-code-fixes/).
|
|
73
|
+
|
|
74
|
+
|
|
75
|
+
## Analytics
|
|
76
|
+
|
|
77
|
+
This extension reports some analytics such as:
|
|
78
|
+
|
|
79
|
+
- Extension load and analysis times
|
|
80
|
+
- Version numbers for the Dart/Flutter extensions and SDKs
|
|
81
|
+
- The values of some settings (such as Flutter UI Guidelines and Format-on-Save)
|
|
82
|
+
- Frequency of use of features like Hot Reload and Hot Restart
|
|
83
|
+
|
|
84
|
+
Reporting can be disabled via VS Code's standard **Telemetry: Telemetry Level** setting.
|
|
85
|
+
|
|
86
|
+
|
|
87
|
+
## Release Notes
|
|
88
|
+
|
|
89
|
+
For full release notes, see [the changelog](https://dartcode.org/releases/).
|
|
Binary file
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
All notable changes to this repository are documented below.
|
|
3
|
+
|
|
4
|
+
## [0.4.1] = 2022.05.30
|
|
5
|
+
- Support for Neovim client with nvim-lspconfig
|
|
6
|
+
- Updated settings for faster indexing
|
|
7
|
+
* Updated libraryIndexing setting to empty by default
|
|
8
|
+
* Added mustIncludeIndexing setting to glob for files that must be always linted
|
|
9
|
+
* Added linterWhitelist setting for whitelisting linter errors
|
|
10
|
+
- Bug fixes
|
|
11
|
+
* for [issue [#19](https://github.com/imc-trading/svlangserver/issues/19)](https://github.com/imc-trading/svlangserver/issues/19)
|
|
12
|
+
* Updated documentation for [issue [#21](https://github.com/imc-trading/svlangserver/issues/21)](https://github.com/imc-trading/svlangserver/issues/21)
|
|
13
|
+
* for package linting
|
|
14
|
+
* for jump to definition
|
|
15
|
+
* Fix client directory name for newer VSCode
|
|
16
|
+
* Misc fixes for linter file generation
|
|
17
|
+
|
|
18
|
+
## [0.4.0] - 2022.03.30
|
|
19
|
+
- Support for Icarus as linting alternative
|
|
20
|
+
- Added command for reporting hierarchy
|
|
21
|
+
- Improved hover over text formatting
|
|
22
|
+
- Support symbol resolution in functions and tasks
|
|
23
|
+
- Bug fixes
|
|
24
|
+
* for [issue [#19](https://github.com/imc-trading/svlangserver/issues/19)](https://github.com/imc-trading/svlangserver/issues/19)
|
|
25
|
+
* Fix verilator crash on linting
|
|
26
|
+
* Fixed verilator diagnostics column number reporting
|
|
27
|
+
|
|
28
|
+
## [0.3.5] - 2021.10.24
|
|
29
|
+
- Extended keyword and snippets completion
|
|
30
|
+
- Jump to definition improvements
|
|
31
|
+
* Fix jump to definition for packages
|
|
32
|
+
* Support jump to definition for includes
|
|
33
|
+
- Added systemverilog.libraryIndexing property
|
|
34
|
+
- Bug fixes
|
|
35
|
+
* for [issue [#8](https://github.com/imc-trading/svlangserver/issues/8)](https://github.com/imc-trading/svlangserver/issues/8)
|
|
36
|
+
* for [issue [#10](https://github.com/imc-trading/svlangserver/issues/10)](https://github.com/imc-trading/svlangserver/issues/10)
|
|
37
|
+
* Typo fix in verilator.ts that caused some editors to hang on exit
|
|
38
|
+
|
|
39
|
+
## [0.3.4] - 2021.05.31
|
|
40
|
+
- Bug fix for [issue [#1](https://github.com/imc-trading/svlangserver/issues/1)](https://github.com/imc-trading/svlangserver/issues/1)
|
|
41
|
+
- Refectored code to prevent server crashing because of errors
|
|
42
|
+
- Fix verilator linting for systemverilog packages
|
|
43
|
+
|
|
44
|
+
## [0.3.3] - 2021.05.13
|
|
45
|
+
- Updates for publishing to npm
|
|
46
|
+
- Updates for publishing to vscode marketplace
|
|
47
|
+
- Update installation instructions to use published packages
|
|
48
|
+
|
|
49
|
+
## [0.3.1] - 2021.04.25
|
|
50
|
+
- Support for Sublime Text 3
|
|
51
|
+
- Support for Emacs
|
|
52
|
+
- Configurable enabling/disabling of language server features viz. Completion, Hover, SignatureHelp
|
|
53
|
+
- Misc bug fixes
|
|
54
|
+
|
|
55
|
+
## [0.3.0] - 2021.04.22
|
|
56
|
+
- Initial release
|
|
@@ -0,0 +1,320 @@
|
|
|
1
|
+
# SVLangserver
|
|
2
|
+
A language server for systemverilog that has been tested to work with coc.nvim, VSCode, Sublime Text 4 and emacs
|
|
3
|
+
|
|
4
|
+
## Features
|
|
5
|
+
- Auto completion (no need for ctags or other such mechanisms)
|
|
6
|
+
- Go to symbol in document
|
|
7
|
+
- Go to symbol in workspace folder (indexed modules/interfaces/packages)
|
|
8
|
+
- Go to definition (_works for module/interface/package names and for ports too!_)
|
|
9
|
+
- Hover over help
|
|
10
|
+
- Signature help
|
|
11
|
+
- Fast indexing
|
|
12
|
+
- Verilator/Icarus linting on the fly
|
|
13
|
+
- Report hierarchy of a module
|
|
14
|
+
- Code snippets for many common blocks
|
|
15
|
+
- Code formatting with verible-verilog-format
|
|
16
|
+
- Elaborate syntax highlighting (for VSCode)
|
|
17
|
+
|
|
18
|
+
## Versions
|
|
19
|
+
The code has been tested to work with below tool versions
|
|
20
|
+
- vim 8.2
|
|
21
|
+
* coc.nvim 0.0.80-0b5130ea38
|
|
22
|
+
- VSCode 1.52.0
|
|
23
|
+
- Sublime Text Build 4126
|
|
24
|
+
- emacs 29.0.50
|
|
25
|
+
* lsp-mode lsp-mode-20220328.1429
|
|
26
|
+
- Neovim 0.7.0
|
|
27
|
+
- Verilator 4.110
|
|
28
|
+
- Icarus Verilog Compiler 10.2
|
|
29
|
+
- Verible v0.0-1114-ged89c1b
|
|
30
|
+
|
|
31
|
+
## Installation
|
|
32
|
+
- For coc.nvim
|
|
33
|
+
* `npm install -g @imc-trading/svlangserver`
|
|
34
|
+
* Update .vim/coc-settings.json
|
|
35
|
+
- For VSCode
|
|
36
|
+
* Install the extension from the marketplace.
|
|
37
|
+
* Update the settings
|
|
38
|
+
- For Sublime Text 3
|
|
39
|
+
* Install the systemverilog package in sublime text
|
|
40
|
+
* `npm install -g @imc-trading/svlangserver`
|
|
41
|
+
* Update the LSP settings (`Preferences -> Package Settings -> LSP -> settings`) and the sublime-project files
|
|
42
|
+
- For emacs
|
|
43
|
+
* Install lsp-mode
|
|
44
|
+
* `npm install -g @imc-trading/svlangserver`
|
|
45
|
+
* Update .emacs/init.el
|
|
46
|
+
- For neovim
|
|
47
|
+
* Install [nvim-lspconfig](https://github.com/neovim/nvim-lspconfig)
|
|
48
|
+
* `npm install -g @imc-trading/svlangserver`
|
|
49
|
+
* Add following setting in your init.lua
|
|
50
|
+
```lua
|
|
51
|
+
require'lspconfig'.svlangserver.setup{}
|
|
52
|
+
```
|
|
53
|
+
* Update .nvim/lspconfig.json
|
|
54
|
+
|
|
55
|
+
To get the snippets, git clone this repo and copy the snippets directory wherever applicable
|
|
56
|
+
|
|
57
|
+
For installing from source (not applicable for VSCode)
|
|
58
|
+
- `git clone https://github.com/imc-trading/svlangserver.git`
|
|
59
|
+
- `cd svlangserver && npm install`
|
|
60
|
+
* Update the settings with the correct command (e.g. `/git/repo/path/svlangserver/bin/main.js`)
|
|
61
|
+
|
|
62
|
+
NOTE: This has been tested with npm version 6.14.13 and node version 14.17.1
|
|
63
|
+
|
|
64
|
+
## Settings
|
|
65
|
+
- `systemverilog.includeIndexing`: _Array_, Globs defining files to be indexed
|
|
66
|
+
- `systemverilog.libraryIndexing`: _Array_, Globs defining library files to be added to linting. It's useful when module name is not equal to filename.
|
|
67
|
+
- `systemverilog.excludeIndexing`: _Array_, Exclude files from indexing based on glob
|
|
68
|
+
- `systemverilog.linter`: _String_, Select linter
|
|
69
|
+
* Default: _'verilator'_
|
|
70
|
+
- `systemverilog.launchConfiguration`: _String_, Command to run for launching linting
|
|
71
|
+
* Default: _verilator --sv --lint-only --Wall_
|
|
72
|
+
* If not in path, replace _verilator_ with the appropriate command
|
|
73
|
+
- `systemverilog.lintOnUnsaved`: _Boolean_, Lint even unsaved files
|
|
74
|
+
* Default: _true_
|
|
75
|
+
- `systemverilog.defines`: _Array_, Defines for the project. Used by the language server as well as linting
|
|
76
|
+
* Default: _empty_
|
|
77
|
+
- `systemverilog.formatCommand`: _String_, verible-verilog-format command for code formatting
|
|
78
|
+
* Default: _verible-verilog-format_
|
|
79
|
+
* If not in path, replace _verible-verilog-format_ with the appropriate command
|
|
80
|
+
- `systemverilog.disableCompletionProvider`: _Boolean_, Disable auto completion provided by the language server
|
|
81
|
+
* Default: _false_
|
|
82
|
+
- `systemverilog.disableHoverProvider`: _Boolean_, Disable hover over help provided by the language server
|
|
83
|
+
* Default: _false_
|
|
84
|
+
- `systemverilog.disableSignatureHelpProvider`: _Boolean_, Disable signature help provided by the language server
|
|
85
|
+
* Default: _false_
|
|
86
|
+
- `systemverilog.disableLinting`: _Boolean_, Disable linting
|
|
87
|
+
* Default: _false_
|
|
88
|
+
- Example coc.nvim settings file
|
|
89
|
+
```json
|
|
90
|
+
{
|
|
91
|
+
"languageserver": {
|
|
92
|
+
"svlangserver": {
|
|
93
|
+
"command": "svlangserver",
|
|
94
|
+
"filetypes": ["systemverilog"],
|
|
95
|
+
"settings": {
|
|
96
|
+
"systemverilog.includeIndexing": ["**/*.{sv,svh}"],
|
|
97
|
+
"systemverilog.excludeIndexing": ["test/**/*.sv*"],
|
|
98
|
+
"systemverilog.defines" : [],
|
|
99
|
+
"systemverilog.launchConfiguration": "/tools/verilator -sv -Wall --lint-only",
|
|
100
|
+
"systemverilog.formatCommand": "/tools/verible-verilog-format"
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
```
|
|
106
|
+
For project specific settings this file should be at `<WORKSPACE PATH>/.vim/coc-settings.json`
|
|
107
|
+
- Example coc.nvim settings file (for windows)
|
|
108
|
+
```json
|
|
109
|
+
{
|
|
110
|
+
"languageserver": {
|
|
111
|
+
"svlangserver": {
|
|
112
|
+
"module": "/usr/lib/node_modules/@imc-trading/svlangserver/bin/main.js",
|
|
113
|
+
"args": ["--node-ipc"],
|
|
114
|
+
"filetypes": ["systemverilog"],
|
|
115
|
+
"settings": {
|
|
116
|
+
"systemverilog.includeIndexing": ["**/*.{sv,svh}"],
|
|
117
|
+
"systemverilog.excludeIndexing": ["test/**/*.sv*"],
|
|
118
|
+
"systemverilog.defines" : [],
|
|
119
|
+
"systemverilog.launchConfiguration": "/tools/verilator -sv -Wall --lint-only",
|
|
120
|
+
"systemverilog.formatCommand": "/tools/verible-verilog-format"
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
```
|
|
126
|
+
For project specific settings this file should be at `<WORKSPACE PATH>\.vim\coc-settings.json`
|
|
127
|
+
- Example vscode settings file
|
|
128
|
+
```json
|
|
129
|
+
{
|
|
130
|
+
"systemverilog.includeIndexing": ["**/*.{sv,svh}"],
|
|
131
|
+
"systemverilog.excludeIndexing": ["test/**/*.sv*"],
|
|
132
|
+
"systemverilog.defines" : [],
|
|
133
|
+
"systemverilog.launchConfiguration": "/tools/verilator -sv -Wall --lint-only",
|
|
134
|
+
"systemverilog.formatCommand": "/tools/verible-verilog-format"
|
|
135
|
+
}
|
|
136
|
+
```
|
|
137
|
+
For project specific settings this file should be at `<WORKSPACE PATH>/.vscode/settings.json`
|
|
138
|
+
- Example Sublime Text 3 settings files
|
|
139
|
+
* The global LSP settings file: LSP.sublime-settings
|
|
140
|
+
```json
|
|
141
|
+
{
|
|
142
|
+
"clients": {
|
|
143
|
+
"svlangserver": {
|
|
144
|
+
"enabled": true,
|
|
145
|
+
"command": ["svlangserver"],
|
|
146
|
+
"languageId": "systemverilog",
|
|
147
|
+
"scopes": ["source.systemverilog"],
|
|
148
|
+
"syntaxes": ["Packages/SystemVerilog/SystemVerilog.sublime-syntax"],
|
|
149
|
+
"settings": {
|
|
150
|
+
"systemverilog.disableHoverProvider": true,
|
|
151
|
+
"systemverilog.launchConfiguration": "/tools/verilator -sv --lint-only -Wall",
|
|
152
|
+
"systemverilog.formatCommand" : "/tools/verible-verilog-format"
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
```
|
|
158
|
+
* The project specific settings go in `<PROJECT>.sublime-project`
|
|
159
|
+
```json
|
|
160
|
+
{
|
|
161
|
+
"folders":
|
|
162
|
+
[
|
|
163
|
+
{
|
|
164
|
+
"path": "."
|
|
165
|
+
}
|
|
166
|
+
],
|
|
167
|
+
"settings": {
|
|
168
|
+
"LSP": {
|
|
169
|
+
"svlangserver": {
|
|
170
|
+
"settings": {
|
|
171
|
+
"systemverilog.includeIndexing": [ "**/*.{sv,svh}", ],
|
|
172
|
+
"systemverilog.excludeIndexing": ["test/**/*.sv*"],
|
|
173
|
+
"systemverilog.defines": [],
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
```
|
|
180
|
+
- Example settings for emacs
|
|
181
|
+
* Below content goes in .emacs or init.el
|
|
182
|
+
```elisp
|
|
183
|
+
(require 'lsp-verilog)
|
|
184
|
+
|
|
185
|
+
(custom-set-variables
|
|
186
|
+
'(lsp-clients-svlangserver-launchConfiguration "/tools/verilator -sv --lint-only -Wall")
|
|
187
|
+
'(lsp-clients-svlangserver-formatCommand "/tools/verible-verilog-format"))
|
|
188
|
+
|
|
189
|
+
(add-hook 'verilog-mode-hook #'lsp-deferred)
|
|
190
|
+
```
|
|
191
|
+
* The project specific settings go in .dir-locals.el
|
|
192
|
+
```elisp
|
|
193
|
+
((verilog-mode (lsp-clients-svlangserver-workspace-additional-dirs . ("/some/lib/path"))
|
|
194
|
+
(lsp-clients-svlangserver-includeIndexing . ("src/**/*.{sv,svh}"))
|
|
195
|
+
(lsp-clients-svlangserver-excludeIndexing . ("src/test/**/*.{sv,svh}"))))
|
|
196
|
+
```
|
|
197
|
+
- Example neovim settings file
|
|
198
|
+
```json
|
|
199
|
+
{
|
|
200
|
+
"languageserver": {
|
|
201
|
+
"svlangserver": {
|
|
202
|
+
"command": "svlangserver",
|
|
203
|
+
"filetypes": ["systemverilog"],
|
|
204
|
+
"settings": {
|
|
205
|
+
"systemverilog.includeIndexing": ["**/*.{sv,svh}"],
|
|
206
|
+
"systemverilog.excludeIndexing": ["test/**/*.sv*"],
|
|
207
|
+
"systemverilog.defines" : [],
|
|
208
|
+
"systemverilog.launchConfiguration": "/tools/verilator -sv -Wall --lint-only",
|
|
209
|
+
"systemverilog.formatCommand": "/tools/verible-verilog-format"
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
```
|
|
215
|
+
For project specific settings this file should be at `<WORKSPACE PATH>/.nvim/lspconfig.json`
|
|
216
|
+
|
|
217
|
+
## Commands
|
|
218
|
+
* `systemverilog.build_index`: Instructs language server to rerun indexing
|
|
219
|
+
* `systemverilog.report_hierarchy`: Generates hierarchy for the given module
|
|
220
|
+
|
|
221
|
+
### coc.nvim usage
|
|
222
|
+
* The commands should be executed using CocRequest function. An example vim command would be:
|
|
223
|
+
```vim
|
|
224
|
+
command! SvBuildIndex call CocRequest("svlangserver", 'workspace/executeCommand', {'command': 'systemverilog.build_index'})
|
|
225
|
+
command! -range SvReportHierarchy call CocRequest("svlangserver", 'workspace/executeCommand', {'command': 'systemverilog.report_hierarchy', 'arguments': [input('Module/interface: ', <range> == 0 ? "" : expand("<cword>"))]})
|
|
226
|
+
```
|
|
227
|
+
If the above SvReportHierarchy command is called with visual selection, then the module name is pre-filled with the selection. Also depending on the coc.nvim version, the generated rpt.json file might not have the focus and user will have to switch buffer manually.
|
|
228
|
+
|
|
229
|
+
### VSCode usage
|
|
230
|
+
* Typing `build index` in the command palette should invoke the build index command.
|
|
231
|
+
* Typing `get hierarchy` in the command palette should invoke the report hierarchy command. If invoked with an active slection, the module name is pre-filled with the selection.
|
|
232
|
+
|
|
233
|
+
### Sublime usage
|
|
234
|
+
* A sublime-commands file needs to be created with the below content
|
|
235
|
+
```json
|
|
236
|
+
[
|
|
237
|
+
{
|
|
238
|
+
"caption": "SvLangserver Build Index",
|
|
239
|
+
"command": "lsp_execute",
|
|
240
|
+
"args": {
|
|
241
|
+
"session_name": "svlangserver",
|
|
242
|
+
"command_name": "systemverilog.build_index",
|
|
243
|
+
"command_args": []
|
|
244
|
+
}
|
|
245
|
+
},
|
|
246
|
+
{
|
|
247
|
+
"caption": "Svlangserver Report Hierarchy",
|
|
248
|
+
"command": "lsp_execute",
|
|
249
|
+
"args": {
|
|
250
|
+
"session_name": "svlangserver",
|
|
251
|
+
"command_name": "systemverilog.report_hierarchy",
|
|
252
|
+
"command_args": ["${selection}"]
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
]
|
|
256
|
+
```
|
|
257
|
+
This should make the commands available in the command palette. For the report hierarchy command, the module name should be selected before invoking the command.
|
|
258
|
+
|
|
259
|
+
### Emacs usage
|
|
260
|
+
* `lsp-clients-svlangserver-build-index` command should rerun the indexing.
|
|
261
|
+
* `lsp-clients-svlangserver-report-hierarchy` command should do the job. If invoked with an active slection, the module name is pre-filled with the selection.
|
|
262
|
+
|
|
263
|
+
### Neovim usage
|
|
264
|
+
* `:SvlangserverBuildIndex` command should rerun the indexing.
|
|
265
|
+
* `:SvlangserverReportHierarchy` command will generate hierarchy file of the word under the cursor in normal mode.
|
|
266
|
+
|
|
267
|
+
## Troubleshooting
|
|
268
|
+
- Editor is not able to find language server binary.
|
|
269
|
+
* Make sure the binary is in the system path as exposed to the editor. If the binary is installed in custom directory, expose that path to your editor
|
|
270
|
+
- Not getting any diagnostics
|
|
271
|
+
* Make sure the launchConfiguration setting has been properly set to use verilator from the correct installation path
|
|
272
|
+
- Diagnostics show _Cannot find file containing module 'module_name'_
|
|
273
|
+
* Make sure all submodules can be found by includeIndexing
|
|
274
|
+
* If the issue still remains, it may due to different naming of module and file, or a file containing multiple modules. Make sure these files can be found by libraryIndexing.
|
|
275
|
+
- Check settings used by the language server
|
|
276
|
+
* for coc.nvim: Use the command `:CocCommand workspace.showOutput` and then select svlangserver
|
|
277
|
+
* for vscode: Check the SVLangServer output channel
|
|
278
|
+
* for sublime: Open the command palette in the tools menu and select `LSP: Toggle Log Panel`
|
|
279
|
+
* for emacs: Check the `*lsp-log*` buffer
|
|
280
|
+
* for neovim: Add `vim.lsp.set_log_level("info")` in your init.lua then check ~/.cache/nvim/lsp.log
|
|
281
|
+
|
|
282
|
+
## Known Issues
|
|
283
|
+
- Language server doesn't understand most verification specific concepts (e.g. classes).
|
|
284
|
+
|
|
285
|
+
## Future
|
|
286
|
+
Rewrite parser to make it much more robust
|
|
287
|
+
|
|
288
|
+
## Acknowledgements
|
|
289
|
+
Although most of the code is written from scratch, this [VSCode-SystemVerilog extension](https://github.com/eirikpre/VSCode-SystemVerilog/) was what I started with and developed on.
|
|
290
|
+
|
|
291
|
+
## Release Notes
|
|
292
|
+
See the [changelog](https://github.com/imc-trading/svlangserver/blob/HEAD/CHANGELOG.md) for more details
|
|
293
|
+
|
|
294
|
+
### 0.4.1
|
|
295
|
+
- Support for Neovim client with nvim-lspconfig
|
|
296
|
+
- Updated settings for faster indexing
|
|
297
|
+
- Bug fixes
|
|
298
|
+
|
|
299
|
+
### 0.4.0
|
|
300
|
+
- Icarus as linting alternative
|
|
301
|
+
- Command for reporting hierarchy
|
|
302
|
+
- Improved hover over formatting
|
|
303
|
+
- Improved symbol resolution
|
|
304
|
+
- Bug fixes
|
|
305
|
+
|
|
306
|
+
### 0.3.5
|
|
307
|
+
- Improvements to auto-completion and jump to definition
|
|
308
|
+
- Bug fixes
|
|
309
|
+
|
|
310
|
+
### 0.3.4
|
|
311
|
+
- Bug fixes
|
|
312
|
+
|
|
313
|
+
### 0.3.3
|
|
314
|
+
- Updated instructions to use published packages
|
|
315
|
+
|
|
316
|
+
### 0.3.1
|
|
317
|
+
- Add support for Sublime LSP and Emacs
|
|
318
|
+
|
|
319
|
+
### 0.3.0
|
|
320
|
+
- Initial release
|
|
Binary file
|