import mdlog log = mdlog.getLogger(__name__) from wordUtils import buildSelectMapping, extractWords from EventLoop import getLoop from Window import getFocusedWindow import re def defaultExtract(w): return extractWords(w, translate={}) # def updateListGrammar(lst, leadingTerm, action, clsname, filterFunction, # extractFunction=defaultExtract, register=True, dolog=False): # bufs = lst # spokenForms = {} # for b in bufs: # spokenForms[b] = [extractFunction(b)] # omapping = buildSelectMapping(leadingTerm, spokenForms, action) # if omapping is None: # # TODO: make exception # return # class LocalMapping(MappingRule): # mapping = omapping # @classmethod # def activeForWindow(cls, window): # return filterFunction(window) # LocalMapping.__name__ = clsname # if register:
import mdlog log = mdlog.getLogger(__name__) from listHelpers import splitFlatten, deCamelize import re, string from Actions import Noop from util import deepEmpty punc2Words = { "*" : ["star", "asterisk"], "#" : ["sharp"], } englishWords = set() with open("/usr/share/dict/american-english") as f: #with open("/home/jgarvin/mandimus/american-english") as f: for w in f.readlines(): # strip punctuation because there's a bunch of weird # apostrophes and other things. word = "".join(c for c in w if c not in string.punctuation) word = word.lower() englishWords.update(set(re.findall("[a-z]+", word))) normalConsonantBlends = { "bl", "br", "pr", "dr", "fl", "cl",