Mark your golang plugin file to get the best of it
Usage | Installation | License
I know that this (✏️) is not a marker, but I do not have anything better \( ̄▽ ̄)/
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)
}
$ go get github.com/olehan/marker