Skip to content

Commit

Permalink
Initial implementation (#1)
Browse files Browse the repository at this point in the history
  • Loading branch information
cristaloleg authored Dec 31, 2023
1 parent ffe12f4 commit e147c7c
Show file tree
Hide file tree
Showing 4 changed files with 102 additions and 0 deletions.
18 changes: 18 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
version: 2
updates:
- package-ecosystem: "gomod"
commit-message:
prefix: "deps:"
directory: "/"
schedule:
interval: "weekly"
day: "sunday"
time: "09:00"
- package-ecosystem: "github-actions"
commit-message:
prefix: "ci:"
directory: "/"
schedule:
interval: "weekly"
day: "sunday"
time: "09:00"
50 changes: 50 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
name: build

on:
push:
branches: [main]
pull_request:
branches: [main]
schedule:
- cron: '0 10 * * 1' # run "At 10:00 on Monday"

jobs:
run:
name: Build
runs-on: ubuntu-latest
timeout-minutes: 5
strategy:
fail-fast: true
matrix:
go: ['stable', 'oldstable']

steps:
- name: Check out code
uses: actions/checkout@v4

- name: Install Go
uses: actions/setup-go@v5
with:
go-version: ${{ matrix.go }}
check-latest: true

- name: Go Format
run: gofmt -s -w . && git diff --exit-code

- name: Go Vet
run: go vet ./...

- name: Go Tidy
run: go mod tidy && git diff --exit-code

- name: Go Mod
run: go mod download

- name: Go Mod Verify
run: go mod verify

- name: Go Build
run: go build -o /dev/null ./...

- name: Go Test
run: go test -v -count=1 -race -shuffle=on -coverprofile=coverage.txt ./...
3 changes: 3 additions & 0 deletions go.mod
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
module github.com/go-toolsmith/astdump

go 1.19
31 changes: 31 additions & 0 deletions main.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
package main

import (
"fmt"
"go/ast"
"go/parser"
"go/token"
"os"
)

func main() {
if len(os.Args) != 2 {
panic("needs 1 argument: file to process")
}

filename := os.Args[1]

file, err := os.Open(filename)
if err != nil {
panic(err)
}
defer file.Close()

fset := token.NewFileSet()
f, err := parser.ParseFile(fset, filename, file, parser.Mode(0))
if err != nil {
fmt.Println(err)
}

ast.Print(fset, f)
}

0 comments on commit e147c7c

Please sign in to comment.