2018-11-27 16:52:20 -05:00
|
|
|
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 {
|
2019-07-31 11:45:42 -05:00
|
|
|
Line int // line within the document
|
|
|
|
Col int // column within the line
|
2018-11-27 16:52:20 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
// 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
|
|
|
|
}
|