@@ -10,27 +10,28 @@ import (
1010)
1111
1212const (
13- // ANSI escape codes
1413 clearScreenCode = "\033 [2J"
1514 clearScrollbackCode = "\033 [3J"
1615 cursorHomeCode = "\033 [H"
1716 hideCursorCode = "\033 [?25l"
1817 showCursorCode = "\033 [?25h"
18+ enableMouseCode = "\033 [?1000h\033 [?1002h\033 [?1006h"
19+ disableMouseCode = "\033 [?1000l\033 [?1002l\033 [?1006l"
1920 clearLineCode = "\033 [K"
2021 boldCode = "\033 [1m"
21- cyanCode = "\033 [36m"
22- yellowCode = "\033 [33m"
23- blueCode = "\033 [34m"
2422 resetCode = "\033 [0m"
25- bgCyanCode = "\033 [46m"
26- bgBlackCode = "\033 [40m"
27- bgLightGrayCode = "\033 [47m"
28- bgDarkGrayCode = "\033 [100m"
29- // Mouse tracking
30- enableMouseCode = "\033 [?1000h\033 [?1002h\033 [?1006h"
31- disableMouseCode = "\033 [?1000l\033 [?1002l\033 [?1006l"
32- // Use \r\n for proper line endings in raw mode
33- newline = "\r \n "
23+ newline = "\r \n "
24+
25+ yellowCode = "\033 [33m"
26+ fgBlue = "\033 [34m"
27+ magentaCode = "\033 [35m"
28+ fgMagenta = "\033 [38;5;198m"
29+ bgGrayCode = "\033 [48;5;237m"
30+
31+ searchMarkerColor = fgBlue
32+ markerColor = fgMagenta
33+ selectedBgColor = bgGrayCode
34+ matchHighlightColor = yellowCode
3435)
3536
3637type PromptUI struct {
@@ -261,7 +262,7 @@ func highlightMatch(text, query string, isSelected bool, maxLen int) string {
261262
262263 resetColor := resetCode
263264 if isSelected {
264- resetColor = "\033 [0m" + bgDarkGrayCode + cyanCode
265+ resetColor = "\033 [0m" + selectedBgColor
265266 }
266267
267268 result := truncated [:index ] + highlightColor + truncated [index :index + len (query )] + resetColor + truncated [index + len (query ):]
@@ -279,7 +280,7 @@ func highlightMatch(text, query string, isSelected bool, maxLen int) string {
279280
280281 resetColor := resetCode
281282 if isSelected {
282- resetColor = "\033 [0m" + bgDarkGrayCode + cyanCode
283+ resetColor = "\033 [0m" + selectedBgColor
283284 }
284285
285286 for textIdx < len (truncated ) && queryIdx < len (lowerQuery ) {
@@ -387,14 +388,14 @@ func (ui *PromptUI) render() (startIdx, endIdx int) {
387388 isSelected := i == ui .selectedIndex
388389 if isSelected {
389390 output .WriteString (boldCode )
390- output .WriteString (cyanCode )
391- output .WriteString (bgDarkGrayCode )
391+ output .WriteString (magentaCode )
392+ output .WriteString (selectedBgColor )
393+ output .WriteString (markerColor )
392394 output .WriteString ("▌" )
393395 output .WriteString (resetCode )
394396 output .WriteString (boldCode )
395- output .WriteString (bgDarkGrayCode )
397+ output .WriteString (selectedBgColor )
396398 output .WriteString (" " )
397- output .WriteString (cyanCode )
398399 } else {
399400 output .WriteString (" " )
400401 }
@@ -433,7 +434,7 @@ func (ui *PromptUI) render() (startIdx, endIdx int) {
433434 output .WriteString (newline )
434435
435436 output .WriteString (boldCode )
436- output .WriteString (blueCode )
437+ output .WriteString (searchMarkerColor )
437438 output .WriteString ("> " )
438439 output .WriteString (resetCode )
439440 output .WriteString (boldCode )
0 commit comments