Skip to content

Lucretia/ada-utilities

master
Switch branches/tags
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
src
 
 
 
 
 
 
 
 
 
 
 
 

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
  • GPRClean

The GPR tools get the gpr filename from the workspace settings, ada.projectFile which is the same value used in the 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.

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.

About

VSCode extension for Ada.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published