mirror of
https://github.com/cheat/cheat.git
synced 2024-11-25 07:21:36 +01:00
80c91cbdee
Integrate `go-git` into the application, and use it to `git clone` cheatsheets when the installer runs. Previously, the installer required that `git` be installed on the system `PATH`, so this change has to big advantages: 1. It removes that system dependency on `git` 2. It paves the way for implementing the `--update` command Additionally, `cheat` now performs a `--depth=1` clone when installing cheatsheets, which should at least somewhat improve installation times (especially on slow network connections).
26 lines
711 B
Go
26 lines
711 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 int // line within the document
|
|
Col int // 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
|
|
}
|