Mercurial Hosting > editor
comparison src/luan_editor/find.luan @ 91:ff999e959b74
find fix
author | Franklin Schmidt <fschmidt@gmail.com> |
---|---|
date | Fri, 04 Jul 2025 15:55:22 -0600 |
parents | 9d32b7115fd1 |
children |
comparison
equal
deleted
inserted
replaced
90:51d5795e1143 | 91:ff999e959b74 |
---|---|
18 local browse = Swing.browse or error() | 18 local browse = Swing.browse or error() |
19 | 19 |
20 | 20 |
21 local find_text = "" | 21 local find_text = "" |
22 local replace_text = "" | 22 local replace_text = "" |
23 local is_regex = false | |
23 | 24 |
24 local function get_matches(text,s) | 25 local function get_matches(text,s) |
25 local r = regex(s) | 26 local r = regex(s) |
26 local matches = {} | 27 local matches = {} |
27 local i = 1 | 28 local i = 1 |
52 if #s == 0 then | 53 if #s == 0 then |
53 status_bar.text = " " | 54 status_bar.text = " " |
54 return | 55 return |
55 end | 56 end |
56 find_text = s | 57 find_text = s |
57 if not regex_check_box.is_selected then | 58 is_regex = regex_check_box.is_selected |
59 if not is_regex then | |
58 s = regex_quote(s) | 60 s = regex_quote(s) |
59 end | 61 end |
60 local matches | 62 local matches |
61 try | 63 try |
62 matches = get_matches( text_area.text, s ) | 64 matches = get_matches( text_area.text, s ) |
107 return | 109 return |
108 end | 110 end |
109 local replace = replace_field.text | 111 local replace = replace_field.text |
110 find_text = find | 112 find_text = find |
111 replace_text = replace | 113 replace_text = replace |
112 if not regex_check_box.is_selected then | 114 is_regex = regex_check_box.is_selected |
115 if not is_regex then | |
113 find = regex_quote(find) | 116 find = regex_quote(find) |
114 replace = regex_quote_replacement(replace) | 117 replace = regex_quote_replacement(replace) |
115 end | 118 end |
116 local r | 119 local r |
117 try | 120 try |
220 find_panel.is_visible = true | 223 find_panel.is_visible = true |
221 find_field.text = find_text | 224 find_field.text = find_text |
222 find_field.request_focus_in_window() | 225 find_field.request_focus_in_window() |
223 find_field.select_all() | 226 find_field.select_all() |
224 replace_field.text = replace_text | 227 replace_field.text = replace_text |
228 regex_check_box.is_selected = is_regex | |
225 end | 229 end |
226 function window.hide_find_panel() | 230 function window.hide_find_panel() |
227 find_panel.is_visible = false | 231 find_panel.is_visible = false |
228 text_area.clear_hightlights() | 232 text_area.clear_hightlights() |
229 end | 233 end |