26 lines
717 B
Go
26 lines
717 B
Go
|
package ssh_config
|
||
|
|
||
|
import "fmt"
|
||
|
|
||
|
// Position of a document element within a SSH document.
|
||
|
//
|
||
|
// Line and Col are both 1-indexed positions for the element's line number and
|
||
|
// column number, respectively. Values of zero or less will cause Invalid(),
|
||
|
// to return true.
|
||
|
type Position struct {
|
||
|
Line uint32 // line within the document
|
||
|
Col uint16 // column within the line
|
||
|
}
|
||
|
|
||
|
// String representation of the position.
|
||
|
// Displays 1-indexed line and column numbers.
|
||
|
func (p Position) String() string {
|
||
|
return fmt.Sprintf("(%d, %d)", p.Line, p.Col)
|
||
|
}
|
||
|
|
||
|
// Invalid returns whether or not the position is valid (i.e. with negative or
|
||
|
// null values)
|
||
|
func (p Position) Invalid() bool {
|
||
|
return p.Line <= 0 || p.Col <= 0
|
||
|
}
|