// Copyright 2023 The Gitea Authors. All rights reserved. // SPDX-License-Identifier: MIT package internal import ( "html/template" "forgejo.org/modules/timeutil" ) type FileUpdate struct { Filename string BlobSha string Size int64 Sized bool } // RepoChanges changes (file additions/updates/removals) to a repo type RepoChanges struct { Updates []FileUpdate RemovedFilenames []string } // IndexerData represents data stored in the code indexer type IndexerData struct { RepoID int64 } // Matches found in code with zoekt indexer type Match struct { Start int End int LineNumber int } // SearchResult result of performing a search in a repo type SearchResult struct { RepoID int64 StartIndex int EndIndex int Filename string Content string CommitID string UpdatedUnix timeutil.TimeStamp Language string Color string Matches []Match LineNumbers []int LineOffsets []int } // SearchResultLanguages result of top languages count in search results type SearchResultLanguages struct { Language string Color string Count int } type Result struct { RepoID int64 Filename string CommitID string UpdatedUnix timeutil.TimeStamp Language string Color string Lines []ResultLine } type ResultLine struct { Num int FormattedContent template.HTML } type ResultFormatter interface { Format(*SearchResult) (*Result, error) }