Categorygithub.com/olehan/marker
repositorypackage
0.1.0-beta.1
Repository: https://github.com/olehan/marker.git
Documentation: pkg.go.dev

# Packages

No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author

# README

✏️ Marker

Mark your golang plugin file to get the best of it

Marker Travis Status Marker Code Coverage Marker License Marker Last Release


Usage | Installation | License


I know that this (✏️) is not a marker, but I do not have anything better \( ̄▽ ̄)/

Usage

Actually I'd suggest you to go into the examples directory to see more usage variations.

Project:

project
├── config.go
└── app/
    └── main.go

config.go

package main // Notice that the package has to be main to build a plugin.

// Variables and functions also have to be public to import them using marker. 
var ApiUrl = "https://api.github.com"

app/main.go

package main
 
import (
    "fmt"
    "github.com/olehan/marker"
    "github.com/olehan/marker/path"
)

func main() {
    // Here we're marking our file as a plugin and telling the marker what we need
    // and what it should be.
    output, err := marker.Mark(
        path.RelativeToCaller("../config.go"),
        // We're specifying the variable's name and its type so marker could
        // validate the value that was imported from the plugin.
        marker.NewMarker("ApiUrl", marker.StringValue),
    )

    if err != nil {
        panic(err)
    }

    // Symbol's always pointer.
    apiUrl := output.(*string)   
    fmt.Println("apiUrl:", *apiUrl)
}

Installation

$ go get github.com/olehan/marker

License

MIT