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