From ffa2027102f75e28dd8d8c2a97f3b9163dd80b56 Mon Sep 17 00:00:00 2001 From: JINNOUCHI Yasushi Date: Wed, 10 Feb 2021 20:39:28 +0900 Subject: [PATCH] Refactor callback (#9) * Fix tabs * Detect the filter faster --- lua/telescope/_extensions/frecency.lua | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/lua/telescope/_extensions/frecency.lua b/lua/telescope/_extensions/frecency.lua index a334fdd..282e62b 100644 --- a/lua/telescope/_extensions/frecency.lua +++ b/lua/telescope/_extensions/frecency.lua @@ -169,26 +169,26 @@ local frecency = function(opts) } end + local delim = opts.filter_delimiter or ":" + local filter_re = "^(" .. delim .. "(%S+)" .. delim .. ")" + state.picker = pickers.new(opts, { prompt_title = "Frecency", on_input_filter_cb = function(query_text) - local delim = opts.filter_delimiter or ":" -- check for :filter: in query text - local new_filter = query_text:gmatch(delim .. "%S+" .. delim)() - - if new_filter then - query_text = query_text:gsub(new_filter, "") - new_filter = new_filter:gsub(delim, "") + local matched, new_filter = query_text:match(filter_re) + if matched then + query_text = query_text:sub(matched:len() + 1) end local new_finder local results_updated = update_results(new_filter) if results_updated then - displayer = entry_display.create { - separator = "", - hl_chars = {[os_path_sep] = "TelescopePathSeparator"}, - items = get_display_cols() - } + displayer = entry_display.create { + separator = "", + hl_chars = {[os_path_sep] = "TelescopePathSeparator"}, + items = get_display_cols() + } state.last_filter = new_filter new_finder = finders.new_table {