Created
November 19, 2015 07:30
-
-
Save hluk/95889230aeea2388dea5 to your computer and use it in GitHub Desktop.
CopyQ - Search All Tabs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
[Command] | |
Name=Search All Tabs | |
Command=" | |
copyq: | |
// Name for tab for storing matching items. | |
var search_tab_name = \"Search\" | |
// Returns true iff item at index matches regex. | |
function item_matches(item_index, re) | |
{ | |
var text = str(read(j)) | |
return text && re.test(text) | |
} | |
// Ask for search expression. | |
var match = dialog(\"Search\") | |
if (!match) | |
abort() | |
var re = new RegExp(match) | |
// Clear tab with results. | |
try { | |
removeTab(search_tab_name) | |
} catch (e) {} | |
// Search all tabs. | |
var tab_names = tab() | |
for (var i in tab_names) { | |
var tab_name = tab_names[i] | |
tab(tab_name) | |
var item_count = count() | |
// Search all items in tab. | |
for (var j = 0; j < item_count; ++j) { | |
// Add matching item to tab with results. | |
if (item_matches(j, re)) { | |
var item = getItem(j) | |
tab(search_tab_name) | |
setItem(j, item) | |
tab(tab_name) | |
} | |
} | |
} | |
show(search_tab_name)" | |
InMenu=true | |
Icon=\xf002 | |
Shortcut=Ctrl+Shift+F |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Would anyone know how to add the tag search? I can't figure out how to get that information. Thank you.