From 51a03071ed7e4eb1d3d7e53516162021994a8e8e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Jochum?= Date: Sat, 20 Dec 2025 11:56:56 +0100 Subject: [PATCH 1/3] feat: Simplify installation steps in README Updated installation instructions to simplify the process. --- README.md | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/README.md b/README.md index 3b43d46..97a8d3d 100644 --- a/README.md +++ b/README.md @@ -82,15 +82,7 @@ Want pattern matching? Enable it. Want sum types? Already working. Think you can ### Installation ```bash -# Clone the repository -git clone https://github.com/MadAppGang/dingo.git -cd dingo - -# Build the compiler -go build -o dingo ./cmd/dingo - -# Add to PATH (optional) -export PATH=$PATH:$(pwd) +go install github.com/MadAppGang/dingo/cmd/dingo@main ``` ### Your First Dingo Program From 32c0df6431a12a76a0921343ab7edba9e83dcb5e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Jochum?= Date: Sat, 20 Dec 2025 12:15:30 +0100 Subject: [PATCH 2/3] fix(editors/vscode): fix the urls, add optional symlink manual install --- editors/vscode/README.md | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/editors/vscode/README.md b/editors/vscode/README.md index cb60b6f..00cf447 100644 --- a/editors/vscode/README.md +++ b/editors/vscode/README.md @@ -1,6 +1,6 @@ # Dingo Language Support for VS Code -Syntax highlighting and language support for [Dingo](https://github.com/yourusername/dingo) - a modern meta-language for Go with Result types, error propagation, pattern matching, and more. +Syntax highlighting and language support for [Dingo](https://github.com/MadAppGang/dingo) - a modern meta-language for Go with Result types, error propagation, pattern matching, and more. ## Features @@ -98,14 +98,22 @@ Search for "Dingo" in the VS Code Extensions marketplace. 1. Clone the Dingo repository: ```bash - git clone https://github.com/yourusername/dingo.git + git clone https://github.com/MadAppGang/dingo.git ``` -2. Copy the extension to your VS Code extensions folder: +2. Copy or symlink the extension to your VS Code extensions folder: ```bash cp -r dingo/editors/vscode ~/.vscode/extensions/dingo-language ``` + or: + + ```bash + ln -s $(pwd)/editors/vscode ~/.vscode/extensions/dingo-language + ``` + + Replace `~/.vscode/` with `~/.vscode-oss` if your using vscodium. + 3. Reload VS Code ### Development @@ -328,7 +336,7 @@ If you see "dingo-lsp binary not found": ## Contributing -See the main [Dingo repository](https://github.com/yourusername/dingo) for contribution guidelines. +See the main [Dingo repository](https://github.com/MadAppGang/dingo) for contribution guidelines. ## License @@ -336,6 +344,6 @@ Same as Dingo project (see root LICENSE file). ## Resources -- [Dingo Documentation](https://github.com/yourusername/dingo) +- [Dingo Documentation](https://github.com/MadAppGang/dingo) - [VS Code Language Extension Guide](https://code.visualstudio.com/api/language-extensions/overview) - [TextMate Grammar Guide](https://macromates.com/manual/en/language_grammars) From 3df8c6f1a296e5d4966c7fb628102f1d5f8a142f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Jochum?= Date: Sat, 20 Dec 2025 12:42:07 +0100 Subject: [PATCH 3/3] fix(README): fix the features example. --- README.md | 39 ++++++++++++++++++++++++++++----------- 1 file changed, 28 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index 97a8d3d..67ed987 100644 --- a/README.md +++ b/README.md @@ -117,26 +117,43 @@ dingo go hello.dingo **Sum Types with Pattern Matching:** +For now this requires a `go.mod`, you might initialize one like that: + +```bash +mkdir playground +go mod init playground +go get github.com/MadAppGang/dingo/pkg/dgo@main +``` + ```go -enum Result { - Ok(value: int), - Error(message: string) -} +package main + +import ( + "fmt" +) -func divide(a: int, b: int) Result { +func divide(a: int, b: int) Result[int, string] { if b == 0 { - return Error("division by zero") + return Err[int]("division by zero") } - return Ok(a / b) + return Ok[int, string](a / b) } -result := divide(10, 2) -match result { - Ok(value) => fmt.Printf("Success: %d\n", value), - Error(msg) => fmt.Printf("Error: %s\n", msg) +func main() { + result := divide(10, 2) + match result { + Ok { value } => fmt.Printf("success: %d\n", value), + Err { msg } => fmt.Printf("error: %s\n", msg) + } } ``` +Then you can run it: + +```bash +dingo run pattern_matching.dingo +``` + **Safe Navigation and Null Coalescing (Phase 7 ✅):** ```go