@@ -16,9 +16,62 @@ const (
1616
1717var (
1818 version string
19+ )
1920
21+ var (
2022 flagLimit int
2123 flagNoLimit bool
24+
25+ flagPrompt string
26+ flagCursor string
27+ flagSelectedPrefix string
28+ flagUnselectedPrefix string
29+ flagInputPlaceholder string
30+
31+ flagCursorFg string
32+ flagCursorBg string
33+ flagCursorBold bool
34+ flagCursorBlink bool
35+ flagCursorItalic bool
36+ flagCursorStrikethrough bool
37+ flagCursorUnderline bool
38+ flagCursorFaint bool
39+
40+ flagCursorLineFg string
41+ flagCursorLineBg string
42+ flagCursorLineBold bool
43+ flagCursorLineBlink bool
44+ flagCursorLineItalic bool
45+ flagCursorLineStrikethrough bool
46+ flagCursorLineUnderline bool
47+ flagCursorLineFaint bool
48+
49+ flagSelectedPrefixFg string
50+ flagSelectedPrefixBg string
51+ flagSelectedPrefixBold bool
52+ flagSelectedPrefixBlink bool
53+ flagSelectedPrefixItalic bool
54+ flagSelectedPrefixStrikethrough bool
55+ flagSelectedPrefixUnderline bool
56+ flagSelectedPrefixFaint bool
57+
58+ flagUnselectedPrefixFg string
59+ flagUnselectedPrefixBg string
60+ flagUnselectedPrefixBold bool
61+ flagUnselectedPrefixBlink bool
62+ flagUnselectedPrefixItalic bool
63+ flagUnselectedPrefixStrikethrough bool
64+ flagUnselectedPrefixUnderline bool
65+ flagUnselectedPrefixFaint bool
66+
67+ flagMatchesFg string
68+ flagMatchesBg string
69+ flagMatchesBold bool
70+ flagMatchesBlink bool
71+ flagMatchesItalic bool
72+ flagMatchesStrikethrough bool
73+ flagMatchesUnderline bool
74+ flagMatchesFaint bool
2275)
2376
2477var rootCmd = & cobra.Command {
@@ -35,12 +88,63 @@ var rootCmd = &cobra.Command{
3588 f := fzf .New (
3689 fzf .WithNoLimit (flagNoLimit ),
3790 fzf .WithLimit (flagLimit ),
91+
92+ fzf .WithPrompt (flagPrompt ),
93+ fzf .WithCursor (flagCursor ),
94+ fzf .WithSelectedPrefix (flagSelectedPrefix ),
95+ fzf .WithUnselectedPrefix (flagUnselectedPrefix ),
96+ fzf .WithInputPlaceholder (flagInputPlaceholder ),
3897 fzf .WithStyles (
39- fzf .WithStyleCursor (fzf.Style {ForegroundColor : mainColor }),
40- fzf .WithStyleCursorLine (fzf.Style {Bold : true }),
41- fzf .WithStyleMatches (fzf.Style {ForegroundColor : mainColor }),
42- fzf .WithStyleSelectedPrefix (fzf.Style {ForegroundColor : mainColor }),
43- fzf .WithStyleUnselectedPrefix (fzf.Style {Faint : true }),
98+ fzf .WithStyleCursor (fzf.Style {
99+ ForegroundColor : flagCursorFg ,
100+ BackgroundColor : flagCursorBg ,
101+ Bold : flagCursorBold ,
102+ Blink : flagCursorBlink ,
103+ Italic : flagCursorItalic ,
104+ Strikethrough : flagCursorStrikethrough ,
105+ Underline : flagCursorUnderline ,
106+ Faint : flagCursorFaint ,
107+ }),
108+ fzf .WithStyleCursorLine (fzf.Style {
109+ ForegroundColor : flagCursorLineFg ,
110+ BackgroundColor : flagCursorLineBg ,
111+ Bold : flagCursorLineBold ,
112+ Blink : flagCursorLineBlink ,
113+ Italic : flagCursorLineItalic ,
114+ Strikethrough : flagCursorLineStrikethrough ,
115+ Underline : flagCursorLineUnderline ,
116+ Faint : flagCursorLineFaint ,
117+ }),
118+ fzf .WithStyleSelectedPrefix (fzf.Style {
119+ ForegroundColor : flagSelectedPrefixFg ,
120+ BackgroundColor : flagSelectedPrefixBg ,
121+ Bold : flagSelectedPrefixBold ,
122+ Blink : flagSelectedPrefixBlink ,
123+ Italic : flagSelectedPrefixItalic ,
124+ Strikethrough : flagSelectedPrefixStrikethrough ,
125+ Underline : flagSelectedPrefixUnderline ,
126+ Faint : flagSelectedPrefixFaint ,
127+ }),
128+ fzf .WithStyleUnselectedPrefix (fzf.Style {
129+ ForegroundColor : flagUnselectedPrefixFg ,
130+ BackgroundColor : flagUnselectedPrefixBg ,
131+ Bold : flagUnselectedPrefixBold ,
132+ Blink : flagUnselectedPrefixBlink ,
133+ Italic : flagUnselectedPrefixItalic ,
134+ Strikethrough : flagUnselectedPrefixStrikethrough ,
135+ Underline : flagUnselectedPrefixUnderline ,
136+ Faint : flagUnselectedPrefixFaint ,
137+ }),
138+ fzf .WithStyleMatches (fzf.Style {
139+ ForegroundColor : flagMatchesFg ,
140+ BackgroundColor : flagMatchesBg ,
141+ Bold : flagMatchesBold ,
142+ Blink : flagMatchesBlink ,
143+ Italic : flagMatchesItalic ,
144+ Strikethrough : flagMatchesStrikethrough ,
145+ Underline : flagMatchesUnderline ,
146+ Faint : flagMatchesFaint ,
147+ }),
44148 ),
45149 )
46150 choices , err := f .Find (is , func (i int ) string { return is [i ] })
@@ -72,6 +176,60 @@ func init() {
72176 rootCmd .Version = version
73177
74178 // flags
75- rootCmd .Flags ().IntVarP (& flagLimit , "limit" , "l" , 1 , "maximum number of items to select" )
179+ rootCmd .Flags ().SortFlags = false
180+
181+ rootCmd .Flags ().IntVar (& flagLimit , "limit" , 1 , "maximum number of items to select" )
76182 rootCmd .Flags ().BoolVar (& flagNoLimit , "no-limit" , false , "unlimited number of items to select" )
183+ rootCmd .MarkFlagsMutuallyExclusive ("limit" , "no-limit" )
184+
185+ rootCmd .Flags ().StringVar (& flagPrompt , "prompt" , "> " , "" )
186+ rootCmd .Flags ().StringVar (& flagCursor , "cursor" , "> " , "" )
187+ rootCmd .Flags ().StringVar (& flagSelectedPrefix , "selected-prefix" , "● " , "" )
188+ rootCmd .Flags ().StringVar (& flagUnselectedPrefix , "unselected-prefix" , "◯ " , "" )
189+ rootCmd .Flags ().StringVar (& flagInputPlaceholder , "input-placeholder" , "Filter..." , "" )
190+
191+ rootCmd .Flags ().StringVar (& flagCursorFg , "cursor-fg" , mainColor , "" )
192+ rootCmd .Flags ().StringVar (& flagCursorBg , "cursor-bg" , "" , "" )
193+ rootCmd .Flags ().BoolVar (& flagCursorBold , "cursor-bold" , false , "" )
194+ rootCmd .Flags ().BoolVar (& flagCursorBlink , "cursor-blink" , false , "" )
195+ rootCmd .Flags ().BoolVar (& flagCursorItalic , "cursor-italic" , false , "" )
196+ rootCmd .Flags ().BoolVar (& flagCursorStrikethrough , "cursor-strike" , false , "" )
197+ rootCmd .Flags ().BoolVar (& flagCursorUnderline , "cursor-underline" , false , "" )
198+ rootCmd .Flags ().BoolVar (& flagCursorFaint , "cursor-faint" , false , "" )
199+
200+ rootCmd .Flags ().StringVar (& flagCursorLineFg , "cursorline-fg" , "" , "" )
201+ rootCmd .Flags ().StringVar (& flagCursorLineBg , "cursorline-bg" , "" , "" )
202+ rootCmd .Flags ().BoolVar (& flagCursorLineBold , "cursorline-bold" , true , "" )
203+ rootCmd .Flags ().BoolVar (& flagCursorLineBlink , "cursorline-blink" , false , "" )
204+ rootCmd .Flags ().BoolVar (& flagCursorLineItalic , "cursorline-italic" , false , "" )
205+ rootCmd .Flags ().BoolVar (& flagCursorLineStrikethrough , "cursorline-strke" , false , "" )
206+ rootCmd .Flags ().BoolVar (& flagCursorLineUnderline , "cursorline-underline" , false , "" )
207+ rootCmd .Flags ().BoolVar (& flagCursorLineFaint , "cursorline-faint" , false , "" )
208+
209+ rootCmd .Flags ().StringVar (& flagSelectedPrefixFg , "selected-prefix-fg" , mainColor , "" )
210+ rootCmd .Flags ().StringVar (& flagSelectedPrefixBg , "selected-prefix-bg" , "" , "" )
211+ rootCmd .Flags ().BoolVar (& flagSelectedPrefixBold , "selected-prefix-bold" , false , "" )
212+ rootCmd .Flags ().BoolVar (& flagSelectedPrefixBlink , "selected-prefix-blink" , false , "" )
213+ rootCmd .Flags ().BoolVar (& flagSelectedPrefixItalic , "selected-prefix-italic" , false , "" )
214+ rootCmd .Flags ().BoolVar (& flagSelectedPrefixStrikethrough , "selected-prefix-strke" , false , "" )
215+ rootCmd .Flags ().BoolVar (& flagSelectedPrefixUnderline , "selected-prefix-underline" , false , "" )
216+ rootCmd .Flags ().BoolVar (& flagSelectedPrefixFaint , "selected-prefix-faint" , false , "" )
217+
218+ rootCmd .Flags ().StringVar (& flagUnselectedPrefixFg , "unselected-prefix-fg" , "" , "" )
219+ rootCmd .Flags ().StringVar (& flagUnselectedPrefixBg , "unselected-prefix-bg" , "" , "" )
220+ rootCmd .Flags ().BoolVar (& flagUnselectedPrefixBold , "unselected-prefix-bold" , false , "" )
221+ rootCmd .Flags ().BoolVar (& flagUnselectedPrefixBlink , "unselected-prefix-blink" , false , "" )
222+ rootCmd .Flags ().BoolVar (& flagUnselectedPrefixItalic , "unselected-prefix-italic" , false , "" )
223+ rootCmd .Flags ().BoolVar (& flagUnselectedPrefixStrikethrough , "unselected-prefix-strke" , false , "" )
224+ rootCmd .Flags ().BoolVar (& flagUnselectedPrefixUnderline , "unselected-prefix-underline" , false , "" )
225+ rootCmd .Flags ().BoolVar (& flagUnselectedPrefixFaint , "unselected-prefix-faint" , true , "" )
226+
227+ rootCmd .Flags ().StringVar (& flagMatchesFg , "matches-fg" , mainColor , "" )
228+ rootCmd .Flags ().StringVar (& flagMatchesBg , "matches-bg" , "" , "" )
229+ rootCmd .Flags ().BoolVar (& flagMatchesBold , "matches-bold" , false , "" )
230+ rootCmd .Flags ().BoolVar (& flagMatchesBlink , "matches-blink" , false , "" )
231+ rootCmd .Flags ().BoolVar (& flagMatchesItalic , "matches-italic" , false , "" )
232+ rootCmd .Flags ().BoolVar (& flagMatchesStrikethrough , "matches-strke" , false , "" )
233+ rootCmd .Flags ().BoolVar (& flagMatchesUnderline , "matches-underline" , false , "" )
234+ rootCmd .Flags ().BoolVar (& flagMatchesFaint , "matches-faint" , false , "" )
77235}
0 commit comments