diff --git a/tabs/search/frame.lua b/tabs/search/frame.lua index 69c6af3..4491f45 100644 --- a/tabs/search/frame.lua +++ b/tabs/search/frame.lua @@ -226,6 +226,10 @@ function create_frames() do local editbox = gui.editbox(controls) editbox:EnableMouse(1) + editbox.formatter = function(str) + local queries = aux.filter_util.queries(str) + return queries and join(map(copy(queries), function(query) return query.prettified end), ';') or color.red(str) + end editbox.complete = completion.complete_filter editbox:SetPoint('RIGHT', start_button, 'LEFT', -4, 0) editbox:SetHeight(25) @@ -303,12 +307,14 @@ function create_frames() btn:SetPoint('TOPLEFT', status_bar_frame, 'TOPRIGHT', 5, 0) btn:SetText('Favorite') btn:SetScript('OnClick', function() - local filters = filter_util.queries(search_box:GetText()) - if filters then + local queries, error = filter_util.queries(search_box:GetText()) + if queries then tinsert(_G.aux_favorite_searches, 1, T( 'filter_string', search_box:GetText(), - 'prettified', join(map(filters, function(filter) return filter.prettified end), ';') + 'prettified', join(map(queries, function(query) return query.prettified end), ';') )) + else + print('Invalid filter:', error) end update_search_listings() end) diff --git a/tabs/search/results.lua b/tabs/search/results.lua index 88f2794..2e89bdd 100644 --- a/tabs/search/results.lua +++ b/tabs/search/results.lua @@ -118,7 +118,7 @@ end function update_auto_buy_filter() if _G.aux_auto_buy_filter ~= '' then - local queries = aux.filter_util.queries(_G.aux_auto_buy_filter) + local queries, error = aux.filter_util.queries(_G.aux_auto_buy_filter) if queries then if getn(queries) > 1 then print 'Error: The automatic buyout filter does not support multi-queries' @@ -130,6 +130,8 @@ function update_auto_buy_filter() auto_buy_filter_button:SetChecked(true) return end + else + print('Invalid auto buy filter:', error) end end _G.aux_auto_buy_filter = '' @@ -310,8 +312,9 @@ function public.execute(resume, real_time) end local filter_string = search_box:GetText() - local queries = aux.filter_util.queries(filter_string) + local queries, error = aux.filter_util.queries(filter_string) if not queries then + print('Invalid filter:', error) return elseif real_time then if getn(queries) > 1 then diff --git a/tabs/search/saved.lua b/tabs/search/saved.lua index 923256f..37fa2d7 100644 --- a/tabs/search/saved.lua +++ b/tabs/search/saved.lua @@ -19,7 +19,7 @@ function update_search_listings() for i, recent_search in _G.aux_recent_searches do local name = strsub(recent_search.prettified, 1, 250) tinsert(recent_search_rows, { - cols = {{value=name}}, + cols = {{ value=name }}, search = recent_search, index = i, }) diff --git a/util/filter.lua b/util/filter.lua index 2bfff0e..5af1619 100644 --- a/util/filter.lua +++ b/util/filter.lua @@ -362,8 +362,7 @@ function public.queries(filter_string) str = trim(str) local query, _, error = query(str) if not query then - print('Invalid filter:', error) - return + return nil, error else tinsert(queries, query) end