Unwrap DiffLine; add types for git_diff_flag_t and git_delta_t.
This commit is contained in:
parent
48a02566d6
commit
2e5102b71a
67
diff.go
67
diff.go
|
@ -11,20 +11,23 @@ import (
|
||||||
"unsafe"
|
"unsafe"
|
||||||
)
|
)
|
||||||
|
|
||||||
const (
|
type Delta int
|
||||||
DiffFlagBinary = C.GIT_DIFF_FLAG_BINARY
|
type DiffFlag int
|
||||||
DiffFlagNotBinary = C.GIT_DIFF_FLAG_NOT_BINARY
|
|
||||||
DiffFlagValidOid = C.GIT_DIFF_FLAG_VALID_OID
|
|
||||||
|
|
||||||
DeltaUnmodified = C.GIT_DELTA_UNMODIFIED
|
const (
|
||||||
DeltaAdded = C.GIT_DELTA_ADDED
|
DiffFlagBinary = DiffFlag(C.GIT_DIFF_FLAG_BINARY)
|
||||||
DeltaDeleted = C.GIT_DELTA_DELETED
|
DiffFlagNotBinary = DiffFlag(C.GIT_DIFF_FLAG_NOT_BINARY)
|
||||||
DeltaModified = C.GIT_DELTA_MODIFIED
|
DiffFlagValidOid = DiffFlag(C.GIT_DIFF_FLAG_VALID_OID)
|
||||||
DeltaRenamed = C.GIT_DELTA_RENAMED
|
|
||||||
DeltaCopied = C.GIT_DELTA_COPIED
|
DeltaUnmodified = Delta(C.GIT_DELTA_UNMODIFIED)
|
||||||
DeltaIgnored = C.GIT_DELTA_IGNORED
|
DeltaAdded = Delta(C.GIT_DELTA_ADDED)
|
||||||
DeltaUntracked = C.GIT_DELTA_UNTRACKED
|
DeltaDeleted = Delta(C.GIT_DELTA_DELETED)
|
||||||
DeltaTypeChange = C.GIT_DELTA_TYPECHANGE
|
DeltaModified = Delta(C.GIT_DELTA_MODIFIED)
|
||||||
|
DeltaRenamed = Delta(C.GIT_DELTA_RENAMED)
|
||||||
|
DeltaCopied = Delta(C.GIT_DELTA_COPIED)
|
||||||
|
DeltaIgnored = Delta(C.GIT_DELTA_IGNORED)
|
||||||
|
DeltaUntracked = Delta(C.GIT_DELTA_UNTRACKED)
|
||||||
|
DeltaTypeChange = Delta(C.GIT_DELTA_TYPECHANGE)
|
||||||
|
|
||||||
DiffLineContext = C.GIT_DIFF_LINE_CONTEXT
|
DiffLineContext = C.GIT_DIFF_LINE_CONTEXT
|
||||||
DiffLineAddition = C.GIT_DIFF_LINE_ADDITION
|
DiffLineAddition = C.GIT_DIFF_LINE_ADDITION
|
||||||
|
@ -80,12 +83,12 @@ func newDiffDelta(delta *C.git_diff_delta) *DiffDelta {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (dd *DiffDelta) Status() int {
|
func (dd *DiffDelta) Status() Delta {
|
||||||
return int(dd.delta.status)
|
return Delta(dd.delta.status)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (dd *DiffDelta) Flags() uint32 {
|
func (dd *DiffDelta) Flags() DiffFlag {
|
||||||
return uint32(dd.delta.flags)
|
return DiffFlag(dd.delta.flags)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (dd *DiffDelta) Similarity() uint16 {
|
func (dd *DiffDelta) Similarity() uint16 {
|
||||||
|
@ -123,39 +126,25 @@ func (dh *DiffHunk) NewLines() int {
|
||||||
}
|
}
|
||||||
|
|
||||||
type DiffLine struct {
|
type DiffLine struct {
|
||||||
line C.git_diff_line
|
Origin byte
|
||||||
|
OldLineno int
|
||||||
|
NewLineno int
|
||||||
|
NumLines int
|
||||||
Content string
|
Content string
|
||||||
DiffHunk
|
DiffHunk
|
||||||
}
|
}
|
||||||
|
|
||||||
func newDiffLine(delta *C.git_diff_delta, hunk *C.git_diff_hunk, line *C.git_diff_line) *DiffLine {
|
func newDiffLine(delta *C.git_diff_delta, hunk *C.git_diff_hunk, line *C.git_diff_line) *DiffLine {
|
||||||
return &DiffLine{
|
return &DiffLine{
|
||||||
line: *line,
|
Origin: byte(line.origin),
|
||||||
|
OldLineno: int(line.old_lineno),
|
||||||
|
NewLineno: int(line.new_lineno),
|
||||||
|
NumLines: int(line.num_lines),
|
||||||
Content: C.GoStringN(line.content, C.int(line.content_len)),
|
Content: C.GoStringN(line.content, C.int(line.content_len)),
|
||||||
DiffHunk: *newDiffHunk(delta, hunk),
|
DiffHunk: *newDiffHunk(delta, hunk),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (dl *DiffLine) Origin() byte {
|
|
||||||
return byte(dl.line.origin)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (dl *DiffLine) OldLineno() int {
|
|
||||||
return int(dl.line.old_lineno)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (dl *DiffLine) NewLineno() int {
|
|
||||||
return int(dl.line.new_lineno)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (dl *DiffLine) NumLines() int {
|
|
||||||
return int(dl.line.num_lines)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (dl *DiffLine) ContentOffset() int {
|
|
||||||
return int(dl.line.content_offset)
|
|
||||||
}
|
|
||||||
|
|
||||||
type Diff struct {
|
type Diff struct {
|
||||||
ptr *C.git_diff
|
ptr *C.git_diff
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue