diff --git a/EvernoteExport.lbaction/Contents/Info.plist b/EvernoteExport.lbaction/Contents/Info.plist
new file mode 100644
index 0000000..c3a0972
--- /dev/null
+++ b/EvernoteExport.lbaction/Contents/Info.plist
@@ -0,0 +1,45 @@
+
+
+
+
+ CFBundleIdentifier
+ com.alexeyglushkov.LaunchBar.action.EvernoteExport
+ CFBundleIconFile
+
+ CFBundleName
+ Evernote Export
+ CFBundleVersion
+ 1.0
+ LBDebugLogEnabled
+
+ LBScripts
+
+ LBDefaultScript
+
+ LBScriptName
+ default.scpt
+ LBRunInBackground
+
+ LBRequiresArgument
+
+ LBReturnsResult
+
+ LBLiveFeedbackEnabled
+
+
+
+ LBDescription
+
+ LBSummary
+ Export your evernote notes to be able to look through them by Evernote Search tool
+ LBAuthor
+ Glushkov Alexey
+ LBWebsite
+ https://medium.com/@sonicCat
+ LBTwitter
+ @soniccat
+
+ NSHumanReadableCopyright
+ Copyright © 2014 Gluhkov Alexey
+
+
diff --git a/EvernoteExport.lbaction/Contents/Scripts/default.scpt b/EvernoteExport.lbaction/Contents/Scripts/default.scpt
new file mode 100644
index 0000000..ee98416
Binary files /dev/null and b/EvernoteExport.lbaction/Contents/Scripts/default.scpt differ
diff --git a/EvernoteSearch.lbaction/Contents/Info.plist b/EvernoteSearch.lbaction/Contents/Info.plist
new file mode 100644
index 0000000..f276c93
--- /dev/null
+++ b/EvernoteSearch.lbaction/Contents/Info.plist
@@ -0,0 +1,51 @@
+
+
+
+
+ CFBundleIdentifier
+ com.alexeyglushkov.LaunchBar.action.EvernoteSearch
+ CFBundleIconFile
+
+ CFBundleName
+ Evernote Search
+ CFBundleVersion
+ 1.0
+ LBTextInputTitle
+ Options after --:rtm
+ LBDebugLogEnabled
+
+ LBScripts
+
+ LBDefaultScript
+
+ LBScriptName
+ default.rb
+ LBRunInBackground
+
+ LBRequiresArgument
+
+ LBAcceptedArgumentTypes
+
+ string
+
+ LBReturnsResult
+
+ LBLiveFeedbackEnabled
+
+
+
+ LBDescription
+
+ LBSummary
+ Search through exported Evernote notes by text
+ LBAuthor
+ Glushkov Alexey
+ LBWebsite
+ https://medium.com/@sonicCat
+ LBTwitter
+ @soniccat
+
+ NSHumanReadableCopyright
+ Copyright © 2014 Gluhkov Alexey
+
+
diff --git a/EvernoteSearch.lbaction/Contents/Scripts/default.rb b/EvernoteSearch.lbaction/Contents/Scripts/default.rb
new file mode 100644
index 0000000..acd1f96
--- /dev/null
+++ b/EvernoteSearch.lbaction/Contents/Scripts/default.rb
@@ -0,0 +1,120 @@
+#!/usr/bin/env ruby
+
+require 'json'
+require 'CGI'
+
+#get search folder
+homeFolder = `echo ~/`
+homeFolder = homeFolder[0..-2]
+
+exportPath = ""
+
+containersPath = "#{homeFolder}/Library/Group Containers/"
+files = Dir.entries(containersPath)
+files.each do |f|
+ if f.end_with?("com.evernote.Evernote")
+ exportPath = containersPath + f + "/Evernote/evernoteExport"
+ end
+end
+
+if exportPath == nil || exportPath.length == 0
+ item = {}
+ item['title'] = "Can't build path to a search folder"
+ items.push(item)
+ return item
+end
+
+folderPath = exportPath
+searchString = ARGV[0]
+
+optionIndex = searchString.index('--')
+optionsString = ""
+
+if optionIndex != nil
+ optionsString = searchString[optionIndex+2..-1]
+ searchString = searchString[0..optionIndex-1]
+end
+
+$showDebug = optionsString.index('d') != nil
+
+
+#seach
+startTime = Time.now
+results = []
+
+
+resultStrings = Dir[folderPath+'/'+'*.html'].inject(Hash.new(0)){ |result, item| result.update(item => File.read(item).scan(/#{searchString}/i).size) }
+resultStrings.each do |k, v|
+ if v > 0
+ item = {}
+ item[:filePath] = k
+ item[:matches] = v
+ results << item
+ end
+end
+
+#p resultStrings
+
+#p "find \"#{folderPath}\" -name \"*.html\" -exec grep -c \"#{searchString}\" {} +"
+#value = `find "#{folderPath}" -name "*.html" -exec grep -c "#{searchString}" {} +`
+#resultStrings = value.split("\n")
+
+#return;
+
+=begin
+resultStrings.each do |str|
+
+ values = str.split(":")
+
+ matches = values[0].to_i
+
+ if matches > 0
+ item = {}
+ item[:filePath] = values[0]
+ item[:matches] = matches
+ results << item
+ end
+end
+=end
+
+
+#sort by matches count
+results = results.sort do |dict1, dict2|
+ numberOfMatchies1 = dict1[:matches]
+ numberOfMatchies2 = dict2[:matches]
+
+ numberOfMatchies2 - numberOfMatchies1
+end
+
+finishTime = Time.now
+timeIntervale = finishTime - startTime
+
+#convert to response
+items = []
+
+if ($showDebug)
+ item = {}
+ item['title'] = "scanning takes #{timeIntervale} seconds"
+ items.push(item)
+end
+
+results.each do | dict |
+
+ item = {}
+ item['title'] = File.basename(dict[:filePath])
+ item['subtitle'] = dict[:matches].to_s + " matches"
+ item['path'] = dict[:filePath]
+
+ items.push(item)
+end
+
+if items.count == 0
+ item = {}
+ item['title'] = "no matches"
+ items.push(item)
+end
+
+puts items.to_json
+
+
+
diff --git a/EvernoteSearch.lbaction/Contents/Scripts/pick.rb b/EvernoteSearch.lbaction/Contents/Scripts/pick.rb
new file mode 100644
index 0000000..b5d6f77
--- /dev/null
+++ b/EvernoteSearch.lbaction/Contents/Scripts/pick.rb
@@ -0,0 +1,21 @@
+#!/usr/bin/env ruby
+
+require 'io/console'
+require 'CGI'
+
+
+=begin
+str = ARGV[0]
+args = str.split("||")
+
+wordsString = args[0] + ", " + args[1] + ", " + args[2]
+selectedIndex = args[3]
+selectedWord = args[selectedIndex.to_i]
+
+#copy selected word
+IO.popen('pbcopy', 'w') { |f| f << selectedWord }
+
+#show all words
+wordsString = CGI::escape(wordsString)
+value = `open \"x-launchbar:large-type?string=#{wordsString}\"`
+=end
diff --git a/IrregularVerbs.lbaction/Contents/Info.plist b/IrregularVerbs.lbaction/Contents/Info.plist
new file mode 100644
index 0000000..5abf9b9
--- /dev/null
+++ b/IrregularVerbs.lbaction/Contents/Info.plist
@@ -0,0 +1,51 @@
+
+
+
+
+ CFBundleIdentifier
+ com.alexeyglushkov.LaunchBar.action.IrregularVerbs
+ CFBundleIconFile
+
+ CFBundleName
+ Irregular Verb List
+ CFBundleVersion
+ 1.0
+ LBDebugLogEnabled
+
+ LBTextInputTitle
+ Word:
+ LBScripts
+
+ LBDefaultScript
+
+ LBScriptName
+ default.rb
+ LBRunInBackground
+
+ LBRequiresArgument
+
+ LBAcceptedArgumentTypes
+
+ string
+
+ LBReturnsResult
+
+ LBLiveFeedbackEnabled
+
+
+
+ LBDescription
+
+ LBSummary
+ Show all forms of a typed irregular verbs
+ LBAuthor
+ Glushkov Alexey
+ LBWebsite
+ https://medium.com/@sonicCat
+ LBTwitter
+ @soniccat
+
+ NSHumanReadableCopyright
+ Copyright © 2014 Gluhkov Alexey
+
+
diff --git a/IrregularVerbs.lbaction/Contents/Scripts/default.rb b/IrregularVerbs.lbaction/Contents/Scripts/default.rb
new file mode 100644
index 0000000..3b91fd1
--- /dev/null
+++ b/IrregularVerbs.lbaction/Contents/Scripts/default.rb
@@ -0,0 +1,60 @@
+#!/usr/bin/env ruby
+
+require 'json'
+
+$allWords = [["abide", "abided / abode", "abided"],["alight", "alighted / alit", "alighted / alit"],["arise", "arose", "arisen"],["awake", "awakened / awoke", "awakened / awoken"],["backbite", "backbit", "backbitten"],["backslide", "backslid", "backslidden / backslid"],["be [ am, is, are]", "was, were", "been"],["bear", "bore", "born / borne"],["beat", "beat", "beaten / beat"],["become", "became", "become"],["befall", "befell", "befallen"],["beget", "begat / begot", "begotten"],["begin", "began", "begun"],["behold", "beheld", "beheld"],["bend", "bent", "bent"],["bereave", "bereaved / bereft", "bereaved / bereft"],["beseech", "besought / beseeched", "besought / beseeched"],["beset", "beset", "beset"],["bestrew", "bestrewed", "bestrewn / bestrewed"],["bet", "bet / betted", "bet / betted"],["betake", "betook", "betaken"],["bethink", "bethought", "bethought"],["bid (farewell)", "bid / bade", "bidden"],["bid (offer amount)", "bid", "bid"],["bind", "bound", "bound"],["bite", "bit", "bitten"],["bleed", "bled", "bled"],["blow", "blew", "blown"],["break", "broke", "broken"],["breed", "bred", "bred"],["bring", "brought", "brought"],["broadcast", "broadcast / broadcasted", "broadcast / broadcasted"],["browbeat", "browbeat", "browbeaten / browbeat"],["build", "built", "built"],["burn", "burned / burnt", "burned / burnt"],["burst", "burst", "burst"],["bust", "busted / bust", "busted / bust"],["buy", "bought", "bought"],["cast", "cast", "cast"],["catch", "caught", "caught"],["chide", "chided / chid", "chided / chidden"],["choose", "chose", "chosen"],["clap", "clapped / clapt", "clapped / clapt"],["cling", "clung", "clung"],["clothe", "clothed / clad", "clothed / clad"],["colorbreed", "colorbred", "colorbred"],["come", "came", "come"],["cost", "cost", "cost"],["creep", "crept", "crept"],["crossbreed", "crossbred", "crossbred"],["cut", "cut", "cut"],["dare", "dared / durst", "dared / durst"],["daydream", "daydreamed / daydreamt", "daydreamed / daydreamt"],["deal", "dealt", "dealt"],["dig", "dug", "dug"],["dight", "dighted / dight", "dighted / dight"],["disprove", "disproved", "disproved / disproven"],["dive (jump head-first)", "dove / dived", "dived"],["dive (scuba diving)", "dived / dove", "dived"],["do", "did", "done"],["draw", "drew", "drawn"],["dream", "dreamed / dreamt", "dreamed / dreamt"],["drink", "drank", "drunk"],["drive", "drove", "driven"],["dwell", "dwelt / dwelled", "dwelt / dwelled"],["eat", "ate", "eaten"],["enwind", "enwound", "enwound"],["fall", "fell", "fallen"],["feed", "fed", "fed"],["feel", "felt", "felt"],["fight", "fought", "fought"],["find", "found", "found"],["fit (tailor, change size)", "fitted / fit", "fitted / fit"],["fit (be right size)", "fit / fitted", "fit / fitted"],["flee", "fled", "fled"],["fling", "flung", "flung"],["fly", "flew", "flown"],["forbear", "forbore", "forborne"],["forbid", "forbade", "forbidden"],["fordo", "fordid", "fordone"],["forecast", "forecast", "forecast"],["forego (also forgo)", "forewent", "foregone"],["foreknow", "foreknew", "foreknown"],["forerun", "foreran", "forerun"],["foresee", "foresaw", "foreseen"],["foreshow", "foreshowed", "foreshown / foreshowed"],["forespeak", "forespoke", "forespoken"],["foretell", "foretold", "foretold"],["forget", "forgot", "forgotten / forgot"],["forgive", "forgave", "forgiven"],["forsake", "forsook", "forsaken"],["forswear", "forswore", "forsworn"],["fraught", "fraught", "fraught"],["freeze", "froze", "frozen"],["gainsay", "gainsaid", "gainsaid"],["get", "got", "gotten / got"],["gild", "gilded / gilt", "gilded / gilt"],["give", "gave", "given"],["go", "went", "gone"],["grind", "ground", "ground"],["grow", "grew", "grown"],["hagride", "hagrode", "hagridden"],["halterbreak", "halterbroke", "halterbroken"],["hamstring", "hamstrung", "hamstrung"],["hand-feed", "hand-fed", "hand-fed"],["handwrite", "handwrote", "handwritten"],["hang", "hung", "hung"],["hang (kill by hanging)", "hanged / hung", "hanged / hung"],["have", "had", "had"],["hear", "heard", "heard"],["heave", "heaved / hove", "heaved / hove"],["hew", "hewed", "hewn / hewed"],["hide", "hid", "hidden"],["hit", "hit", "hit"],["hold", "held", "held"],["hurt", "hurt", "hurt"],["inbreed", "inbred", "inbred"],["inlay", "inlaid", "inlaid"],["input", "input / inputted", "input / inputted"],["inset", "inset", "inset"],["interbreed", "interbred", "interbred"],["intercut", "intercut", "intercut"],["interlay", "interlaid", "interlaid"],["interset", "interset", "interset"],["interweave", "interwove / interweaved", "interwoven / interweaved"],["interwind", "interwound", "interwound"],["inweave", "inwove / inweaved", "inwoven / inweaved"],["jerry-build", "jerry-built", "jerry-built"],["keep", "kept", "kept"],["kneel", "knelt / kneeled", "knelt / kneeled"],["knit", "knitted / knit", "knitted / knit"],["know", "knew", "known"],["lade", "laded", "laden / laded"],["landslide", "landslid", "landslid"],["lay", "laid", "laid"],["lead", "led", "led"],["lean", "leaned / leant", "leaned / leant"],["leap", "leaped / leapt", "leaped / leapt"],["learn", "learned / learnt", "learned / learnt"],["leave", "left", "left"],["lend", "lent", "lent"],["let", "let", "let"],["lie", "lay", "lain"],["lie (not tell truth) REGULAR", "lied", "lied"],["light", "lit / lighted", "lit / lighted"],["lip-read", "lip-read", "lip-read"],["lose", "lost", "lost"],["make", "made", "made"],["mean", "meant", "meant"],["meet", "met", "met"],["misbecome", "misbecame", "misbecome"],["miscast", "miscast", "miscast"],["miscut", "miscut", "miscut"],["misdeal", "misdealt", "misdealt"],["misdo", "misdid", "misdone"],["mishear", "misheard", "misheard"],["mishit", "mishit", "mishit"],["mislay", "mislaid", "mislaid"],["mislead", "misled", "misled"],["mislearn", "mislearned / mislearnt", "mislearned / mislearnt"],["misread", "misread", "misread"],["missay", "missaid", "missaid"],["missend", "missent", "missent"],["misset", "misset", "misset"],["misspeak", "misspoke", "misspoken"],["misspell", "misspelled / misspelt", "misspelled / misspelt"],["misspend", "misspent", "misspent"],["misswear", "misswore", "missworn"],["mistake", "mistook", "mistaken"],["misteach", "mistaught", "mistaught"],["mistell", "mistold", "mistold"],["misthink", "misthought", "misthought"],["misunderstand", "misunderstood", "misunderstood"],["miswear", "miswore", "misworn"],["miswed", "miswed / miswedded", "miswed / miswedded"],["miswrite", "miswrote", "miswritten"],["mow", "mowed", "mowed / mown"],["offset", "offset", "offset"],["outbid", "outbid", "outbid"],["outbreed", "outbred", "outbred"],["outdo", "outdid", "outdone"],["outdraw", "outdrew", "outdrawn"],["outdrink", "outdrank", "outdrunk"],["outdrive", "outdrove", "outdriven"],["outfight", "outfought", "outfought"],["outfly", "outflew", "outflown"],["outgrow", "outgrew", "outgrown"],["outlay", "outlaid", "outlaid"],["outleap", "outleaped / outleapt", "outleaped / outleapt"],["outlie (not tell truth) REGULAR", "outlied", "outlied"],["output", "output / outputted", "output / outputted"],["outride", "outrode", "outridden"],["outrun", "outran", "outrun"],["outsee", "outsaw", "outseen"],["outsell", "outsold", "outsold"],["outshine", "outshined / outshone", "outshined / outshone"],["outshoot", "outshot", "outshot"],["outsing", "outsang", "outsung"],["outsit", "outsat", "outsat"],["outsleep", "outslept", "outslept"],["outsmell", "outsmelled / outsmelt", "outsmelled / outsmelt"],["outspeak", "outspoke", "outspoken"],["outspeed", "outsped", "outsped"],["outspend", "outspent", "outspent"],["outspin", "outspun", "outspun"],["outspring", "outsprang / outsprung", "outsprung"],["outstand", "outstood", "outstood"],["outswear", "outswore", "outsworn"],["outswim", "outswam", "outswum"],["outtell", "outtold", "outtold"],["outthink", "outthought", "outthought"],["outthrow", "outthrew", "outthrown"],["outwear", "outwore", "outworn"],["outwind", "outwound", "outwound"],["outwrite", "outwrote", "outwritten"],["overbear", "overbore", "overborne / overborn"],["overbid", "overbid", "overbid"],["overbreed", "overbred", "overbred"],["overbuild", "overbuilt", "overbuilt"],["overbuy", "overbought", "overbought"],["overcast", "overcast", "overcast"],["overcome", "overcame", "overcome"],["overcut", "overcut", "overcut"],["overdo", "overdid", "overdone"],["overdraw", "overdrew", "overdrawn"],["overdrink", "overdrank", "overdrunk"],["overeat", "overate", "overeaten"],["overfeed", "overfed", "overfed"],["overhang", "overhung", "overhung"],["overhear", "overheard", "overheard"],["overlay", "overlaid", "overlaid"],["overleap", "overleaped / overleapt", "overleaped / overleapt"],["overlie", "overlay", "overlain"],["overpay", "overpaid", "overpaid"],["override", "overrode", "overridden"],["overrun", "overran", "overrun"],["oversee", "oversaw", "overseen"],["oversell", "oversold", "oversold"],["overset", "overset", "overset"],["oversew", "oversewed", "oversewn / oversewed"],["overshoot", "overshot", "overshot"],["oversleep", "overslept", "overslept"],["oversow", "oversowed", "oversown / oversowed"],["overspeak", "overspoke", "overspoken"],["overspend", "overspent", "overspent"],["overspill", "overspilled / overspilt", "overspilled / overspilt"],["overspin", "overspun", "overspun"],["overspread", "overspread", "overspread"],["overspring", "oversprang / oversprung /", "oversprung"],["overstand", "overstood", "overstood"],["overstrew", "overstrewed", "overstrewn / overstrewed"],["overstride", "overstrode", "overstridden"],["overstrike", "overstruck", "overstruck"],["overtake", "overtook", "overtaken"],["overthink", "overthought", "overthought"],["overthrow", "overthrew", "overthrown"],["overwear", "overwore", "overworn"],["overwind", "overwound", "overwound"],["overwrite", "overwrote", "overwritten"],["partake", "partook", "partaken"],["pay", "paid", "paid"],["plead", "pleaded / pled", "pleaded / pled"],["prebuild", "prebuilt", "prebuilt"],["predo", "predid", "predone"],["premake", "premade", "premade"],["prepay", "prepaid", "prepaid"],["presell", "presold", "presold"],["preset", "preset", "preset"],["preshrink", "preshrank", "preshrunk"],["presplit", "presplit", "presplit"],["proofread", "proofread", "proofread"],["prove", "proved", "proven / proved"],["put", "put", "put"],["quick-freeze", "quick-froze", "quick-frozen"],["quit", "quit / quitted", "quit / quitted"],["read", "read (sounds like \"red\")", " read (sounds like \"red\")"],["reawake", "reawoke", "reawaken"],["rebid", "rebid", "rebid"],["rebind", "rebound", "rebound"],["rebroadcast", "rebroadcast / rebroadcasted", "rebroadcast / rebroadcasted"],["rebuild", "rebuilt", "rebuilt"],["recast", "recast", "recast"],["recut", "recut", "recut"],["redeal", "redealt", "redealt"],["redo", "redid", "redone"],["redraw", "redrew", "redrawn"],["reeve", "reeved / rove", "reeved / rove"],["refit (replace parts)", "refit / refitted", "refit / refitted"],["refit (retailor)", "refitted / refit", "refitted / refit"],["regrind", "reground", "reground"],["regrow", "regrew", "regrown"],["rehang", "rehung", "rehung"],["rehear", "reheard", "reheard"],["reknit", "reknitted / reknit", "reknitted / reknit"],["relay (for example tiles)", "relaid", "relaid"],["relay (pass along) REGULAR", "relayed", "relayed"],["relearn", "relearned / relearnt", "relearned / relearnt"],["relight", "relit / relighted", "relit / relighted"],["remake", "remade", "remade"],["rend", "rent / rended", "rent / rended"],["repay", "repaid", "repaid"],["reread", "reread", "reread"],["rerun", "reran", "rerun"],["resell", "resold", "resold"],["resend", "resent", "resent"],["reset", "reset", "reset"],["resew", "resewed", "resewn / resewed"],["retake", "retook", "retaken"],["reteach", "retaught", "retaught"],["retear", "retore", "retorn"],["retell", "retold", "retold"],["rethink", "rethought", "rethought"],["retread", "retread", "retread"],["retrofit", "retrofitted / retrofit", "retrofitted / retrofit"],["rewake", "rewoke / rewaked", "rewaken / rewaked"],["rewear", "rewore", "reworn"],["reweave", "rewove / reweaved", "rewoven / reweaved"],["rewed", "rewed / rewedded", "rewed / rewedded"],["rewet", "rewet / rewetted", "rewet / rewetted"],["rewin", "rewon", "rewon"],["rewind", "rewound", "rewound"],["rewrite", "rewrote", "rewritten"],["rid", "rid", "rid"],["ride", "rode", "ridden"],["ring", "rang", "rung"],["rise", "rose", "risen"],["rive", "rived", "riven / rived"],["roughcast", "roughcast", "roughcast"],["run", "ran", "run"],["sand-cast", "sand-cast", "sand-cast"],["saw", "sawed", "sawed / sawn"],["say", "said", "said"],["see", "saw", "seen"],["seek", "sought", "sought"],["self-feed", "self-fed", "self-fed"],["self-sow", "self-sowed", "self-sown / self-sowed"],["sell", "sold", "sold"],["send", "sent", "sent"],["set", "set", "set"],["sew", "sewed", "sewn / sewed"],["shake", "shook", "shaken"],["shave", "shaved", "shaved / shaven"],["shear", "sheared", "sheared / shorn"],["shed", "shed", "shed"],["shine", "shined / shone", "shined / shone"],["shit", "shit / shat / shitted", "shit / shat / shitted"],["shoe", "shoed / shod", "shoed / shod"],["shoot", "shot", "shot"],["show", "showed", "shown / showed"],["shrink", "shrank / shrunk", "shrunk"],["shrive", "shrived / shrove", "shriven"],["shut", "shut", "shut"],["sight-read", "sight-read", "sight-read"],["sing", "sang", "sung"],["sink", "sank / sunk", "sunk"],["sit", "sat", "sat"],["skywrite", "skywrote", "skywritten"],["slay (kill)", "slew / slayed", "slain / slayed"],["slay (amuse) REGULAR", "slayed", "slayed"],["sleep", "slept", "slept"],["slide", "slid", "slid"],["sling", "slung", "slung"],["slink", "slinked / slunk", "slinked / slunk"],["slit", "slit", "slit"],["smell", "smelled / smelt", "smelled / smelt"],["smite", "smote", "smitten / smote"],["sneak", "sneaked / snuck", "sneaked / snuck"],["sow", "sowed", "sown / sowed"],["speak", "spoke", "spoken"],["speed", "sped / speeded", "sped / speeded"],["spell", "spelled / spelt", "spelled / spelt"],["spend", "spent", "spent"],["spill", "spilled / spilt", "spilled / spilt"],["spin", "spun", "spun"],["spit", "spit / spat", "spit / spat"],["split", "split", "split"],["spoil", "spoiled / spoilt", "spoiled / spoilt"],["spoon-feed", "spoon-fed", "spoon-fed"],["spread", "spread", "spread"],["spring", "sprang / sprung", "sprung"],["stall-feed", "stall-fed", "stall-fed"],["stand", "stood", "stood"],["stave", "staved / stove", "staved / stove"],["steal", "stole", "stolen"],["stick", "stuck", "stuck"],["sting", "stung", "stung"],["stink", "stunk / stank", "stunk"],["strew", "strewed", "strewn / strewed"],["stride", "strode", "stridden"],["strike (delete)", "struck", "stricken"],["strike (hit)", "struck", "struck / stricken"],["string", "strung", "strung"],["strip", "stripped / stript", "stripped / stript"],["strive", "strove / strived", "striven / strived"],["sublet", "sublet", "sublet"],["sunburn", "sunburned / sunburnt", "sunburned / sunburnt"],["swear", "swore", "sworn"],["sweat", "sweat / sweated", "sweat / sweated"],["sweep", "swept", "swept"],["swell", "swelled", "swollen / swelled"],["swim", "swam", "swum"],["swing", "swung", "swung"],["take", "took", "taken"],["teach", "taught", "taught"],["tear", "tore", "torn"],["telecast", "telecast", "telecast"],["tell", "told", "told"],["test-drive", "test-drove", "test-driven"],["test-fly", "test-flew", "test-flown"],["think", "thought", "thought"],["thrive", "thrived / throve", "thrived / thriven"],["throw", "threw", "thrown"],["thrust", "thrust", "thrust"],["tread", "trod", "trodden / trod"],["troubleshoot", "troubleshot", "troubleshot"],["typecast", "typecast", "typecast"],["typeset", "typeset", "typeset"],["typewrite", "typewrote", "typewritten"],["unbear", "unbore", "unborn / unborne"],["unbend", "unbent", "unbent"],["unbind", "unbound", "unbound"],["unbuild", "unbuilt", "unbuilt"],["unclothe", "unclothed / unclad", "unclothed / unclad"],["underbid", "underbid", "underbid"],["underbuy", "underbought", "underbought"],["undercut", "undercut", "undercut"],["underfeed", "underfed", "underfed"],["undergo", "underwent", "undergone"],["underlay", "underlaid", "underlaid"],["underlet", "underlet", "underlet"],["underlie", "underlay", "underlain"],["underrun", "underran", "underrun"],["undersell", "undersold", "undersold"],["undershoot", "undershot", "undershot"],["underspend", "underspent", "underspent"],["understand", "understood", "understood"],["undertake", "undertook", "undertaken"],["underthrust", "underthrust", "underthrust"],["underwrite", "underwrote", "underwritten"],["undo", "undid", "undone"],["undraw", "undrew", "undrawn"],["unfreeze", "unfroze", "unfrozen"],["unhang", "unhung", "unhung"],["unhide", "unhid", "unhidden"],["unhold", "unheld", "unheld"],["unknit", "unknitted / unknit", "unknitted / unknit"],["unlade", "unladed", "unladen / unladed"],["unlay", "unlaid", "unlaid"],["unlead REGULAR", "unleaded", "unleaded"],["unlearn", "unlearned / unlearnt", "unlearned / unlearnt"],["unmake", "unmade", "unmade"],["unreeve", "unreeved / unrove", "unreeved / unrove"],["unsay", "unsaid", "unsaid"],["unsew", "unsewed", "unsewn / unsewed"],["unsling", "unslung", "unslung"],["unspin", "unspun", "unspun"],["unstick", "unstuck", "unstuck"],["unstring", "unstrung", "unstrung"],["unswear", "unswore", "unsworn"],["unteach", "untaught", "untaught"],["unthink", "unthought", "unthought"],["unweave", "unwove / unweaved", "unwoven / unweaved"],["unwind", "unwound", "unwound"],["unwrite", "unwrote", "unwritten"],["uphold", "upheld", "upheld"],["upset", "upset", "upset"],["vex", "vexed / vext", "vexed / vext"],["wake", "woke / waked", "woken / waked"],["waylay", "waylaid", "waylaid"],["wear", "wore", "worn"],["weave", "wove / weaved", "woven / weaved"],["wed", "wed / wedded", "wed / wedded"],["weep", "wept", "wept"],["wet", "wet / wetted", "wet / wetted"],["whet REGULAR", "whetted", "whetted"],["win", "won", "won"],["wind", "wound", "wound"],["withdraw", "withdrew", "withdrawn"],["withhold", "withheld", "withheld"],["withstand", "withstood", "withstood"],["wring", "wrung", "wrung"],["write", "wrote", "written"]]
+items = []
+
+def wordSetForWord(searchWord, exactMatch)
+ setOfFords = []
+
+ for words in $allWords
+ for word in words
+ if(exactMatch)
+ if (word == searchWord)
+ setOfFords += [words]
+ end
+ else
+ if (word[searchWord])
+ setOfFords += [words]
+ break
+ end
+ end
+ end
+ end
+
+ return setOfFords
+end
+
+ARGV.each do | argument |
+
+ needExcactMatch = false
+
+ if (argument[-1] == '-')
+ needExcactMatch = true
+ argument = argument[0..-2]
+ end
+
+ wordsSet = wordSetForWord(argument, needExcactMatch)
+
+ for words in wordsSet
+ i = 0
+ for word in words
+ item = {}
+ item['title'] = word
+ item['action'] = 'pick.rb'
+ item['actionArgument'] = (words + [i]).join("||")
+ items.push(item)
+
+ i += 1
+ end
+ end
+end
+
+if (items.count == 0)
+ item = {}
+ item['title'] = "Hmm, it doesn't look like an irregular verb"
+ items.push(item)
+end
+
+puts items.to_json
diff --git a/IrregularVerbs.lbaction/Contents/Scripts/pick.rb b/IrregularVerbs.lbaction/Contents/Scripts/pick.rb
new file mode 100644
index 0000000..822343c
--- /dev/null
+++ b/IrregularVerbs.lbaction/Contents/Scripts/pick.rb
@@ -0,0 +1,18 @@
+#!/usr/bin/env ruby
+
+require 'io/console'
+require 'CGI'
+
+str = ARGV[0]
+args = str.split("||")
+
+wordsString = args[0] + ", " + args[1] + ", " + args[2]
+selectedIndex = args[3]
+selectedWord = args[selectedIndex.to_i]
+
+#copy selected word
+IO.popen('pbcopy', 'w') { |f| f << selectedWord }
+
+#show all words
+wordsString = CGI::escape(wordsString)
+value = `open \"x-launchbar:large-type?string=#{wordsString}\"`