@@ -152,39 +152,39 @@ void ffOptionParseColorNoClear(const char* value, FFstrbuf* buffer)
152152 while (* value != '\0' )
153153 {
154154 #define FF_APPEND_COLOR_CODE_COND (prefix , code ) \
155- if(ffStrStartsWithIgnCase(value, #prefix)) { ffStrbufAppendS(buffer, code); value += strlen(#prefix); }
156-
157- FF_APPEND_COLOR_CODE_COND (reset_ , FF_COLOR_MODE_RESET )
158- else FF_APPEND_COLOR_CODE_COND (bright_ , FF_COLOR_MODE_BOLD )
159- else FF_APPEND_COLOR_CODE_COND (dim_ , FF_COLOR_MODE_DIM )
160- else FF_APPEND_COLOR_CODE_COND (italic_ , FF_COLOR_MODE_ITALIC )
161- else FF_APPEND_COLOR_CODE_COND (underline_ , FF_COLOR_MODE_UNDERLINE )
162- else FF_APPEND_COLOR_CODE_COND (blink_ , FF_COLOR_MODE_BLINK )
163- else FF_APPEND_COLOR_CODE_COND (inverse_ , FF_COLOR_MODE_INVERSE )
164- else FF_APPEND_COLOR_CODE_COND (hidden_ , FF_COLOR_MODE_HIDDEN )
165- else FF_APPEND_COLOR_CODE_COND (strike_ , FF_COLOR_MODE_STRIKETHROUGH )
166- else FF_APPEND_COLOR_CODE_COND (black , FF_COLOR_FG_BLACK )
167- else FF_APPEND_COLOR_CODE_COND (red , FF_COLOR_FG_RED )
168- else FF_APPEND_COLOR_CODE_COND (green , FF_COLOR_FG_GREEN )
169- else FF_APPEND_COLOR_CODE_COND (yellow , FF_COLOR_FG_YELLOW )
170- else FF_APPEND_COLOR_CODE_COND (blue , FF_COLOR_FG_BLUE )
171- else FF_APPEND_COLOR_CODE_COND (magenta , FF_COLOR_FG_MAGENTA )
172- else FF_APPEND_COLOR_CODE_COND (cyan , FF_COLOR_FG_CYAN )
173- else FF_APPEND_COLOR_CODE_COND (white , FF_COLOR_FG_WHITE )
174- else FF_APPEND_COLOR_CODE_COND (default , FF_COLOR_FG_DEFAULT )
175- else FF_APPEND_COLOR_CODE_COND (light_black , FF_COLOR_FG_LIGHT_BLACK )
176- else FF_APPEND_COLOR_CODE_COND (light_red , FF_COLOR_FG_LIGHT_RED )
177- else FF_APPEND_COLOR_CODE_COND (light_green , FF_COLOR_FG_LIGHT_GREEN )
178- else FF_APPEND_COLOR_CODE_COND (light_yellow , FF_COLOR_FG_LIGHT_YELLOW )
179- else FF_APPEND_COLOR_CODE_COND (light_blue , FF_COLOR_FG_LIGHT_BLUE )
180- else FF_APPEND_COLOR_CODE_COND (light_magenta , FF_COLOR_FG_LIGHT_MAGENTA )
181- else FF_APPEND_COLOR_CODE_COND (light_cyan , FF_COLOR_FG_LIGHT_CYAN )
182- else FF_APPEND_COLOR_CODE_COND (light_white , FF_COLOR_FG_LIGHT_WHITE )
183- else
155+ if(ffStrStartsWithIgnCase(value, #prefix)) { ffStrbufAppendS(buffer, code); value += strlen(#prefix); continue; }
156+
157+ if (ffCharIsEnglishAlphabet (value [0 ]))
184158 {
185- ffStrbufAppendC (buffer , * value );
186- ++ value ;
159+ FF_APPEND_COLOR_CODE_COND (reset_ , FF_COLOR_MODE_RESET )
160+ else FF_APPEND_COLOR_CODE_COND (bright_ , FF_COLOR_MODE_BOLD )
161+ else FF_APPEND_COLOR_CODE_COND (dim_ , FF_COLOR_MODE_DIM )
162+ else FF_APPEND_COLOR_CODE_COND (italic_ , FF_COLOR_MODE_ITALIC )
163+ else FF_APPEND_COLOR_CODE_COND (underline_ , FF_COLOR_MODE_UNDERLINE )
164+ else FF_APPEND_COLOR_CODE_COND (blink_ , FF_COLOR_MODE_BLINK )
165+ else FF_APPEND_COLOR_CODE_COND (inverse_ , FF_COLOR_MODE_INVERSE )
166+ else FF_APPEND_COLOR_CODE_COND (hidden_ , FF_COLOR_MODE_HIDDEN )
167+ else FF_APPEND_COLOR_CODE_COND (strike_ , FF_COLOR_MODE_STRIKETHROUGH )
168+ else FF_APPEND_COLOR_CODE_COND (black , FF_COLOR_FG_BLACK )
169+ else FF_APPEND_COLOR_CODE_COND (red , FF_COLOR_FG_RED )
170+ else FF_APPEND_COLOR_CODE_COND (green , FF_COLOR_FG_GREEN )
171+ else FF_APPEND_COLOR_CODE_COND (yellow , FF_COLOR_FG_YELLOW )
172+ else FF_APPEND_COLOR_CODE_COND (blue , FF_COLOR_FG_BLUE )
173+ else FF_APPEND_COLOR_CODE_COND (magenta , FF_COLOR_FG_MAGENTA )
174+ else FF_APPEND_COLOR_CODE_COND (cyan , FF_COLOR_FG_CYAN )
175+ else FF_APPEND_COLOR_CODE_COND (white , FF_COLOR_FG_WHITE )
176+ else FF_APPEND_COLOR_CODE_COND (default , FF_COLOR_FG_DEFAULT )
177+ else FF_APPEND_COLOR_CODE_COND (light_black , FF_COLOR_FG_LIGHT_BLACK )
178+ else FF_APPEND_COLOR_CODE_COND (light_red , FF_COLOR_FG_LIGHT_RED )
179+ else FF_APPEND_COLOR_CODE_COND (light_green , FF_COLOR_FG_LIGHT_GREEN )
180+ else FF_APPEND_COLOR_CODE_COND (light_yellow , FF_COLOR_FG_LIGHT_YELLOW )
181+ else FF_APPEND_COLOR_CODE_COND (light_blue , FF_COLOR_FG_LIGHT_BLUE )
182+ else FF_APPEND_COLOR_CODE_COND (light_magenta , FF_COLOR_FG_LIGHT_MAGENTA )
183+ else FF_APPEND_COLOR_CODE_COND (light_cyan , FF_COLOR_FG_LIGHT_CYAN )
184+ else FF_APPEND_COLOR_CODE_COND (light_white , FF_COLOR_FG_LIGHT_WHITE )
187185 }
186+ ffStrbufAppendC (buffer , * value );
187+ ++ value ;
188188
189189 #undef FF_APPEND_COLOR_CODE_COND
190190 }
0 commit comments