Documentation ¶
Index ¶
- Constants
- type Diff
- func CommentAsDiff(c *models.Comment) (*Diff, error)
- func CommentMustAsDiff(c *models.Comment) *Diff
- func GetDiffCommit(repoPath, commitID string, maxLines, maxLineCharacters, maxFiles int) (*Diff, error)
- func GetDiffRange(repoPath, beforeCommitID, afterCommitID string, ...) (*Diff, error)
- func GetDiffRangeWithWhitespaceBehavior(repoPath, beforeCommitID, afterCommitID string, ...) (*Diff, error)
- func ParsePatch(maxLines, maxLineCharacters, maxFiles int, reader io.Reader) (*Diff, error)
- type DiffFile
- type DiffFileType
- type DiffLine
- type DiffLineExpandDirection
- type DiffLineSectionInfo
- type DiffLineType
- type DiffSection
Constants ¶
const BlobExceprtChunkSize = 20
BlobExceprtChunkSize represent max lines of excerpt
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Diff ¶
Diff represents a difference between two git trees.
func CommentAsDiff ¶
CommentAsDiff returns c.Patch as *Diff
func CommentMustAsDiff ¶
CommentMustAsDiff executes AsDiff and logs the error instead of returning
func GetDiffCommit ¶
func GetDiffCommit(repoPath, commitID string, maxLines, maxLineCharacters, maxFiles int) (*Diff, error)
GetDiffCommit builds a Diff representing the given commitID.
func GetDiffRange ¶
func GetDiffRange(repoPath, beforeCommitID, afterCommitID string, maxLines, maxLineCharacters, maxFiles int) (*Diff, error)
GetDiffRange builds a Diff between two commits of a repository. passing the empty string as beforeCommitID returns a diff from the parent commit.
func GetDiffRangeWithWhitespaceBehavior ¶
func GetDiffRangeWithWhitespaceBehavior(repoPath, beforeCommitID, afterCommitID string, maxLines, maxLineCharacters, maxFiles int, whitespaceBehavior string) (*Diff, error)
GetDiffRangeWithWhitespaceBehavior builds a Diff between two commits of a repository. Passing the empty string as beforeCommitID returns a diff from the parent commit. The whitespaceBehavior is either an empty string or a git flag
func ParsePatch ¶
ParsePatch builds a Diff object from a io.Reader and some parameters. TODO: move this function to gogits/git-module
func (*Diff) LoadComments ¶
LoadComments loads comments into each line
type DiffFile ¶
type DiffFile struct { Name string OldName string Index int Addition, Deletion int Type DiffFileType IsCreated bool IsDeleted bool IsBin bool IsLFSFile bool IsRenamed bool IsSubmodule bool Sections []*DiffSection IsIncomplete bool }
DiffFile represents a file diff.
func (*DiffFile) GetHighlightClass ¶
GetHighlightClass returns highlight class for a filename.
func (*DiffFile) GetTailSection ¶
func (diffFile *DiffFile) GetTailSection(gitRepo *git.Repository, leftCommitID, rightCommitID string) *DiffSection
GetTailSection creates a fake DiffLineSection if the last section is not the end of the file
type DiffFileType ¶
type DiffFileType uint8
DiffFileType represents the type of a DiffFile.
const ( DiffFileAdd DiffFileType = iota + 1 DiffFileChange DiffFileDel DiffFileRename )
DiffFileType possible values.
type DiffLine ¶
type DiffLine struct { LeftIdx int RightIdx int Type DiffLineType Content string Comments []*models.Comment SectionInfo *DiffLineSectionInfo }
DiffLine represents a line difference in a DiffSection.
func (*DiffLine) CanComment ¶
CanComment returns whether or not a line can get commented
func (*DiffLine) GetBlobExcerptQuery ¶
GetBlobExcerptQuery builds query string to get blob excerpt
func (*DiffLine) GetCommentSide ¶
GetCommentSide returns the comment side of the first comment, if not set returns empty string
func (*DiffLine) GetExpandDirection ¶
func (d *DiffLine) GetExpandDirection() DiffLineExpandDirection
GetExpandDirection gets DiffLineExpandDirection
func (*DiffLine) GetLineTypeMarker ¶
GetLineTypeMarker returns the line type marker
type DiffLineExpandDirection ¶
type DiffLineExpandDirection uint8
DiffLineExpandDirection represents the DiffLineSection expand direction
const ( DiffLineExpandNone DiffLineExpandDirection = iota + 1 DiffLineExpandSingle DiffLineExpandUpDown DiffLineExpandUp DiffLineExpandDown )
DiffLineExpandDirection possible values.
type DiffLineSectionInfo ¶
type DiffLineSectionInfo struct { Path string LastLeftIdx int LastRightIdx int LeftIdx int RightIdx int LeftHunkSize int RightHunkSize int }
DiffLineSectionInfo represents diff line section meta data
type DiffLineType ¶
type DiffLineType uint8
DiffLineType represents the type of a DiffLine.
const ( DiffLinePlain DiffLineType = iota + 1 DiffLineAdd DiffLineDel DiffLineSection )
DiffLineType possible values.
type DiffSection ¶
DiffSection represents a section of a DiffFile.
func (*DiffSection) GetComputedInlineDiffFor ¶
func (diffSection *DiffSection) GetComputedInlineDiffFor(diffLine *DiffLine) template.HTML
GetComputedInlineDiffFor computes inline diff for the given line.
func (*DiffSection) GetLine ¶
func (diffSection *DiffSection) GetLine(lineType DiffLineType, idx int) *DiffLine
GetLine gets a specific line by type (add or del) and file line number