package abc

import (
	"fmt"
	"math"
	"net"
)

// ABC is a struct, you coudn't use Goto Definition or Hover info on this before
// Now you can due to gogetdoc and go doc
type ABC struct {
	a int
	b int
	c int
}

// This is an unexported function so couldn't get this comment on hover :(
// Not anymore!!
func print(txt string) {
	fmt.Println(txt)
}

func main() {
	print("Hello")
}

// Hello is a method on the struct ABC. Will signature help understand this correctly
func (abcd *ABC) Hello(s string, exclaim bool) string {
	net.IPv4Mask(0, 0, 0, 0)
	if exclaim {
		s = s + "!"
	}
	if abcd.a+abcd.b+abcd.c > 3 {
		return "Hello " + s
	}
	return "GoodBye " + s
}

// Greetings is an exported function. So all is good.
func Greetings() string {
	xyz := ABC{1, 2, int(math.Abs(-1))}
	return xyz.Hello("World", false) + EmptyLine("Why")
}

// EmptyLine has docs
//
// with a blank line in the middle
func EmptyLine(s string) string {
	return s + "this is not an empty line"
}
