Skip to content

Commit

Permalink
added line numbers on output
Browse files Browse the repository at this point in the history
  • Loading branch information
gwirn committed Aug 25, 2023
1 parent 55556e9 commit bd89f48
Showing 1 changed file with 16 additions and 4 deletions.
20 changes: 16 additions & 4 deletions src/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -172,7 +172,7 @@ Compare the search results an print them in colors depending on what was found
* qualityCutOff: percentage of word needs to be found to count as a match
:return
*/
func showSearch(pattern, searchString string, inAlgn1, inAlgn2 []rune, color string, qualityCutOff float32) {
func showSearch(pattern, searchString string, inAlgn1, inAlgn2 []rune, color string, qualityCutOff float32) string {
cMap := getColorMap()
_, ok := cMap[color]
if !ok {
Expand Down Expand Up @@ -216,8 +216,9 @@ func showSearch(pattern, searchString string, inAlgn1, inAlgn2 []rune, color str
lastPrintInd = i[1]
}
sb.WriteString(searchString[lastPrintInd:])
fmt.Println(sb.String())
return sb.String()
}
return ""
}

/*
Expand Down Expand Up @@ -260,13 +261,19 @@ func argparse() {
// read from stdin
if len(files) == 0 {
buf := bufio.NewScanner(os.Stdin)
lineCount := 0
for buf.Scan() {
line := buf.Text()
fm, mI, mJ := fMatrix(searchPattern, line, *gapPenaltyPtr, *mmPenaltyPtr, *matchBonusPtr)
ag1, ag2 := backtrace(fm, []rune(searchPattern), []rune(line), []rune{}, []rune{}, mI, mJ, *gapPenaltyPtr, *mmPenaltyPtr, *matchBonusPtr)
reverseRune(ag1)
reverseRune(ag2)
showSearch(searchPattern, line, ag1, ag2, *colorPtr, float32(quality))

searchStringRes := showSearch(searchPattern, line, ag1, ag2, *colorPtr, float32(quality))
if len(searchStringRes) > 0 {
fmt.Printf("%d: %s\n", lineCount, searchStringRes)
}
lineCount++
}
// read from file(s)
} else {
Expand All @@ -282,6 +289,7 @@ func argparse() {
defer file.Close()

buf := bufio.NewScanner(file)
lineCount := 0
for {
if !buf.Scan() {
break
Expand All @@ -291,7 +299,11 @@ func argparse() {
ag1, ag2 := backtrace(fm, []rune(searchPattern), []rune(line), []rune{}, []rune{}, mI, mJ, *gapPenaltyPtr, *mmPenaltyPtr, *matchBonusPtr)
reverseRune(ag1)
reverseRune(ag2)
showSearch(searchPattern, line, ag1, ag2, *colorPtr, float32(quality))
searchStringRes := showSearch(searchPattern, line, ag1, ag2, *colorPtr, float32(quality))
if len(searchStringRes) > 0 {
fmt.Printf("%d: %s\n", lineCount, searchStringRes)
}
lineCount++
}
}
}
Expand Down

0 comments on commit bd89f48

Please sign in to comment.