@@ -42,10 +42,10 @@ fn draw_search(ctx: &mut Context, state: &mut State) {
42
42
ReplaceAll ,
43
43
}
44
44
45
- if let Err ( err ) = icu :: init ( ) {
46
- error_log_add ( ctx , state , err ) ;
47
- state . wants_search . kind = StateSearchKind :: Disabled ;
48
- return ;
45
+ let mut use_icu = true ;
46
+
47
+ if let Err ( _ ) = icu :: init ( ) {
48
+ use_icu = false ;
49
49
}
50
50
51
51
let Some ( doc) = state. documents . active ( ) else {
@@ -125,26 +125,28 @@ fn draw_search(ctx: &mut Context, state: &mut State) {
125
125
{
126
126
ctx. table_next_row ( ) ;
127
127
128
- let mut change = false ;
129
- change |= ctx. checkbox (
130
- "match-case" ,
131
- loc ( LocId :: SearchMatchCase ) ,
132
- & mut state. search_options . match_case ,
133
- ) ;
134
- change |= ctx. checkbox (
135
- "whole-word" ,
136
- loc ( LocId :: SearchWholeWord ) ,
137
- & mut state. search_options . whole_word ,
138
- ) ;
139
- change |= ctx. checkbox (
140
- "use-regex" ,
141
- loc ( LocId :: SearchUseRegex ) ,
142
- & mut state. search_options . use_regex ,
143
- ) ;
144
- if change {
145
- action = SearchAction :: Search ;
146
- state. wants_search . focus = true ;
147
- ctx. needs_rerender ( ) ;
128
+ if use_icu {
129
+ let mut change = false ;
130
+ change |= ctx. checkbox (
131
+ "match-case" ,
132
+ loc ( LocId :: SearchMatchCase ) ,
133
+ & mut state. search_options . match_case ,
134
+ ) ;
135
+ change |= ctx. checkbox (
136
+ "whole-word" ,
137
+ loc ( LocId :: SearchWholeWord ) ,
138
+ & mut state. search_options . whole_word ,
139
+ ) ;
140
+ change |= ctx. checkbox (
141
+ "use-regex" ,
142
+ loc ( LocId :: SearchUseRegex ) ,
143
+ & mut state. search_options . use_regex ,
144
+ ) ;
145
+ if change {
146
+ action = SearchAction :: Search ;
147
+ state. wants_search . focus = true ;
148
+ ctx. needs_rerender ( ) ;
149
+ }
148
150
}
149
151
150
152
if state. wants_search . kind == StateSearchKind :: Replace
@@ -163,18 +165,22 @@ fn draw_search(ctx: &mut Context, state: &mut State) {
163
165
164
166
state. search_success = match action {
165
167
SearchAction :: None => return ,
166
- SearchAction :: Search => {
167
- doc. buffer . borrow_mut ( ) . find_and_select ( & state. search_needle , state. search_options )
168
- }
168
+ SearchAction :: Search => doc. buffer . borrow_mut ( ) . find_and_select (
169
+ & state. search_needle ,
170
+ state. search_options ,
171
+ use_icu,
172
+ ) ,
169
173
SearchAction :: Replace => doc. buffer . borrow_mut ( ) . find_and_replace (
170
174
& state. search_needle ,
171
175
state. search_options ,
172
176
& state. search_replacement ,
177
+ use_icu,
173
178
) ,
174
179
SearchAction :: ReplaceAll => doc. buffer . borrow_mut ( ) . find_and_replace_all (
175
180
& state. search_needle ,
176
181
state. search_options ,
177
182
& state. search_replacement ,
183
+ use_icu,
178
184
) ,
179
185
}
180
186
. is_ok ( ) ;
0 commit comments