ghul.templates 0.0.12

Prefix Reserved
There is a newer version of this package available.
See the version list below for details.
dotnet new install ghul.templates::0.0.12                
This package contains a .NET Template Package you can call from the shell/command line.

ghūl 'dotnet new' templates

CI/CD NuGet version (ghul.templates) Release Release Date Issues License ghūl

These are 'dotnet new' templates for quick-starting a console application or class library .NET 6.0 project written in the ghūl programming language.

Note that these templates do not include things like GitHub Actions workflows, development container config, Dependabot config, unit tests, etc. For a GitHub repository template that does include all those things, see the ghūl repository template repo.

Quick start

$ dotnet new --install ghul.templates
$ mkdir my-console-project
$ cd my-console-project
$ dotnet new ghul-console
The template "ghūl console application" was created successfully.
$ dotnet run
Hello world!

Prerequisites

These templates create a skeleton ghūl programming language projects that can be built on any host that supports the .NET 6.0 SDK

You'll need to install the .NET 6.0 SDK, or use a container that includes it like the ghūl development image or a recent Microsoft .NET SDK image

  • Visual Studio Code
  • The ghūl language Visual Studio Code extension, which will give you rich language support including:
    • syntax highlighting
    • error highlighting as you type
    • code snippets
    • symbol information on hover
    • intelligent code completion
    • function signature help
    • find uses
    • go to/peek definition
    • go to symbol in file
    • go to symbol in workspace

Installing the templates

The templates are distributed as a NuGet package containing two .NET templates. Before you can use them, you need to install the template package:

$ dotnet new --install ghul.templates

Instantiating the templates

Start by creating a new folder for your project and cd into it

$ mkdir example
$ cd example

Then use dotnet new to initialize a new instance of either template in your project folder:

$ dotnet new ghul-console

Or

$ dotnet new ghul-classlib

This will create a .ghulproj MSBuild project file, a .ghul source file and some other supporting files:

$ find

./src
./src/example.ghul
./src/README.md
./README.md
./.config
./.config/dotnet-tools.json
./.vscode
./.vscode/tasks.json
./example.ghulproj

Building your ghūl application or package

ghūl applications are standard .NET applications using familiar MSBuild projects and .NET SDK commands such as dotnet build and dotnet pack. However, before these commands will work, you do need to install the ghūl compiler

Installing the ghūl compiler

(If you're developing in a container using the ghūl development Docker image then you can skip this step)

The ghūl compiler is packaged as a .NET tool and can be installed either locally or globally.

Local tool install

This template includes a local tool manifest in the .config folder which includes the compiler, so you can install the compiler locally simply by restoring local tools:

$ dotnet tool restore

Note: if you're using Visual Studio Code and the ghūl extension, the extension will do this for you automatically when you open the project folder

Global tool install

If you prefer to install the compiler globally, you can run:

$ dotnet tool install --global ghul.compiler

Note: if you do install the compiler globally, you will also need to change the GhulCompiler property in your .ghulproj file to reference it:

    <GhulCompiler>ghul-compiler</GhulCompiler>

Building your project

Just use the normal dotnet commands:

$ dotnet build
$ dotnet pack

And, for the console application template:

$ dotnet run

In Visual Studio Code, run the build task (<ctrl> + <shift> + B), which is set up to run dotnet build or dotnet pack

  • net6.0

    • No dependencies.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
0.2.8 327 4/2/2024
0.2.7 1,072 2/14/2024
0.2.6 454 2/3/2024
0.2.5 146 2/3/2024
0.2.4 547 1/19/2024
0.2.3 577 3/9/2022
0.2.2 409 12/31/2021
0.2.1 349 12/30/2021
0.2.0 320 12/28/2021
0.1.1 342 12/22/2021
0.0.14 345 12/9/2021
0.0.13 351 12/9/2021
0.0.12 321 12/9/2021
0.0.11 558 12/9/2021
0.0.10 594 12/9/2021
0.0.9 362 12/8/2021
0.0.8 332 12/8/2021
0.0.7 330 12/8/2021
0.0.6 361 12/8/2021
0.0.5 366 12/8/2021
0.0.4 416 12/8/2021
0.0.3 375 12/8/2021