Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/lucretia/ada-utilities
VSCode extension for Ada.
https://github.com/lucretia/ada-utilities
ada vscode vscode-extension vscode-plugin
Last synced: about 2 months ago
JSON representation
VSCode extension for Ada.
- Host: GitHub
- URL: https://github.com/lucretia/ada-utilities
- Owner: Lucretia
- Created: 2019-11-14T15:51:42.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2023-03-03T09:21:34.000Z (almost 2 years ago)
- Last Synced: 2024-07-31T20:29:13.400Z (5 months ago)
- Topics: ada, vscode, vscode-extension, vscode-plugin
- Language: TypeScript
- Size: 95.7 KB
- Stars: 0
- Watchers: 4
- Forks: 1
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
Awesome Lists containing this project
README
# Ada Utilities
This is a VSCode extension Ada programmers which provides a few utility functions.
## Features
### Commands
* Go to Ada specification / body.
* Switch between the specification and body.### Menus
The above commands are available from the editor context menus.
### Problem matchers
* GPRBuild
### Tasks
* Make all (uses the above problem matchers).
* Make clean (no problem matchers at this time).
* GPRBuild
* GPRCleanThe GPR tools get the gpr filename from the workspace settings, ```ada.projectFile``` which is the same value used in the [Ada language server](https://github.com/AdaCore/ada_language_server).
## Requirements
Not strictly requirements, but these are the two other extensions I use at this time. They make Ada programming a bit easier at least.
* [Ada Language Server](https://github.com/AdaCore/ada_language_server)
* [Ada VSCode](https://github.com/Lucretia/ada-vscode)## Extension Settings
Modify the ```flags``` option and add the following to your ```tasks.json``` file if your source isn't in ```${workspaceFolder}/src```:
```
"tasks": [
{
"type": "adamakeall",
"flags": "-C /tmp/example -f makefile",
"problemMatcher": [
{
"fileLocation": [ "autoDetect", "${workspaceFolder}"],
"base": "$gprbuild_warnings_info"
},
{
"fileLocation": [ "autoDetect", "${workspaceFolder}"],
"base": "$gprbuild_warnings_info"
},
{
"fileLocation": [ "autoDetect", "${workspaceFolder}"],
"base": "$gprbuild_warnings"
},
{
"fileLocation": [ "autoDetect", "${workspaceFolder}"],
"base": "$gprbuild_errors"
}
],
"group": {
"kind": "build",
"isDefault": true
}
}
]
```Or, if using gprbuild/gprclean:
```
"tasks": [
{
"type": "adagprbuild",
"flags": "",
"post_flags": "-cargs -v",
"problemMatcher": [
{
"fileLocation": [ "autoDetect", "${workspaceFolder}"],
"base": "$gprbuild_warnings_info"
},
{
"fileLocation": [ "autoDetect", "${workspaceFolder}"],
"base": "$gprbuild_warnings_info"
},
{
"fileLocation": [ "autoDetect", "${workspaceFolder}"],
"base": "$gprbuild_warnings"
},
{
"fileLocation": [ "autoDetect", "${workspaceFolder}"],
"base": "$gprbuild_errors"
}
],
"group": {
"kind": "build",
"isDefault": true
}
},
{
"type": "adagprclean",
"flags": "",
"problemMatcher": []
}
]
```Alter the make ```args``` to match your source.
## Known Issues
Calling out known issues can help limit users opening duplicate issues against your extension.
## Release Notes
Users appreciate release notes as you update your extension.