From a61051e589997ffb5b3e2f36c13e2cf2cafbe79e Mon Sep 17 00:00:00 2001 From: Lazo Date: Fri, 30 Mar 2018 08:43:21 -0400 Subject: [PATCH 01/84] Reference the correct version of python If the user has multiple versions of python installed, this will make sure that the correct one is referenced. --- caster/asynch/hmc/h_launch.py | 4 ++-- caster/lib/navigation.py | 6 +++--- caster/lib/settings.py | 1 + 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/caster/asynch/hmc/h_launch.py b/caster/asynch/hmc/h_launch.py index 56e71de45..3bfa6a8ff 100644 --- a/caster/asynch/hmc/h_launch.py +++ b/caster/asynch/hmc/h_launch.py @@ -35,9 +35,9 @@ def launch(hmc_type, data=None): def _get_instructions(hmc_type): if hmc_type==settings.WXTYPE_SETTINGS: - return ["pythonw", settings.SETTINGS["paths"]["SETTINGS_WINDOW_PATH"]] + return [settings.SETTINGS["paths"]["PYTHONW"], settings.SETTINGS["paths"]["SETTINGS_WINDOW_PATH"]] else: - return ["pythonw", settings.SETTINGS["paths"]["HOMUNCULUS_PATH"], hmc_type] + return [settings.SETTINGS["paths"]["PYTHONW"], settings.SETTINGS["paths"]["HOMUNCULUS_PATH"], hmc_type] def _get_title(hmc_type): default=settings.HOMUNCULUS_VERSION diff --git a/caster/lib/navigation.py b/caster/lib/navigation.py index f88bd227b..16cb805d2 100644 --- a/caster/lib/navigation.py +++ b/caster/lib/navigation.py @@ -65,18 +65,18 @@ def mouse_alternates(mode, nexus, monitor=1): ls.scan(bbox) tscan = ls.get_update() Popen([ - "pythonw", settings.SETTINGS["paths"]["LEGION_PATH"], "-t", tscan[0], + settings.SETTINGS["paths"]["PYTHONW"], settings.SETTINGS["paths"]["LEGION_PATH"], "-t", tscan[0], "-m", str(monitor) ]) # , "-d", "500_500_500_500" elif mode == "rainbow" and not utilities.window_exists(None, "rainbowgrid"): Popen([ - "pythonw", settings.SETTINGS["paths"]["RAINBOW_PATH"], "-g", "r", "-m", + settings.SETTINGS["paths"]["PYTHONW"], settings.SETTINGS["paths"]["RAINBOW_PATH"], "-g", "r", "-m", str(monitor) ]) elif mode == "douglas" and not utilities.window_exists(None, "douglasgrid"): Popen([ - "pythonw", settings.SETTINGS["paths"]["DOUGLAS_PATH"], "-g", "d", "-m", + settings.SETTINGS["paths"]["PYTHONW"], settings.SETTINGS["paths"]["DOUGLAS_PATH"], "-g", "d", "-m", str(monitor) ]) else: diff --git a/caster/lib/settings.py b/caster/lib/settings.py index e2dae2f69..ef907013c 100644 --- a/caster/lib/settings.py +++ b/caster/lib/settings.py @@ -89,6 +89,7 @@ def _find_natspeak(): "CONFIGDEBUGTXT_PATH": BASE_PATH + "/bin/data/configdebug.txt", # PYTHON + "PYTHONW": "C:/Python27/pythonw", "WXPYTHON_PATH": "C:/Python27/Lib/site-packages/wx-3.0-msw" }, From b0356009fd701f49529f29b6ac7756701730d404 Mon Sep 17 00:00:00 2001 From: Lazo Date: Fri, 30 Mar 2018 08:51:08 -0400 Subject: [PATCH 02/84] Enhanced legion The pror legion implementation sometimes failed to find words that had lighter font coloring. --- caster/asynch/mouse/legion.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/caster/asynch/mouse/legion.py b/caster/asynch/mouse/legion.py index 2eb9e464f..6ceeb0d87 100644 --- a/caster/asynch/mouse/legion.py +++ b/caster/asynch/mouse/legion.py @@ -1,4 +1,3 @@ -from SimpleXMLRPCServer import SimpleXMLRPCServer from ctypes import * import getopt import re @@ -17,7 +16,7 @@ from caster.lib import gdi, settings, utilities try: - from PIL import ImageGrab + from PIL import ImageGrab, ImageFilter except ImportError: utilities.availability_message("Legion", "PIL") @@ -147,6 +146,7 @@ def scan(self, bbox=None): # ImageGrab.grab currently doesn't support multiple monitors. # If PIL gets updated with multimon support, this can be switched back. img = gdi.grab_screen(bbox) # ImageGrab.grab(bbox) + img = img.filter(ImageFilter.FIND_EDGES) result = self.tirg_scan(img) if result != self.last_signature: with self.lock: From 46f59143acb1f85c7de4a915d9fcb7aeadbe88dd Mon Sep 17 00:00:00 2001 From: Lazo Date: Fri, 30 Mar 2018 09:13:30 -0400 Subject: [PATCH 03/84] Bench & Squat (Left down & Left up) This is for people who use equipment like SmartNav and would like to be able to drag things. --- caster/lib/ccr/core/nav.py | 13 ++++++++----- caster/lib/navigation.py | 20 +++++++++++++++----- 2 files changed, 23 insertions(+), 10 deletions(-) diff --git a/caster/lib/ccr/core/nav.py b/caster/lib/ccr/core/nav.py index 86b270937..1641b9304 100644 --- a/caster/lib/ccr/core/nav.py +++ b/caster/lib/ccr/core/nav.py @@ -34,12 +34,15 @@ class NavigationNon(MappingRule): "(F nine | F9)": R(Key("f9"), rdescript="Key: F9"), "[show] context menu": R(Key("s-f10"), rdescript="Context Menu"), - - 'kick': R(Function(navigation.kick, nexus=_NEXUS), rdescript="Mouse: Left Click"), - 'kick mid': R(Function(navigation.kick_middle, nexus=_NEXUS), rdescript="Mouse: Middle Click"), - 'psychic': R(Function(navigation.kick_right, nexus=_NEXUS), rdescript="Mouse: Right Click"), - '(kick double|double kick)': R(Function(navigation.kick, nexus=_NEXUS) * Repeat(2), rdescript="Mouse: Double Click"), + + "bench": R(Function(navigation.left_down, nexus=_NEXUS), rdescript="Mouse: Left Down"), + "squat": R(Function(navigation.left_up, nexus=_NEXUS), rdescript="Mouse: Left Up"), + "kick": R(Function(navigation.left_click, nexus=_NEXUS), rdescript="Mouse: Left Click"), + "kick mid": R(Function(navigation.middle_click, nexus=_NEXUS), rdescript="Mouse: Middle Click"), + "psychic": R(Function(navigation.right_click, nexus=_NEXUS), rdescript="Mouse: Right Click"), + "(kick double|double kick)": R(Function(navigation.left_click, nexus=_NEXUS) * Repeat(2), rdescript="Mouse: Double Click"), "shift right click": R(Key("shift:down") + Mouse("right") + Key("shift:up"), rdescript="Mouse: Shift + Right Click"), + "curse [] [] []": R(Function(navigation.curse), rdescript="Curse"), "scree []": R(Function(navigation.wheel_scroll), rdescript="Wheel Scroll"), diff --git a/caster/lib/navigation.py b/caster/lib/navigation.py index 16cb805d2..feea50855 100644 --- a/caster/lib/navigation.py +++ b/caster/lib/navigation.py @@ -141,24 +141,34 @@ def kill_grids_and_wait(nexus): time.sleep(0.1) -def kick(nexus): +def left_click(nexus): kill_grids_and_wait(nexus) windll.user32.mouse_event(0x00000002, 0, 0, 0, 0) windll.user32.mouse_event(0x00000004, 0, 0, 0, 0) -def kick_right(nexus): +def right_click(nexus): kill_grids_and_wait(nexus) windll.user32.mouse_event(0x00000008, 0, 0, 0, 0) windll.user32.mouse_event(0x00000010, 0, 0, 0, 0) -def kick_middle(nexus): +def middle_click(nexus): kill_grids_and_wait(nexus) windll.user32.mouse_event(0x00000020, 0, 0, 0, 0) windll.user32.mouse_event(0x00000040, 0, 0, 0, 0) +def left_down(nexus): + kill_grids_and_wait(nexus) + windll.user32.mouse_event(0x00000002, 0, 0, 0, 0) + + +def left_up(nexus): + kill_grids_and_wait(nexus) + windll.user32.mouse_event(0x00000004, 0, 0, 0, 0) + + def wheel_scroll(direction, nnavi500): amount = 120 if direction != "up": @@ -184,9 +194,9 @@ def curse(direction, direction2, nnavi500, dokick): Mouse("<" + str(x) + ", " + str(y) + ">").execute() if int(dokick) != 0: if int(dokick) == 1: - kick() + left_click() elif int(dokick) == 2: - kick_right() + right_click() def next_line(semi): From b92db41b25955cf18cba20c97c37956a211f804d Mon Sep 17 00:00:00 2001 From: Lazo Date: Fri, 30 Mar 2018 10:18:26 -0400 Subject: [PATCH 04/84] Doc updates MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit (3) correct “at sign” to “atty” (4) wally, (7) bench, squat (9) snapping --- CasterQuickReference0.5.3.pdf | Bin 201249 -> 0 bytes CasterQuickReference0.5.4.pdf | Bin 0 -> 289714 bytes caster/doc/caster_quick_reference.docx | Bin 20699 -> 21881 bytes 3 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 CasterQuickReference0.5.3.pdf create mode 100644 CasterQuickReference0.5.4.pdf diff --git a/CasterQuickReference0.5.3.pdf b/CasterQuickReference0.5.3.pdf deleted file mode 100644 index e4d1802b83b0047fe1abc9c58346e4afd58c129f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 201249 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
koc@Q^Mk`7v?K9# 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

$+m6tg%P(g~<}%zwLa@ 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 diff --git a/CasterQuickReference0.5.4.pdf b/CasterQuickReference0.5.4.pdf new file mode 100644 index 0000000000000000000000000000000000000000..87ffbe11cbf6b611d08c15a73dffede91c33e39a GIT binary patch literal 289714 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 B^7#x9SrpA=UEyE8yg#mJZ|a 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%0AC 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%0Ao3<90J=OK&c3wOomuF_#)Rn71 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 Gf&Uk1d8q0D literal 0 HcmV?d00001 diff --git a/caster/doc/caster_quick_reference.docx b/caster/doc/caster_quick_reference.docx index 335c8456e34eb4a5410b23e9a35d1c6584bee174..38666ba56ede8b681e1f1e3c89c8bc577ecacd69 100644 GIT binary patch literal 21881 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 literal 20699 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 V-mJjn#lXM=gp9xxdc+sR0{}MS9FG71 From 4bf195db742061c74b6347e9fd789291808821b8 Mon Sep 17 00:00:00 2001 From: Lazo Date: Fri, 30 Mar 2018 15:34:57 -0400 Subject: [PATCH 05/84] Switched functionality between bench and squat It is more intuitive this way since pressing down and squatting are both downwards motions. --- CasterQuickReference0.5.4.pdf | Bin 289714 -> 289790 bytes caster/doc/caster_quick_reference.docx | Bin 21881 -> 21974 bytes caster/lib/ccr/core/nav.py | 4 ++-- 3 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CasterQuickReference0.5.4.pdf b/CasterQuickReference0.5.4.pdf index 87ffbe11cbf6b611d08c15a73dffede91c33e39a..53c794b74967b1d9e2fc11598b912aebe9ae28a5 100644 GIT binary patch delta 22877 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 MFf$4Xsa#k6AN_YrPXGV_ delta 22851 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 diff --git a/caster/doc/caster_quick_reference.docx b/caster/doc/caster_quick_reference.docx index 38666ba56ede8b681e1f1e3c89c8bc577ecacd69..27dda7e781773cc5d32e7626c2931dc931d9016e 100644 GIT binary patch delta 10636 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 F{{b{Sg%bb( delta 10493 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 Ul>asW#6786jSMPI=|ABA1Ao*oDgXcg diff --git a/caster/lib/ccr/core/nav.py b/caster/lib/ccr/core/nav.py index 1641b9304..97cdcf384 100644 --- a/caster/lib/ccr/core/nav.py +++ b/caster/lib/ccr/core/nav.py @@ -35,8 +35,8 @@ class NavigationNon(MappingRule): "[show] context menu": R(Key("s-f10"), rdescript="Context Menu"), - "bench": R(Function(navigation.left_down, nexus=_NEXUS), rdescript="Mouse: Left Down"), - "squat": R(Function(navigation.left_up, nexus=_NEXUS), rdescript="Mouse: Left Up"), + "squat": R(Function(navigation.left_down, nexus=_NEXUS), rdescript="Mouse: Left Down"), + "bench": R(Function(navigation.left_up, nexus=_NEXUS), rdescript="Mouse: Left Up"), "kick": R(Function(navigation.left_click, nexus=_NEXUS), rdescript="Mouse: Left Click"), "kick mid": R(Function(navigation.middle_click, nexus=_NEXUS), rdescript="Mouse: Middle Click"), "psychic": R(Function(navigation.right_click, nexus=_NEXUS), rdescript="Mouse: Right Click"), From adc1114e74b5496ff713ff740c9ef5bf8afd5b51 Mon Sep 17 00:00:00 2001 From: Lazo Date: Fri, 30 Mar 2018 18:13:53 -0400 Subject: [PATCH 06/84] Added rectangle division & removed print during "again x times" function Every time I say "again x times" a pop up window would come up and prevent me from performing the given action. This is fixed. --- caster/asynch/mouse/legion.py | 65 ++++++++++++++++++++++--------- caster/lib/ccr/recording/again.py | 7 ---- 2 files changed, 47 insertions(+), 25 deletions(-) diff --git a/caster/asynch/mouse/legion.py b/caster/asynch/mouse/legion.py index 6ceeb0d87..e66c09ae3 100644 --- a/caster/asynch/mouse/legion.py +++ b/caster/asynch/mouse/legion.py @@ -20,11 +20,17 @@ except ImportError: utilities.availability_message("Legion", "PIL") +''' +Roughly determines the size of each rectangle (give or take a few pixels). +Anything less than 60 starts to feel cluttered. 30 is the bare minimum before three digit numbers no longer fit. +''' +MAX_WIDTH = 60 + class Rectangle: - top = None - bottom = None - left = None - right = None + y1 = None + y2 = None + x1 = None + x2 = None class LegionGrid(TkTransparent): def __init__(self, grid_size=None, tirg=None, auto_quit=False): @@ -67,15 +73,38 @@ def process_rectangles(self, tirg_string): ii = i % 4 if ii == 0: curr_rect = Rectangle() - curr_rect.left = int(tirg_list[i])#-self.dimensions.x + curr_rect.x1 = int(tirg_list[i]) elif ii == 1: - curr_rect.top = int(tirg_list[i])#-self.dimensions.y + curr_rect.y1 = int(tirg_list[i]) elif ii == 2: - curr_rect.right = int(tirg_list[i])#-self.dimensions.x + curr_rect.x2 = int(tirg_list[i]) elif ii == 3: - curr_rect.bottom = int(tirg_list[i])#-self.dimensions.y - self.tirg_rectangles.append(curr_rect) - + curr_rect.y2 = int(tirg_list[i]) + self.tirg_rectangles.append(curr_rect) + self.split_rectangles() + + def split_rectangles(self): + # Split larger rectangles into smaller ones to allow greater precision. + rectangles_to_split = [] + for rect in self.tirg_rectangles: # Collect all the rectangles that are too large. + if rect.x2 - rect.x1 >= MAX_WIDTH: + rectangles_to_split.append(rect) + self.tirg_rectangles = [x for x in self.tirg_rectangles if x not in rectangles_to_split] # Remove large rectangles. + self.perform_split(rectangles_to_split) + + def perform_split(self, rectangles_to_split): + # Helper class for splitting larger rectangles to smaller ones. + for rect in rectangles_to_split: + width = rect.x2 - rect.x1 + pieces = width / MAX_WIDTH + new_width = width / pieces + for i in range(0, pieces): + r = Rectangle() + r.x1 = rect.x1 + new_width * i + r.y1 = rect.y1 + r.x2 = r.x1 + new_width + r.y2 = rect.y2 + self.tirg_rectangles.append(r) def draw(self): ''' or self.server.has_rect_update''' @@ -90,14 +119,14 @@ def draw_tirg_squares(self): fill_outer = "Black" rect_num = 0 for rect in self.tirg_rectangles: - center_x = int((rect.left + rect.right) / 2) - center_y = int((rect.top + rect.bottom) / 2) + center_x = int((rect.x1 + rect.x2) / 2) + center_y = int((rect.y1 + rect.y2) / 2) label = str(rect_num) # lines - self._canvas.create_line(rect.left, rect.top, rect.right, rect.top, fill=fill_inner) - self._canvas.create_line(rect.left, rect.bottom, rect.right, rect.bottom, fill=fill_inner) - self._canvas.create_line(rect.left, rect.top, rect.left, rect.bottom, fill=fill_inner) - self._canvas.create_line(rect.right, rect.top, rect.right, rect.bottom, fill=fill_inner) + self._canvas.create_line(rect.x1, rect.y1, rect.x2, rect.y1, fill=fill_inner) + self._canvas.create_line(rect.x1, rect.y2, rect.x2, rect.y2, fill=fill_inner) + self._canvas.create_line(rect.x1, rect.y1, rect.x1, rect.y2, fill=fill_inner) + self._canvas.create_line(rect.x2, rect.y1, rect.x2, rect.y2, fill=fill_inner) # text self._canvas.create_text(center_x + 1, center_y + 1, text=label, font=font, fill=fill_outer) @@ -106,8 +135,8 @@ def draw_tirg_squares(self): self._canvas.create_text(center_x - 1, center_y - 1, text=label, font=font, fill=fill_outer) self._canvas.create_text(center_x, center_y, text=label, font=font, fill=fill_inner) - '''rect.left, rect.right are now being saved below for the highlight function''' - self.tirg_positions[label] = (center_x, center_y, rect.left, rect.right) + '''rect.x1, rect.x2 are now being saved below for the highlight function''' + self.tirg_positions[label] = (center_x, center_y, rect.x1, rect.x2) rect_num += 1 diff --git a/caster/lib/ccr/recording/again.py b/caster/lib/ccr/recording/again.py index dee71704d..00a9406bd 100644 --- a/caster/lib/ccr/recording/again.py +++ b/caster/lib/ccr/recording/again.py @@ -20,7 +20,6 @@ def __init__(self, nexus): mapping = { "again ( [(times|time)] | do)": R(Function(lambda n: self._create_asynchronous(n)), show=False) } ) def _repeat(self, utterance): - print("utterance: ", utterance) Playback([(utterance, 0.0)]).execute() return False def _create_asynchronous(self, n): @@ -33,14 +32,8 @@ def _create_asynchronous(self, n): last_utterance_index = 2 utterance = [str(x) for x in " ".join(self.nexus.history[len(self.nexus.history) - last_utterance_index]).split()] - print(utterance, int(n)) if utterance[0] == "again": return forward = [L(S(["cancel"], lambda: self._repeat(utterance)))] AsynchronousAction(forward, rdescript="Repeat Last Action", time_in_seconds=0.2, repetitions=int(n), blocking=False).execute() -# - - - - From 84aa0852db509cba8a7a5f78ece2fb43e4622388 Mon Sep 17 00:00:00 2001 From: Lazo Date: Fri, 30 Mar 2018 19:41:00 -0400 Subject: [PATCH 07/84] Converted everything to yapf --- _caster.py | 118 ++- caster/apps/__init__.py | 4 +- caster/apps/atom.py | 62 +- caster/apps/chrome.py | 18 +- caster/apps/cmd.py | 28 +- caster/apps/dragon.py | 67 +- caster/apps/eclipse.py | 151 +-- caster/apps/emacs.py | 120 ++- caster/apps/explorer.py | 29 +- caster/apps/firefox.py | 57 +- caster/apps/flashdevelop.py | 111 ++- caster/apps/foxitreader.py | 24 +- caster/apps/gitbash.py | 161 ++-- caster/apps/griddouglas.py | 34 +- caster/apps/gridlegion.py | 54 +- caster/apps/gridrainbow.py | 57 +- caster/apps/jetbrains.py | 80 +- caster/apps/kdiff3.py | 18 +- caster/apps/msvc.py | 81 +- caster/apps/notepadplusplus.py | 32 +- caster/apps/sqldeveloper.py | 21 +- caster/apps/ssms.py | 69 +- caster/apps/sublime.py | 55 +- caster/apps/visualstudio.py | 130 ++- caster/apps/vscode.py | 152 +-- caster/apps/winword.py | 19 +- caster/apps/wsr.py | 10 +- caster/asynch/__init__.py | 8 +- caster/asynch/_hmc.py | 111 ++- caster/asynch/hmc/h_launch.py | 64 +- caster/asynch/hmc/hmc_ask_directory.py | 21 +- caster/asynch/hmc/hmc_confirm.py | 20 +- caster/asynch/hmc/hmc_recording.py | 71 +- caster/asynch/hmc/homunculus.py | 52 +- caster/asynch/mouse/grids.py | 271 +++--- caster/asynch/mouse/legion.py | 114 +-- caster/asynch/settingswindow.py | 82 +- .../sikuli/scripts/example.sikuli/example.py | 1 + .../xmlrpc_server.sikuli/xmlrpc_server.py | 21 +- caster/asynch/sikuli/sikuli.py | 53 +- caster/lib/alphanumeric.py | 153 +-- caster/lib/ccr/bash/bash.py | 108 ++- caster/lib/ccr/core/alphabet.py | 21 +- caster/lib/ccr/core/nav.py | 299 +++--- caster/lib/ccr/core/numbers.py | 18 +- caster/lib/ccr/core/punctuation.py | 116 ++- caster/lib/ccr/cpp/cpp.py | 166 ++-- caster/lib/ccr/csharp/csharp.py | 167 ++-- caster/lib/ccr/haxe/haxe.py | 163 ++-- caster/lib/ccr/html/html.py | 428 ++++++--- caster/lib/ccr/java/java.py | 210 ++-- caster/lib/ccr/javascript/javascript.py | 162 ++-- caster/lib/ccr/prolog/prolog.py | 42 +- caster/lib/ccr/python/python.py | 161 ++-- caster/lib/ccr/recording/again.py | 37 +- caster/lib/ccr/recording/alias.py | 69 +- caster/lib/ccr/recording/history.py | 67 +- caster/lib/ccr/rust/rust.py | 209 ++-- caster/lib/ccr/sql/sql.py | 112 ++- caster/lib/ccr/standard.py | 26 +- caster/lib/ccr/vhdl/vhdl.py | 257 ++--- caster/lib/ccr/vhdl/vhdl_strings.py | 2 +- caster/lib/context.py | 42 +- caster/lib/control.py | 2 +- caster/lib/ctrl/dependencies.py | 20 +- caster/lib/ctrl/nexus.py | 19 +- caster/lib/ctrl/wsrdf.py | 14 +- caster/lib/dev/dev.py | 248 +++-- caster/lib/dev/devgen.py | 20 +- caster/lib/dfplus/additions.py | 30 +- caster/lib/dfplus/communication.py | 12 +- caster/lib/dfplus/hint/hintnode.py | 75 +- caster/lib/dfplus/hint/nodes/css.py | 909 +++++++++--------- caster/lib/dfplus/merge/ccrmerger.py | 190 ++-- caster/lib/dfplus/merge/filter.py | 12 +- caster/lib/dfplus/merge/mergepair.py | 6 +- caster/lib/dfplus/merge/mergerule.py | 96 +- caster/lib/dfplus/merge/selfmodrule.py | 46 +- caster/lib/dfplus/state/actions.py | 62 +- caster/lib/dfplus/state/actions2.py | 112 ++- caster/lib/dfplus/state/contextoptions.py | 24 +- caster/lib/dfplus/state/short.py | 3 +- caster/lib/dfplus/state/stack.py | 51 +- caster/lib/dfplus/state/stackitems.py | 94 +- caster/lib/gdi.py | 28 +- caster/lib/navigation.py | 16 +- caster/lib/tests/complexity.py | 215 +++-- caster/lib/tests/testrunner.py | 19 +- caster/lib/tests/testutils.py | 13 +- caster/lib/tests/unit/filter.py | 45 +- caster/lib/tests/unit/merger.py | 38 +- caster/lib/tests/unit/mergerule.py | 4 +- caster/lib/tests/unit/nexus.py | 3 +- caster/lib/tests/unit/node.py | 83 +- caster/lib/tests/unit/stack.py | 289 +++--- caster/lib/tests/unit/state.py | 30 +- caster/lib/textformat.py | 42 +- caster/user/__init__.py | 2 +- caster/user/filters/__init__.py | 4 +- caster/user/filters/examples/modkeysup.py | 8 +- caster/user/filters/examples/scen4.py | 26 +- caster/user/rules/__init__.py | 4 +- sample.py | 112 ++- 103 files changed, 5095 insertions(+), 3617 deletions(-) diff --git a/_caster.py b/_caster.py index 84c9b8e81..ef40648fc 100644 --- a/_caster.py +++ b/_caster.py @@ -11,22 +11,25 @@ from dragonfly import (Key, Function, Grammar, Playback, Dictation, Choice, Pause) from caster.lib.ccr.standard import SymbolSpecs + def _wait_for_wsr_activation(): count = 1 while True: - try: + try: from caster.apps import firefox break - except: - print("(%d) Attempting to load Caster -- WSR not loaded and listening yet..." % count) + except: + print("(%d) Attempting to load Caster -- WSR not loaded and listening yet..." + % count) count += 1 time.sleep(1) + _NEXUS = None -from caster.lib import settings# requires nothing +from caster.lib import settings # requires nothing settings.WSR = __name__ == "__main__" -from caster.lib import utilities# requires settings +from caster.lib import utilities # requires settings if settings.WSR: _wait_for_wsr_activation() SymbolSpecs.set_cancel_word("escape") @@ -54,7 +57,6 @@ def _wait_for_wsr_activation(): from caster import user from caster.lib.dfplus.merge.mergerule import MergeRule from caster.lib.dfplus.merge import gfilter - def change_monitor(): @@ -63,66 +65,81 @@ def change_monitor(): else: print("This command requires SikuliX to be enabled in the settings file") + class MainRule(MergeRule): - @staticmethod def generate_ccr_choices(nexus): choices = {} for ccr_choice in nexus.merger.global_rule_names(): choices[ccr_choice] = ccr_choice return Choice("name", choices) + @staticmethod def generate_sm_ccr_choices(nexus): choices = {} for ccr_choice in nexus.merger.selfmod_rule_names(): choices[ccr_choice] = ccr_choice return Choice("name2", choices) - + mapping = { - # Dragon NaturallySpeaking commands moved to dragon.py - - # hardware management - "volume []": R(Function(navigation.volume_control, extra={'n', 'volume_mode'}), rdescript="Volume Control"), - "change monitor": R(Key("w-p") + Pause("100") + Function(change_monitor), rdescript="Change Monitor"), - - # window management - 'minimize': Playback([(["minimize", "window"], 0.0)]), - 'maximize': Playback([(["maximize", "window"], 0.0)]), - "remax": R(Key("a-space/10,r/10,a-space/10,x"), rdescript="Force Maximize"), - - # passwords - - - # mouse alternatives - "legion []": R(Function(navigation.mouse_alternates, mode="legion", nexus=_NEXUS), rdescript="Activate Legion"), - "rainbow []": R(Function(navigation.mouse_alternates, mode="rainbow", nexus=_NEXUS), rdescript="Activate Rainbow Grid"), - "douglas []": R(Function(navigation.mouse_alternates, mode="douglas", nexus=_NEXUS), rdescript="Activate Douglas Grid"), - - # ccr de/activation - " ": R(Function(_NEXUS.merger.global_rule_changer(), save=True), rdescript="Toggle CCR Module"), - " ": R(Function(_NEXUS.merger.selfmod_rule_changer(), save=True), rdescript="Toggle sm-CCR Module"), - - + # Dragon NaturallySpeaking commands moved to dragon.py + + # hardware management + "volume []": + R(Function(navigation.volume_control, extra={'n', 'volume_mode'}), + rdescript="Volume Control"), + "change monitor": + R(Key("w-p") + Pause("100") + Function(change_monitor), + rdescript="Change Monitor"), + + # window management + 'minimize': + Playback([(["minimize", "window"], 0.0)]), + 'maximize': + Playback([(["maximize", "window"], 0.0)]), + "remax": + R(Key("a-space/10,r/10,a-space/10,x"), rdescript="Force Maximize"), + + # passwords + + # mouse alternatives + "legion []": + R(Function(navigation.mouse_alternates, mode="legion", nexus=_NEXUS), + rdescript="Activate Legion"), + "rainbow []": + R(Function(navigation.mouse_alternates, mode="rainbow", nexus=_NEXUS), + rdescript="Activate Rainbow Grid"), + "douglas []": + R(Function(navigation.mouse_alternates, mode="douglas", nexus=_NEXUS), + rdescript="Activate Douglas Grid"), + + # ccr de/activation + " ": + R(Function(_NEXUS.merger.global_rule_changer(), save=True), + rdescript="Toggle CCR Module"), + " ": + R(Function(_NEXUS.merger.selfmod_rule_changer(), save=True), + rdescript="Toggle sm-CCR Module"), } extras = [ - IntegerRefST("n", 1, 50), - Dictation("text"), - Dictation("text2"), - Dictation("text3"), - Choice("enable", - {"enable": True, "disable": False - }), - Choice("volume_mode", - {"mute": "mute", "up":"up", "down":"down" - }), - generate_ccr_choices.__func__(_NEXUS), - generate_sm_ccr_choices.__func__(_NEXUS), - IntegerRefST("monitor", 1, 10) - ] - defaults = {"n": 1, "nnv": 1, - "text": "", "volume_mode": "setsysvolume", - "enable":-1 - } + IntegerRefST("n", 1, 50), + Dictation("text"), + Dictation("text2"), + Dictation("text3"), + Choice("enable", { + "enable": True, + "disable": False + }), + Choice("volume_mode", { + "mute": "mute", + "up": "up", + "down": "down" + }), + generate_ccr_choices.__func__(_NEXUS), + generate_sm_ccr_choices.__func__(_NEXUS), + IntegerRefST("monitor", 1, 10) + ] + defaults = {"n": 1, "nnv": 1, "text": "", "volume_mode": "setsysvolume", "enable": -1} grammar = Grammar('general') @@ -147,7 +164,6 @@ def generate_sm_ccr_choices(nexus): print("*- Starting " + settings.SOFTWARE_NAME + " -*") - if settings.WSR: import pythoncom print("Windows Speech Recognition is garbage; it is " \ diff --git a/caster/apps/__init__.py b/caster/apps/__init__.py index 7b013eb8a..042fa6869 100644 --- a/caster/apps/__init__.py +++ b/caster/apps/__init__.py @@ -1,5 +1,5 @@ import glob import inspect import os -modules = glob.glob(os.path.dirname(__file__)+"/*.py" ) -__all__ = [ os.path.basename(f)[:-3] for f in modules if not f.endswith('__init__.py')] \ No newline at end of file +modules = glob.glob(os.path.dirname(__file__) + "/*.py") +__all__ = [os.path.basename(f)[:-3] for f in modules if not f.endswith('__init__.py')] diff --git a/caster/apps/atom.py b/caster/apps/atom.py index c2bfdc955..44b558740 100644 --- a/caster/apps/atom.py +++ b/caster/apps/atom.py @@ -3,8 +3,8 @@ Command-module for Atom Official Site "https://atom.io/" """ -from dragonfly import (AppContext, Dictation, Grammar, IntegerRef, Key, - MappingRule, Pause, Repeat, Text) +from dragonfly import (AppContext, Dictation, Grammar, IntegerRef, Key, MappingRule, + Pause, Repeat, Text) from dragonfly.actions.action_mimic import Mimic from caster.lib import control, settings @@ -36,18 +36,18 @@ class AtomRule(MergeRule): #Basic Cursor Navigation "up []": - R(Key("up"), rdescript="Atom: Move Cursor Up #") * Repeat(extra="n"), + R(Key("up"), rdescript="Atom: Move Cursor Up #")*Repeat(extra="n"), "down []": - R(Key("down"), rdescript="Atom: Move Cursor Down #") * Repeat(extra="n"), + R(Key("down"), rdescript="Atom: Move Cursor Down #")*Repeat(extra="n"), "right []": - R(Key("right"), rdescript="Atom: Move Cursor Right #") * Repeat(extra="n"), + R(Key("right"), rdescript="Atom: Move Cursor Right #")*Repeat(extra="n"), "left []": - R(Key("left"), rdescript="Atom: Move Cursor Left #") * Repeat(extra="n"), + R(Key("left"), rdescript="Atom: Move Cursor Left #")*Repeat(extra="n"), #Basic White Text Manipulation "tab|indent []": - R(Key("tab"), rdescript="Atom: Press Tab Key #") * Repeat(extra="n"), + R(Key("tab"), rdescript="Atom: Press Tab Key #")*Repeat(extra="n"), "space []": - R(Key("space"), rdescript="Atom: Press Tab Key #") * Repeat(extra="n"), + R(Key("space"), rdescript="Atom: Press Tab Key #")*Repeat(extra="n"), # Menu UI------------------------------------------------------------------------------------------- #File Menu "[open] new window": @@ -92,7 +92,7 @@ class AtomRule(MergeRule): "copy ": R(Key("c-insert"), rdescript="Atom: Copy"), "paste []": - R(Key("s-insert"), rdescript="Atom: Paste") * Repeat(extra="n"), + R(Key("s-insert"), rdescript="Atom: Paste")*Repeat(extra="n"), "copy path": R(Key("cs-c"), rdescript="Atom: Copy Path"), "select all": @@ -115,15 +115,15 @@ class AtomRule(MergeRule): "auto indent windows": R(palettized("Window Auto Indent"), rdescript="Atom: Auto Indent"), "[move] line up []": - R(Key("c-up"), rdescript="Atom: Move Line Up #") * Repeat(extra="n"), + R(Key("c-up"), rdescript="Atom: Move Line Up #")*Repeat(extra="n"), "[move] line down []": - R(Key("c-down"), rdescript="Atom: Move Line Down #") * Repeat(extra="n"), + R(Key("c-down"), rdescript="Atom: Move Line Down #")*Repeat(extra="n"), "duplicate line []": - R(Key("cs-d"), rdescript="Atom: Duplicate Line") * Repeat( + R(Key("cs-d"), rdescript="Atom: Duplicate Line")*Repeat( extra="n" ), #Unless remapped the command triggers Dragon NaturallySpeaking dictation box "delete line []": - R(Key("cs-k"), rdescript="Atom: Delete Line or # Lines Below") * + R(Key("cs-k"), rdescript="Atom: Delete Line or # Lines Below")* Repeat(extra="n"), "join line": R(Key("c-j"), rdescript="Atom: Join Line"), @@ -135,17 +135,16 @@ class AtomRule(MergeRule): "lowercase": R(palettized("Editor Lower Case"), rdescript="Atom: Convert lowercase"), "delete [to] end [of word] []": - R(Key("c-delete"), rdescript="Atom: Delete to End oF Word") * - Repeat(extra="n"), + R(Key("c-delete"), rdescript="Atom: Delete to End oF Word")*Repeat(extra="n"), "delete sub [word] []": - R(Key("a-backspace"), rdescript="Atom: Delete to End of Subword") * + R(Key("a-backspace"), rdescript="Atom: Delete to End of Subword")* Repeat(extra="n"), "delete [to] previous [word] []": R(palettized("Delete to Previous Word boundary"), - rdescript="Atom: Delete to previous word boundary") * Repeat(extra="n"), + rdescript="Atom: Delete to previous word boundary")*Repeat(extra="n"), "delete [to] next [word] []": R(palettized("Delete to Next Word Boundary"), - rdescript="Atom: Delete to next word boundary") * Repeat(extra="n"), + rdescript="Atom: Delete to next word boundary")*Repeat(extra="n"), ##"delete line": R(Key("cs-k"), rdescript="Atom: Delete Line"), "transpose": R(palettized("Transpose") + Key("enter"), rdescript="Atom: Transpose"), @@ -177,9 +176,9 @@ class AtomRule(MergeRule): "toggle menubar": R(palettized("Toggle Menu Bar"), rdescript="Atom: Toggle Menubar"), "increase font [size] []": - R(Key("cs-equals"), rdescript="Atom: Increase Font Size") * Repeat(extra="n"), + R(Key("cs-equals"), rdescript="Atom: Increase Font Size")*Repeat(extra="n"), "decrease font [size] []": - R(Key("cs-minus"), rdescript="Atom: Decrease Font size") * Repeat(extra="n"), + R(Key("cs-minus"), rdescript="Atom: Decrease Font size")*Repeat(extra="n"), "reset font [size]": R(Key("c-0"), rdescript="Atom: Reset Font Size"), "toggle soft wrap": @@ -231,10 +230,9 @@ class AtomRule(MergeRule): R(Key("ac-i"), rdescript="Atom: Toggle Developer Tools"), #Selection Menu "[add] select above []": - R(Key("ac-up"), rdescript="Atom: Add Selection Above #") * Repeat(extra="n"), + R(Key("ac-up"), rdescript="Atom: Add Selection Above #")*Repeat(extra="n"), "[add] select below []": - R(Key("ac-down"), rdescript="Atom: Add Selection Below #") * - Repeat(extra="n"), + R(Key("ac-down"), rdescript="Atom: Add Selection Below #")*Repeat(extra="n"), "split into lines": R(palettized("Split Into Lines"), rdescript="Atom: Split Into lines"), "single section": @@ -246,10 +244,10 @@ class AtomRule(MergeRule): #"select line": R(Key("c-l"), rdescript="Atom: Select Line"), #"select word []": R(palettized("Editor: Word"), rdescript="Atom: Select Word") * Repeat(extra="n"), "[select] [to] begin [of] word []": - R(Key("cs-left"), rdescript="Atom: Select to Beginning of Word #") * + R(Key("cs-left"), rdescript="Atom: Select to Beginning of Word #")* Repeat(extra="n"), "[select] [to] end word []": - R(Key("cs-right"), rdescript="Atom: Select to End of Word #") * + R(Key("cs-right"), rdescript="Atom: Select to End of Word #")* Repeat(extra="n"), "[select] [to] begin line": R(palettized("Editor: Select to Beginning of Line"), @@ -624,29 +622,29 @@ class AtomRule(MergeRule): #Atom Shortcut Snippets "dev keys [input] []": R(Text('#"": R(Key("-"), rdescript="Atom: "),') + Key("enter"), - rdescript="Macro: Dev Keys #") * Repeat(extra="n"), + rdescript="Macro: Dev Keys #")*Repeat(extra="n"), "dev [command] palette []": R(Text('#"": R(palettized(""), rdescript="Atom: "),') + Key("enter"), - rdescript="Macro: Dev Command Palette #") * Repeat(extra="n"), + rdescript="Macro: Dev Command Palette #")*Repeat(extra="n"), #Repeatable Snippets "dev numb keys [input] []": R(Text('#" []": R(Key("-"), rdescript="Atom: ") * Repeat(extra="n"),') + Key("enter"), - rdescript="Macro: Numb Dev Keys #") * Repeat(extra="n"), + rdescript="Macro: Numb Dev Keys #")*Repeat(extra="n"), "dev numb [command] palette []": R(Text('#" []": R(palettized(""), rdescript="Atom: ") * Repeat(extra="n"),' ) + Key("enter"), - rdescript="Macro: Dev Numb Command Palette #") * Repeat(extra="n"), + rdescript="Macro: Dev Numb Command Palette #")*Repeat(extra="n"), #Basic Dragonfly Snippets "dev key []": - R(Text('"": Key(""),'), rdescript="Dragonfly: Print Dev Key #") * + R(Text('"": Key(""),'), rdescript="Dragonfly: Print Dev Key #")* Repeat(extra="n"), "dev text []": - R(Text('"": Text(""),'), rdescript="Dragonfly: Print Dev Text #") * + R(Text('"": Text(""),'), rdescript="Dragonfly: Print Dev Text #")* Repeat(extra="n"), "send command []": R(Text('"": R(Function(SendJsonCommands, a_command=""), rdescript=""),'), - rdescript="Macro: Print SendJsonCommands Template #") * Repeat(extra="n"), + rdescript="Macro: Print SendJsonCommands Template #")*Repeat(extra="n"), } extras = [ diff --git a/caster/apps/chrome.py b/caster/apps/chrome.py index ff78712c7..257b31a25 100644 --- a/caster/apps/chrome.py +++ b/caster/apps/chrome.py @@ -27,7 +27,7 @@ class ChromeRule(MergeRule): "new tab []": R(Key("c-t"), rdescript="Browser: New Tab") * Repeat(extra="n"), "reopen tab []": R(Key("cs-t"), rdescript="Browser: Reopen Tab") * Repeat(extra="n"), "close all tabs": R(Key("cs-w"), rdescript="Browser: Close All Tabs"), - + "go back []": R(Key("a-left/20"), rdescript="Browser: Navigate History Backward") * Repeat(extra="n"), "go forward []": R(Key("a-right/20"), rdescript="Browser: Navigate History Forward") * Repeat(extra="n"), "zoom in []": R(Key("c-plus/20"), rdescript="Browser: Zoom In") * Repeat(extra="n"), @@ -53,26 +53,26 @@ class ChromeRule(MergeRule): "focus notification": R(Key("a-n"), rdescript="Browser: Focus Notification"), "allow notification": R(Key("as-a"), rdescript="Browser: Allow Notification"), "deny notification": R(Key("as-a"), rdescript="Browser: Deny Notification"), - + "developer tools": R(Key("f12"), rdescript="Browser: Developer Tools"), "view [page] source": R(Key("c-u"), rdescript="Browser: View Page Source"), "resume": R(Key("f8"), rdescript="Browser: Resume"), "step over": R(Key("f10"), rdescript="Browser: Step Over"), - "step into": R(Key("f11"), rdescript="Browser: Step Into"), + "step into": R(Key("f11"), rdescript="Browser: Step Into"), "step out": R(Key("s-f11"), rdescript="Browser: Step Out"), - + "IRC identify": R(Text("/msg NickServ identify PASSWORD"), rdescript="IRC Chat Channel Identify"), } extras = [ - Dictation("dict"), - IntegerRefST("n",1, 10), - ] - defaults ={"n": 1, "dict":"nothing"} + Dictation("dict"), + IntegerRefST("n", 1, 10), + ] + defaults = {"n": 1, "dict": "nothing"} #--------------------------------------------------------------------------- -context = AppContext(executable="chrome") +context = AppContext(executable="chrome") grammar = Grammar("chrome", context=context) if settings.SETTINGS["apps"]["chrome"]: diff --git a/caster/apps/cmd.py b/caster/apps/cmd.py index 854cdd2d5..ef2a78441 100644 --- a/caster/apps/cmd.py +++ b/caster/apps/cmd.py @@ -9,8 +9,7 @@ """ #--------------------------------------------------------------------------- -from dragonfly import (Grammar, AppContext, MappingRule, - Key, Text) +from dragonfly import (Grammar, AppContext, MappingRule, Key, Text) from caster.lib import control from caster.lib import settings @@ -23,20 +22,15 @@ class CMDRule(MergeRule): pronunciation = "command prompt" mapping = { - "C drive": R(Text(r"cd C:/")+Key("enter"), rdescript="CMD: Go To C:"), - "CD up": R(Text( "cd .." )+Key("enter"), rdescript="CMD: Up Directory"), - "CD": R(Text( "cd " ), rdescript="CMD: Navigate Directory"), - "list": R(Text( "dir" )+Key("enter"), rdescript="CMD: List Files"), - "make directory": R(Text( "mkdir " ), rdescript="CMD: Make directory"), - - - - "exit": R(Text( "exit" )+Key("enter"), rdescript="CMD: Exit"), - } - extras = [ - - ] - defaults ={} + "C drive": R(Text(r"cd C:/") + Key("enter"), rdescript="CMD: Go To C:"), + "CD up": R(Text("cd ..") + Key("enter"), rdescript="CMD: Up Directory"), + "CD": R(Text("cd "), rdescript="CMD: Navigate Directory"), + "list": R(Text("dir") + Key("enter"), rdescript="CMD: List Files"), + "make directory": R(Text("mkdir "), rdescript="CMD: Make directory"), + "exit": R(Text("exit") + Key("enter"), rdescript="CMD: Exit"), + } + extras = [] + defaults = {} #--------------------------------------------------------------------------- @@ -52,4 +46,4 @@ class CMDRule(MergeRule): rule = CMDRule(name="command prompt") gfilter.run_on(rule) grammar.add_rule(rule) - grammar.load() \ No newline at end of file + grammar.load() diff --git a/caster/apps/dragon.py b/caster/apps/dragon.py index 3a6bc149f..3d9a9bba7 100644 --- a/caster/apps/dragon.py +++ b/caster/apps/dragon.py @@ -1,4 +1,3 @@ - from dragonfly import (Grammar, Playback, Key, Dictation, Function) from caster.lib import control @@ -8,9 +7,9 @@ from caster.lib.dfplus.merge.mergerule import MergeRule from caster.lib.dfplus.state.short import R - _NEXUS = control.nexus() + def fix_dragon_double(nexus): try: lr = nexus.history[len(nexus.history) - 1] @@ -24,27 +23,49 @@ class DragonRule(MergeRule): pronunciation = "dragon" mapping = { - '(lock Dragon | deactivate)': R(Playback([(["go", "to", "sleep"], 0.0)]), rdescript="Dragon: Go To Sleep"), - '(number|numbers) mode': R(Playback([(["numbers", "mode", "on"], 0.0)]), rdescript="Dragon: Number Mode"), - 'spell mode': R(Playback([(["spell", "mode", "on"], 0.0)]), rdescript="Dragon: Spell Mode"), - 'dictation mode': R(Playback([(["dictation", "mode", "on"], 0.0)]), rdescript="Dragon: Dictation Mode"), - 'normal mode': R(Playback([(["normal", "mode", "on"], 0.0)]), rdescript="Dragon: Normal Mode"), - 'com on': R(Playback([(["command", "mode", "on"], 0.0)]), rdescript="Dragon: Command Mode (On)"), - 'com off': R(Playback([(["command", "mode", "off"], 0.0)]), rdescript="Dragon: Command Mode (Off)"), - 'scratch': R(Playback([(["scratch", "that"], 0.0)]), rdescript="Dragon: 'Scratch That'"), - "reboot dragon": R(Function(utilities.reboot), rdescript="Reboot Dragon Naturallyspeaking"), - "fix dragon double": R(Function(fix_dragon_double, nexus=_NEXUS), rdescript="Fix Dragon Double Letter"), - "left point": R(Playback([(["MouseGrid"], 0.1), (["four", "four"], 0.1), (["click"], 0.0)]), rdescript="Mouse: Left Point"), - "right point": R(Playback([(["MouseGrid"], 0.1), (["six", "six"], 0.1), (["click"], 0.0)]), rdescript="Mouse: Right Point"), - "center point": R(Playback([(["MouseGrid"], 0.1), (["click"], 0.0)]), rdescript="Mouse: Center Point"), - } + '(lock Dragon | deactivate)': + R(Playback([(["go", "to", "sleep"], 0.0)]), rdescript="Dragon: Go To Sleep"), + '(number|numbers) mode': + R(Playback([(["numbers", "mode", "on"], 0.0)]), + rdescript="Dragon: Number Mode"), + 'spell mode': + R(Playback([(["spell", "mode", "on"], 0.0)]), rdescript="Dragon: Spell Mode"), + 'dictation mode': + R(Playback([(["dictation", "mode", "on"], 0.0)]), + rdescript="Dragon: Dictation Mode"), + 'normal mode': + R(Playback([(["normal", "mode", "on"], 0.0)]), + rdescript="Dragon: Normal Mode"), + 'com on': + R(Playback([(["command", "mode", "on"], 0.0)]), + rdescript="Dragon: Command Mode (On)"), + 'com off': + R(Playback([(["command", "mode", "off"], 0.0)]), + rdescript="Dragon: Command Mode (Off)"), + 'scratch': + R(Playback([(["scratch", "that"], 0.0)]), rdescript="Dragon: 'Scratch That'"), + "reboot dragon": + R(Function(utilities.reboot), rdescript="Reboot Dragon Naturallyspeaking"), + "fix dragon double": + R(Function(fix_dragon_double, nexus=_NEXUS), + rdescript="Fix Dragon Double Letter"), + "left point": + R(Playback([(["MouseGrid"], 0.1), (["four", "four"], 0.1), (["click"], 0.0)]), + rdescript="Mouse: Left Point"), + "right point": + R(Playback([(["MouseGrid"], 0.1), (["six", "six"], 0.1), (["click"], 0.0)]), + rdescript="Mouse: Right Point"), + "center point": + R(Playback([(["MouseGrid"], 0.1), (["click"], 0.0)]), + rdescript="Mouse: Center Point"), + } extras = [ - Dictation("text"), - Dictation("mim"), - IntegerRefST("n", 1, 1000), - - ] - defaults = {"n": 1, "mim":""} + Dictation("text"), + Dictation("mim"), + IntegerRefST("n", 1, 1000), + ] + defaults = {"n": 1, "mim": ""} + #--------------------------------------------------------------------------- @@ -54,4 +75,4 @@ class DragonRule(MergeRule): rule = DragonRule(name="dragon") gfilter.run_on(rule) grammar.add_rule(rule) - grammar.load() \ No newline at end of file + grammar.load() diff --git a/caster/apps/eclipse.py b/caster/apps/eclipse.py index 409c319c2..8ef8cc7d6 100644 --- a/caster/apps/eclipse.py +++ b/caster/apps/eclipse.py @@ -2,8 +2,7 @@ import re -from dragonfly import (Grammar, AppContext, - Dictation, Key, Text, Repeat, Pause) +from dragonfly import (Grammar, AppContext, Dictation, Key, Text, Repeat, Pause) from dragonfly.actions.action_function import Function from dragonfly.actions.action_paste import Paste from dragonfly.grammar.elements import Choice @@ -23,20 +22,22 @@ class EclipseController(object): def __init__(self): self.regex = False self.analysis_chars = r"\]" + def regex_on(self): if not self.regex: - Key("a-x").execute() # turn on regex + Key("a-x").execute() # turn on regex self.regex = True + def regex_off(self): if self.regex: - Key("a-x").execute() # turn off regex + Key("a-x").execute() # turn off regex self.regex = False + def analyze_for_configure(self): '''solves the problem of the editor not being smart about toggles by using text to see which toggles are active''' - '''regex toggle check''' - Key("escape").execute() # get out of Find + Key("escape").execute() # get out of Find result = CONTEXT.read_nmax_tries(10) if result == self.analysis_chars: self.regex = False @@ -45,31 +46,31 @@ def analyze_for_configure(self): self.regex = True Key("delete, backspace").execute() else: - control.nexus().intermediary.text("Eclipse configuration failed ("+result+")") - - + control.nexus().intermediary.text( + "Eclipse configuration failed (" + result + ")") + def lines_relative(self, back, n): - if back: #backward + if back: #backward try: num = CONTEXT.read_nmax_tries(10) - txt = str(int(num)-int(n)+1) # +1 to include current line + txt = str(int(num) - int(n) + 1) # +1 to include current line Text(txt).execute() except ValueError: utilities.simple_log() return Key("enter").execute() - else: #forward - Key("escape, end, home, home").execute() # end-home-home to include all of current line - + else: #forward + Key("escape, end, home, home").execute( + ) # end-home-home to include all of current line + # forward or backward - Key("s-down:"+str(int(n))+"/5, s-left").execute() - + Key("s-down:" + str(int(n)) + "/5, s-left").execute() + def find(self, back, go, text=None, punctuation=None, a=None, b=None, c=None): '''set direction''' - + key = "b" if back else "o" - Key("a-"+key).execute() - + Key("a-" + key).execute() '''figure out what to search for''' if text is not None: text = str(text) @@ -85,10 +86,9 @@ def find(self, back, go, text=None, punctuation=None, a=None, b=None, c=None): a = str(a) b = str(b) if b is not None else "" c = str(c) if c is not None else "" - text = a+b+c + text = a + b + c self.regex_off() Text(text).execute() - '''"go" indicates that we should keep looking''' if go: u = UntilCancelled(Key("enter"), 2) @@ -96,19 +96,16 @@ def find(self, back, go, text=None, punctuation=None, a=None, b=None, c=None): u.execute() else: Key("enter, escape").execute() - - - -ec_con = EclipseController() +ec_con = EclipseController() class EclipseRule(MergeRule): pronunciation = "eclipse" mapping = { - + "prior tab []": R(Key("cs-f6"), rdescript="Eclipse: Previous Tab") * Repeat(extra="n"), # these two must be set up in the eclipse preferences "next tab []": R(Key("c-f6"), rdescript="Eclipse: Next Tab") * Repeat(extra="n"), "open resource": R(Key("cs-r"), rdescript="Eclipse: Open Resource"), @@ -116,7 +113,7 @@ class EclipseRule(MergeRule): "jump to source": R(Key("f3"), rdescript="Eclipse: Jump To Source"), "editor select": R(Key("c-e"), rdescript="Eclipse: Editor Select"), - + "step over []": R(Key("f6/50") * Repeat(extra="n"), rdescript="Eclipse: Step Over"), "step into": R(Key("f5"), rdescript="Eclipse: Step Into"), "step out [of]": R(Key("f7"), rdescript="Eclipse: Step Out"), @@ -126,21 +123,21 @@ class EclipseRule(MergeRule): # "terminate" changes to the settings for this hotkey: (when: in dialogs and windows) "terminate": R(Key("c-f2"), rdescript="Eclipse: Terminate Running Program"), - + "refractor symbol": R(Key("sa-r"), rdescript="Eclipse: Re-Factor Symbol"), - + "symbol next []": R(Key("c-k"), rdescript="Eclipse: Symbol Next") * Repeat(extra="n"), - "symbol prior []": R(Key("cs-k"), rdescript="Eclipse: Symbol Prior") * Repeat(extra="n"), - + "symbol prior []": R(Key("cs-k"), rdescript="Eclipse: Symbol Prior") * Repeat(extra="n"), + "format code": R(Key("cs-f"), rdescript="Eclipse: Format Code"), "do imports": R(Key("cs-o"), rdescript="Eclipse: Do Imports"), "comment line": R(Key("c-slash"), rdescript="Eclipse: Comment Line"), - - "build it": R(Key("c-b"), rdescript="Eclipse: Build"), - - "split view horizontal": R(Key("cs-underscore"), rdescript="Eclipse: Split View (H)"), + + "build it": R(Key("c-b"), rdescript="Eclipse: Build"), + + "split view horizontal": R(Key("cs-underscore"), rdescript="Eclipse: Split View (H)"), "split view vertical": R(Key("cs-lbrace"), rdescript="Eclipse: Split View (V)"), - + #Line Ops "find everywhere": R(Key("ca-g"), rdescript="Eclipse: Search Project"), "find word [] []": R(Key("c-f")+Function(ec_con.regex_off)+Function(ec_con.find),\ @@ -151,27 +148,37 @@ class EclipseRule(MergeRule): rdescript="Eclipse: Find Alpha"), "find [] []": R(Key("c-f")+Function(ec_con.find),\ rdescript="Eclipse: Find Character(s)"), - - + + } extras = [ - Dictation("text"), - Dictation("mim"), - IntegerRefST("n", 1, 3000), - alphanumeric.get_alphabet_choice("a"), - alphanumeric.get_alphabet_choice("b"), - alphanumeric.get_alphabet_choice("c"), - Choice("punctuation", {"hash tag": "#"}), - Boolean("back"), - Boolean("go"), - ] - defaults = {"n": 1, "mim":"", "a": None, "b": None, "c": None, "punctuation": None, "back":False, "go":False} + Dictation("text"), + Dictation("mim"), + IntegerRefST("n", 1, 3000), + alphanumeric.get_alphabet_choice("a"), + alphanumeric.get_alphabet_choice("b"), + alphanumeric.get_alphabet_choice("c"), + Choice("punctuation", {"hash tag": "#"}), + Boolean("back"), + Boolean("go"), + ] + defaults = { + "n": 1, + "mim": "", + "a": None, + "b": None, + "c": None, + "punctuation": None, + "back": False, + "go": False + } + class EclipseCCR(MergeRule): pronunciation = "eclipse jump" - + mwith = [Navigation().get_pronunciation()] - + mapping = { #Line Ops "configure": R(Paste(ec_con.analysis_chars)+Key("left:2/5, c-f/20, backslash, rbracket, enter") + \ @@ -186,30 +193,34 @@ class EclipseCCR(MergeRule): rdescript="Eclipse: Go To Line"), "shackle []": R(Key("c-l")+Key("right, cs-left")+ \ Function(ec_con.lines_relative), rdescript="Eclipse: Select Relative Lines"), - + } extras = [ - Dictation("text"), - IntegerRefST("n", 1, 1000), - Boolean("back"), - ] + Dictation("text"), + IntegerRefST("n", 1, 1000), + Boolean("back"), + ] defaults = {"n": 1, "back": False} + + #--------------------------------------------------------------------------- -context = AppContext(executable="javaw", title="Eclipse") | AppContext(executable="eclipse", title="Eclipse") | AppContext(executable="AptanaStudio3") +context = AppContext( + executable="javaw", title="Eclipse") | AppContext( + executable="eclipse", title="Eclipse") | AppContext(executable="AptanaStudio3") grammar = Grammar("Eclipse", context=context) if settings.SETTINGS["apps"]["eclipse"]: -# if settings.SETTINGS["miscellaneous"]["rdp_mode"]: -# control.nexus().merger.add_global_rule(EclipseRule()) -# control.nexus().merger.add_global_rule(EclipseCCR()) -# else: -# control.nexus().merger.add_app_rule(EclipseCCR(), context) - - rule = EclipseRule(name="eclipse") - gfilter.run_on(rule) - ccr = EclipseCCR() - gfilter.run_on(ccr) - grammar.add_rule(rule) - grammar.add_rule(ccr) - grammar.load() \ No newline at end of file + # if settings.SETTINGS["miscellaneous"]["rdp_mode"]: + # control.nexus().merger.add_global_rule(EclipseRule()) + # control.nexus().merger.add_global_rule(EclipseCCR()) + # else: + # control.nexus().merger.add_app_rule(EclipseCCR(), context) + + rule = EclipseRule(name="eclipse") + gfilter.run_on(rule) + ccr = EclipseCCR() + gfilter.run_on(ccr) + grammar.add_rule(rule) + grammar.add_rule(ccr) + grammar.load() diff --git a/caster/apps/emacs.py b/caster/apps/emacs.py index 5dbf0e857..d29f7e81e 100644 --- a/caster/apps/emacs.py +++ b/caster/apps/emacs.py @@ -12,53 +12,81 @@ class EmacsRule(MergeRule): pronunciation = "E max" mapping = { - "open file": R(Key("c-x, c-f"), rdescript="Emacs: Open File"), - "save file": R(Key("c-x, c-s"), rdescript="Emacs: Save File"), - "save as": R(Key("c-x, c-w"), rdescript="Emacs: Save As"), - "save all": R(Key("c-x, s"), rdescript="Emacs: Save All"), - "revert to file": R(Key("c-x, c-v"), rdescript="Emacs: Revert To File"), - "revert buffer": R(Key("a-x"), rdescript="Revert Buffer"), - "close buffer": R(Key("c-x, c-c"), rdescript="Close Buffer"), - - "undo": R(Key("c-underscore"), rdescript="Emacs: Undo"), - "begin selection": R(Key("c-space"), rdescript="Emacs: Begin Selection"), - "cancel selection": R(Key("c-g"), rdescript="Emacs: Cancel Selection"), - "cut selection": R(Key("c-w"), rdescript="Emacs: Cut Selection"), - "paste": R(Key("c-y"), rdescript="Emacs: Paste"), - "copy number ": R(Key("c-x, r, s, %(n)d"), rdescript="Emacs: Copy Number"), - "paste number ": R(Key("c-x, r, i, %(n)d"), rdescript="Emacs: Paste Number"), + "open file": + R(Key("c-x, c-f"), rdescript="Emacs: Open File"), + "save file": + R(Key("c-x, c-s"), rdescript="Emacs: Save File"), + "save as": + R(Key("c-x, c-w"), rdescript="Emacs: Save As"), + "save all": + R(Key("c-x, s"), rdescript="Emacs: Save All"), + "revert to file": + R(Key("c-x, c-v"), rdescript="Emacs: Revert To File"), + "revert buffer": + R(Key("a-x"), rdescript="Revert Buffer"), + "close buffer": + R(Key("c-x, c-c"), rdescript="Close Buffer"), + "undo": + R(Key("c-underscore"), rdescript="Emacs: Undo"), + "begin selection": + R(Key("c-space"), rdescript="Emacs: Begin Selection"), + "cancel selection": + R(Key("c-g"), rdescript="Emacs: Cancel Selection"), + "cut selection": + R(Key("c-w"), rdescript="Emacs: Cut Selection"), + "paste": + R(Key("c-y"), rdescript="Emacs: Paste"), + "copy number ": + R(Key("c-x, r, s, %(n)d"), rdescript="Emacs: Copy Number"), + "paste number ": + R(Key("c-x, r, i, %(n)d"), rdescript="Emacs: Paste Number"), # delete - "forward delete": R(Key("c-delete"), rdescript="Emacs: Forward Delete"), - "delete word": R(Key("a-delete"), rdescript="Emacs: Delete Word"), - "forward delete word": R(Key("a-d"), rdescript="Emacs: Forward Delete Word"), - - "word forward": R(Key("a-f"), rdescript="Emacs: Word Forward"), - "word backward": R(Key("a-b"), rdescript="Emacs: Word Backward"), - "line forward": R(Key("c-a"), rdescript="Emacs: Line Forward"), - "line backward": R(Key("c-e"), rdescript="Emacs: Line Backward"), - "paragraph forward": R(Key("a-lbrace"), rdescript="Emacs: Paragraph Forward"), - "paragraph backward": R(Key("a-rbrace"), rdescript="Emacs: Paragraph Backward"), - "document forward": R(Key("a-langle"), rdescript="Emacs: Document Forward"), - "document backward": R(Key("a-rangle"), rdescript="Emacs: Document Backward"), - "C function forward": R(Key("ac-a"), rdescript="Emacs: C Function Forward"), - "C function backward": R(Key("ac-e"), rdescript="Emacs: C Function Forward"), - - "incremental search": R(Key("c-s"), rdescript="Emacs: Incremental Search"), - "incremental reverse": R(Key("c-r"), rdescript="Emacs: Incremental Reverse"), - "interactive search": R(Key("a-percent"), rdescript="Emacs: Interactive Search"), - "go to line ": R(Key("a-x, %(n)d"), rdescript="Emacs: Go To Line"), - "prior bracket": R(Key("escape:down, c-b, escape:up"), rdescript="Emacs: Prior Bracket"), - "next bracket": R(Key("escape:down, c-f, escape:up"), rdescript="Emacs: Next Bracket"), - - - } + "forward delete": + R(Key("c-delete"), rdescript="Emacs: Forward Delete"), + "delete word": + R(Key("a-delete"), rdescript="Emacs: Delete Word"), + "forward delete word": + R(Key("a-d"), rdescript="Emacs: Forward Delete Word"), + "word forward": + R(Key("a-f"), rdescript="Emacs: Word Forward"), + "word backward": + R(Key("a-b"), rdescript="Emacs: Word Backward"), + "line forward": + R(Key("c-a"), rdescript="Emacs: Line Forward"), + "line backward": + R(Key("c-e"), rdescript="Emacs: Line Backward"), + "paragraph forward": + R(Key("a-lbrace"), rdescript="Emacs: Paragraph Forward"), + "paragraph backward": + R(Key("a-rbrace"), rdescript="Emacs: Paragraph Backward"), + "document forward": + R(Key("a-langle"), rdescript="Emacs: Document Forward"), + "document backward": + R(Key("a-rangle"), rdescript="Emacs: Document Backward"), + "C function forward": + R(Key("ac-a"), rdescript="Emacs: C Function Forward"), + "C function backward": + R(Key("ac-e"), rdescript="Emacs: C Function Forward"), + "incremental search": + R(Key("c-s"), rdescript="Emacs: Incremental Search"), + "incremental reverse": + R(Key("c-r"), rdescript="Emacs: Incremental Reverse"), + "interactive search": + R(Key("a-percent"), rdescript="Emacs: Interactive Search"), + "go to line ": + R(Key("a-x, %(n)d"), rdescript="Emacs: Go To Line"), + "prior bracket": + R(Key("escape:down, c-b, escape:up"), rdescript="Emacs: Prior Bracket"), + "next bracket": + R(Key("escape:down, c-f, escape:up"), rdescript="Emacs: Next Bracket"), + } extras = [ - Dictation("text"), - Dictation("mim"), - IntegerRefST("n", 1, 1000), - - ] - defaults = {"n": 1, "mim":""} + Dictation("text"), + Dictation("mim"), + IntegerRefST("n", 1, 1000), + ] + defaults = {"n": 1, "mim": ""} + #--------------------------------------------------------------------------- @@ -72,4 +100,4 @@ class EmacsRule(MergeRule): rule = EmacsRule(name="emacs") gfilter.run_on(rule) grammar.add_rule(rule) - grammar.load() \ No newline at end of file + grammar.load() diff --git a/caster/apps/explorer.py b/caster/apps/explorer.py index dc5f51c0a..1a45442e1 100644 --- a/caster/apps/explorer.py +++ b/caster/apps/explorer.py @@ -1,6 +1,5 @@ -from dragonfly import (Grammar, AppContext, MappingRule, - Dictation, IntegerRef, - Key, Text, Repeat, Pause) +from dragonfly import (Grammar, AppContext, MappingRule, Dictation, IntegerRef, Key, Text, + Repeat, Pause) from caster.lib import control from caster.lib import settings @@ -14,18 +13,22 @@ class IERule(MergeRule): pronunciation = "explorer" mapping = { - "address bar": R(Key("a-d"), rdescript="Explorer: Address Bar"), - "new folder": R(Key("cs-n"), rdescript="Explorer: New Folder"), - "new file": R(Key("a-f, w, t"), rdescript="Explorer: New File"), - "(show | file | folder) properties": R(Key("a-enter"), rdescript="Explorer: Properties Dialog"), - } + "address bar": + R(Key("a-d"), rdescript="Explorer: Address Bar"), + "new folder": + R(Key("cs-n"), rdescript="Explorer: New Folder"), + "new file": + R(Key("a-f, w, t"), rdescript="Explorer: New File"), + "(show | file | folder) properties": + R(Key("a-enter"), rdescript="Explorer: Properties Dialog"), + } extras = [ - Dictation("text"), - IntegerRefST("n", 1, 1000), - - ] + Dictation("text"), + IntegerRefST("n", 1, 1000), + ] defaults = {"n": 1} + #--------------------------------------------------------------------------- context = AppContext(executable="explorer") @@ -38,4 +41,4 @@ class IERule(MergeRule): rule = IERule(name="explorer") gfilter.run_on(rule) grammar.add_rule(rule) - grammar.load() \ No newline at end of file + grammar.load() diff --git a/caster/apps/firefox.py b/caster/apps/firefox.py index 11a0860e1..68bb65b25 100644 --- a/caster/apps/firefox.py +++ b/caster/apps/firefox.py @@ -23,28 +23,41 @@ class FirefoxRule(MergeRule): pronunciation = "fire fox" mapping = { - "new tab []": R(Key("c-t"), rdescript="Browser: New Tab") * Repeat(extra="n"), - "reopen tab []": R(Key("cs-t"), rdescript="Browser: Reopen Tab") * Repeat(extra="n"), - "show history": R(Key("c-h"), rdescript="Browser: Show History"), - "show downloads": R(Key("c-j"), rdescript="Browser: Show Downloads"), - "zoom in ": R(Key("c-plus/20"), rdescript="Browser: Zoom In") * Repeat(extra="n"), - "zoom out ": R(Key("c-minus/20"), rdescript="Browser: Zoom") * Repeat(extra="n"), - "super refresh": R(Key("c-f5"), rdescript="Browser: Super Refresh"), - "[add] bookmark": R(Key("c-d"), rdescript="Browser: Add Bookmark"), - - "developer tools": R(Key("f12"), rdescript="Browser: Developer Tools"), - "resume": R(Key("f8"), rdescript="Browser: Resume"), - "step over": R(Key("f10"), rdescript="Browser: Step Over"), - "step into": R(Key("f11"), rdescript="Browser: Step Into"), - "step out": R(Key("s-f11"), rdescript="Browser: Step Out"), - - "IRC identify": R(Text("/msg NickServ identify PASSWORD"), rdescript="IRC Chat Channel Identify"), - } + "new tab []": + R(Key("c-t"), rdescript="Browser: New Tab")*Repeat(extra="n"), + "reopen tab []": + R(Key("cs-t"), rdescript="Browser: Reopen Tab")*Repeat(extra="n"), + "show history": + R(Key("c-h"), rdescript="Browser: Show History"), + "show downloads": + R(Key("c-j"), rdescript="Browser: Show Downloads"), + "zoom in ": + R(Key("c-plus/20"), rdescript="Browser: Zoom In")*Repeat(extra="n"), + "zoom out ": + R(Key("c-minus/20"), rdescript="Browser: Zoom")*Repeat(extra="n"), + "super refresh": + R(Key("c-f5"), rdescript="Browser: Super Refresh"), + "[add] bookmark": + R(Key("c-d"), rdescript="Browser: Add Bookmark"), + "developer tools": + R(Key("f12"), rdescript="Browser: Developer Tools"), + "resume": + R(Key("f8"), rdescript="Browser: Resume"), + "step over": + R(Key("f10"), rdescript="Browser: Step Over"), + "step into": + R(Key("f11"), rdescript="Browser: Step Into"), + "step out": + R(Key("s-f11"), rdescript="Browser: Step Out"), + "IRC identify": + R(Text("/msg NickServ identify PASSWORD"), + rdescript="IRC Chat Channel Identify"), + } extras = [ - Dictation("dict"), - IntegerRefST("n",1, 100), - ] - defaults ={"n": 1, "dict":"nothing"} + Dictation("dict"), + IntegerRefST("n", 1, 100), + ] + defaults = {"n": 1, "dict": "nothing"} #--------------------------------------------------------------------------- @@ -59,4 +72,4 @@ class FirefoxRule(MergeRule): rule = FirefoxRule(name="firefox") gfilter.run_on(rule) grammar.add_rule(rule) - grammar.load() \ No newline at end of file + grammar.load() diff --git a/caster/apps/flashdevelop.py b/caster/apps/flashdevelop.py index 974b3eb39..89b95a64b 100644 --- a/caster/apps/flashdevelop.py +++ b/caster/apps/flashdevelop.py @@ -1,5 +1,5 @@ -from dragonfly import (Grammar, AppContext, MappingRule, - Dictation, Key, Text, Repeat, Pause) +from dragonfly import (Grammar, AppContext, MappingRule, Dictation, Key, Text, Repeat, + Pause) from caster.lib import control from caster.lib import settings @@ -14,60 +14,73 @@ class FlashDevelopRule(MergeRule): pronunciation = "flash develop" mapping = { - - "prior tab []": R(Key("c-pgup"), rdescript="FlashDevelop: Previous Tab") * Repeat(extra="n"), - "next tab []": R(Key("c-pgdown"), rdescript="FlashDevelop: Next Tab") * Repeat(extra="n"), - - "open resource": R(Key("c-r"), rdescript="FlashDevelop: Open Resource"), - - "jump to source": R(Key("f4"), rdescript="FlashDevelop: Jump To Source"), - "jump away": R(Key("s-f4"), rdescript="FlashDevelop: Jump Away"), - - "step over []": R(Key("f10") * Repeat(extra="n"), rdescript="FlashDevelop: Step Over"), - "step into": R(Key("f11"), rdescript="FlashDevelop: Step Into"), - "step out [of]": R(Key("s-f11"), rdescript="FlashDevelop: Step Out"), - "resume": R(Key("a-d, c"), rdescript="FlashDevelop: Resume"), - - "terminate": R(Key("s-f5"), rdescript="FlashDevelop: Terminate Running Program"), - - "find everywhere": R(Key("cs-f"), rdescript="FlashDevelop: Search Project"), - "refractor symbol": R(Key("a-r, r"), rdescript="FlashDevelop: Re-Factor Symbol"), - - "symbol next []": R(Key("f3"), rdescript="FlashDevelop: Symbol Next") * Repeat(extra="n"), - "symbol prior []": R(Key("s-f3"), rdescript="FlashDevelop: Symbol Prior") * Repeat(extra="n"), - - "format code": R(Key("cs-2"), rdescript="FlashDevelop: Format Code"), - "comment line": R(Key("c-q"), rdescript="FlashDevelop: Comment Line"), - - "clean it": R(Key("s-f8"), rdescript="FlashDevelop: Clean"), - "build it": R(Key("f8"), rdescript="FlashDevelop: Build"), - "(debug | run) last": R(Key("f5"), rdescript="FlashDevelop: Run"), - - "split view horizontal": R(Key("cs-enter"), rdescript="FlashDevelop: Split View (H)"), - "auto complete": R(Key("cs-1"), rdescript="FlashDevelop: Auto Complete"), - - } + "prior tab []": + R(Key("c-pgup"), rdescript="FlashDevelop: Previous Tab")*Repeat(extra="n"), + "next tab []": + R(Key("c-pgdown"), rdescript="FlashDevelop: Next Tab")*Repeat(extra="n"), + "open resource": + R(Key("c-r"), rdescript="FlashDevelop: Open Resource"), + "jump to source": + R(Key("f4"), rdescript="FlashDevelop: Jump To Source"), + "jump away": + R(Key("s-f4"), rdescript="FlashDevelop: Jump Away"), + "step over []": + R(Key("f10")*Repeat(extra="n"), rdescript="FlashDevelop: Step Over"), + "step into": + R(Key("f11"), rdescript="FlashDevelop: Step Into"), + "step out [of]": + R(Key("s-f11"), rdescript="FlashDevelop: Step Out"), + "resume": + R(Key("a-d, c"), rdescript="FlashDevelop: Resume"), + "terminate": + R(Key("s-f5"), rdescript="FlashDevelop: Terminate Running Program"), + "find everywhere": + R(Key("cs-f"), rdescript="FlashDevelop: Search Project"), + "refractor symbol": + R(Key("a-r, r"), rdescript="FlashDevelop: Re-Factor Symbol"), + "symbol next []": + R(Key("f3"), rdescript="FlashDevelop: Symbol Next")*Repeat(extra="n"), + "symbol prior []": + R(Key("s-f3"), rdescript="FlashDevelop: Symbol Prior")*Repeat(extra="n"), + "format code": + R(Key("cs-2"), rdescript="FlashDevelop: Format Code"), + "comment line": + R(Key("c-q"), rdescript="FlashDevelop: Comment Line"), + "clean it": + R(Key("s-f8"), rdescript="FlashDevelop: Clean"), + "build it": + R(Key("f8"), rdescript="FlashDevelop: Build"), + "(debug | run) last": + R(Key("f5"), rdescript="FlashDevelop: Run"), + "split view horizontal": + R(Key("cs-enter"), rdescript="FlashDevelop: Split View (H)"), + "auto complete": + R(Key("cs-1"), rdescript="FlashDevelop: Auto Complete"), + } extras = [ - Dictation("text"), - Dictation("mim"), - IntegerRefST("n", 1, 1000), - - ] - defaults = {"n": 1, "mim":""} + Dictation("text"), + Dictation("mim"), + IntegerRefST("n", 1, 1000), + ] + defaults = {"n": 1, "mim": ""} + class FlashDevelopCCR(MergeRule): pronunciation = "flash develop test" mwith = [Navigation().get_pronunciation()] - + mapping = { - "[go to] line ": R(Key("c-g") + Pause("50") + Text("%(n)d") + Key("enter"), - rdescript="FlashDevelop: Go To Line"), - } + "[go to] line ": + R(Key("c-g") + Pause("50") + Text("%(n)d") + Key("enter"), + rdescript="FlashDevelop: Go To Line"), + } extras = [ - Dictation("text"), - IntegerRefST("n", 1, 1000), - ] + Dictation("text"), + IntegerRefST("n", 1, 1000), + ] defaults = {"n": 1} + + #--------------------------------------------------------------------------- context = AppContext(executable="FlashDevelop", title="FlashDevelop") @@ -79,7 +92,7 @@ class FlashDevelopCCR(MergeRule): control.nexus().merger.add_global_rule(FlashDevelopCCR()) else: control.nexus().merger.add_app_rule(FlashDevelopCCR(name="FlashDevelop"), context) - + rule = FlashDevelopRule() gfilter.run_on(rule) grammar.add_rule(rule) diff --git a/caster/apps/foxitreader.py b/caster/apps/foxitreader.py index f49ad1cd4..cd16f5d99 100644 --- a/caster/apps/foxitreader.py +++ b/caster/apps/foxitreader.py @@ -12,16 +12,20 @@ class FoxitRule(MergeRule): pronunciation = "fox it reader" mapping = { - "next tab []": R(Key("c-tab"), rdescript="Foxit Reader: Next Tab") * Repeat(extra="n"), - "prior tab []": R(Key("cs-tab"), rdescript="Foxit Reader: Previous Tab") * Repeat(extra="n"), - "close tab []": R(Key("c-f4/20"), rdescript="Foxit Reader: Close Tab") * Repeat(extra="n"), - } + "next tab []": + R(Key("c-tab"), rdescript="Foxit Reader: Next Tab")*Repeat(extra="n"), + "prior tab []": + R(Key("cs-tab"), rdescript="Foxit Reader: Previous Tab")*Repeat(extra="n"), + "close tab []": + R(Key("c-f4/20"), rdescript="Foxit Reader: Close Tab")*Repeat(extra="n"), + } extras = [ - Dictation("text"), - Dictation("mim"), - IntegerRefST("n", 1, 1000), - ] - defaults = {"n": 1, "mim":""} + Dictation("text"), + Dictation("mim"), + IntegerRefST("n", 1, 1000), + ] + defaults = {"n": 1, "mim": ""} + #--------------------------------------------------------------------------- @@ -35,4 +39,4 @@ class FoxitRule(MergeRule): rule = FoxitRule(name="Foxit Reader") gfilter.run_on(rule) grammar.add_rule(rule) - grammar.load() \ No newline at end of file + grammar.load() diff --git a/caster/apps/gitbash.py b/caster/apps/gitbash.py index 26d3e70e1..5893bfb17 100644 --- a/caster/apps/gitbash.py +++ b/caster/apps/gitbash.py @@ -9,8 +9,7 @@ """ #--------------------------------------------------------------------------- -from dragonfly import (Grammar, AppContext, Mimic, - Key, Text, Function) +from dragonfly import (Grammar, AppContext, Mimic, Key, Text, Function) from caster.lib import control from caster.lib import settings @@ -19,72 +18,112 @@ from caster.lib.dfplus.merge.mergerule import MergeRule from caster.lib.dfplus.state.short import R + def _apply(n): - if n!=0: - Text("stash@{"+str(int(n))+"}").execute() + if n != 0: + Text("stash@{" + str(int(n)) + "}").execute() + class GitBashRule(MergeRule): pronunciation = "git bash" mapping = { - "initialize repository": Text( "git init" )+Key("enter"), - "add": R(Key("g, i, t, space, a, d, d, space, dot, enter"), rdescript="GIT: Add All"), - "status": R(Key( "g, i, t, space, s, t, a, t, u, s, enter" ), rdescript="GIT: Status"), - "commit": R(Key( "g, i, t, space, c, o, m, m, i, t, space, minus, a, m, space, apostrophe, apostrophe, left"), rdescript="GIT: Commit"), - "bug fix commit ": R(Mimic("commit")+Text("fixes #%(n)d ")+Key("backspace"), rdescript="GIT: Bug Fix Commit"), - "reference commit ": R(Mimic("commit")+Text("refs #%(n)d ")+Key("backspace"), rdescript="GIT: Reference Commit"), - "checkout": R(Text( "git checkout " ), rdescript="GIT: Check Out"), - "branch": R(Text( "git branch" )+Key("enter"), rdescript="GIT: Branch"), - "remote": R(Text( "git remote " ), rdescript="GIT: Remote"), - "merge": R(Text( "git merge " ), rdescript="GIT: Merge"), - "merge tool": R(Text( "git mergetool")+Key("enter"), rdescript="GIT: Merge Tool"), - "fetch": R(Text( "git fetch" )+Key("enter"), rdescript="GIT: Fetch"), - - - "(get push | push)":R(Text( "git push" )+Key("enter"), rdescript="GIT: Push"), - "pull": R(Text( "git pull" )+Key("enter"), rdescript="GIT: Pull"), - "CD up": R(Text( "cd .." )+Key("enter"), rdescript="GIT: Up Directory"), - "CD": R(Text( "cd " ), rdescript="GIT: Navigate Directory"), - "list": R(Text( "ls" )+Key("enter"), rdescript="GIT: List"), - "make directory": R(Text( "mkdir " ), rdescript="GIT: Make Directory"), - - - - "undo [last] commit": R(Text("git reset --soft HEAD~1")+Key("enter"), rdescript="GIT: Undo Commit"), - "(undo changes | reset hard)": R(Text("git reset --hard")+Key("enter"), rdescript="GIT: Undo or Reset Since Last Commit"), - "stop tracking [file]": R(Text("git rm --cached FILENAME"), rdescript="GIT: Stop Tracking"), - "preview remove untracked": R(Text("git clean -nd")+Key("enter"), rdescript="GIT: Preview Remove Untracked"), - "remove untracked": R(Text("git clean -fd")+Key("enter"), rdescript="GIT: Remove Untracked"), - - "visualize": R(Text("gitk")+Key("enter"), rdescript="GIT: gitk"), - "visualize file": R(Text("gitk -- PATH"), rdescript="GIT: gitk Single File"), - "visualize all": R(Text("gitk --all")+Key("enter"), rdescript="GIT: gitk All Branches"), - - "exit": R(Text( "exit" )+Key("enter"), rdescript="GIT: Exit"), - - - - "stash": R(Text("git stash")+Key("enter"), rdescript="GIT: Stash"), - "stash apply []":R(Text("git stash apply")+Function(_apply), rdescript="GIT: Stash Apply"), - "stash list": R(Text("git stash list")+Key("enter"), rdescript="GIT: Stash List"), - "stash branch": R(Text("git stash branch NAME"), rdescript="GIT: Stash Branch"), - - "cherry pick": R(Text("git cherry-pick "), rdescript="GIT: Cherry Pick"), - "abort cherry pick":R(Text("git cherry-pick --abort"), rdescript="GIT: Abort Cherry Pick"), - - "GUI | gooey": R(Text("git gui")+Key("enter"), rdescript="GIT: gui"), - "blame": R(Text("git blame PATH -L FIRSTLINE,LASTLINE"), rdescript="GIT: Blame"), - "gooey blame": R(Text("git gui blame PATH"), rdescript="GIT: GUI Blame"), - - "search recursive": R(Text("grep -rinH \"PATTERN\" *"), rdescript="GREP: Search Recursive"), - "search recursive count": R(Text("grep -rinH \"PATTERN\" * | wc -l"), rdescript="GREP: Search Recursive Count"), - "search recursive filetype": R(Text("find . -name \"*.java\" -exec grep -rinH \"PATTERN\" {} \\;"), rdescript="GREP: Search Recursive Filetype"), - "to file": R(Text(" > FILENAME"), rdescript="Bash: To File"), - } + "initialize repository": + Text("git init") + Key("enter"), + "add": + R(Key("g, i, t, space, a, d, d, space, dot, enter"), + rdescript="GIT: Add All"), + "status": + R(Key("g, i, t, space, s, t, a, t, u, s, enter"), rdescript="GIT: Status"), + "commit": + R(Key( + "g, i, t, space, c, o, m, m, i, t, space, minus, a, m, space, apostrophe, apostrophe, left" + ), + rdescript="GIT: Commit"), + "bug fix commit ": + R(Mimic("commit") + Text("fixes #%(n)d ") + Key("backspace"), + rdescript="GIT: Bug Fix Commit"), + "reference commit ": + R(Mimic("commit") + Text("refs #%(n)d ") + Key("backspace"), + rdescript="GIT: Reference Commit"), + "checkout": + R(Text("git checkout "), rdescript="GIT: Check Out"), + "branch": + R(Text("git branch") + Key("enter"), rdescript="GIT: Branch"), + "remote": + R(Text("git remote "), rdescript="GIT: Remote"), + "merge": + R(Text("git merge "), rdescript="GIT: Merge"), + "merge tool": + R(Text("git mergetool") + Key("enter"), rdescript="GIT: Merge Tool"), + "fetch": + R(Text("git fetch") + Key("enter"), rdescript="GIT: Fetch"), + "(get push | push)": + R(Text("git push") + Key("enter"), rdescript="GIT: Push"), + "pull": + R(Text("git pull") + Key("enter"), rdescript="GIT: Pull"), + "CD up": + R(Text("cd ..") + Key("enter"), rdescript="GIT: Up Directory"), + "CD": + R(Text("cd "), rdescript="GIT: Navigate Directory"), + "list": + R(Text("ls") + Key("enter"), rdescript="GIT: List"), + "make directory": + R(Text("mkdir "), rdescript="GIT: Make Directory"), + "undo [last] commit": + R(Text("git reset --soft HEAD~1") + Key("enter"), + rdescript="GIT: Undo Commit"), + "(undo changes | reset hard)": + R(Text("git reset --hard") + Key("enter"), + rdescript="GIT: Undo or Reset Since Last Commit"), + "stop tracking [file]": + R(Text("git rm --cached FILENAME"), rdescript="GIT: Stop Tracking"), + "preview remove untracked": + R(Text("git clean -nd") + Key("enter"), + rdescript="GIT: Preview Remove Untracked"), + "remove untracked": + R(Text("git clean -fd") + Key("enter"), rdescript="GIT: Remove Untracked"), + "visualize": + R(Text("gitk") + Key("enter"), rdescript="GIT: gitk"), + "visualize file": + R(Text("gitk -- PATH"), rdescript="GIT: gitk Single File"), + "visualize all": + R(Text("gitk --all") + Key("enter"), rdescript="GIT: gitk All Branches"), + "exit": + R(Text("exit") + Key("enter"), rdescript="GIT: Exit"), + "stash": + R(Text("git stash") + Key("enter"), rdescript="GIT: Stash"), + "stash apply []": + R(Text("git stash apply") + Function(_apply), rdescript="GIT: Stash Apply"), + "stash list": + R(Text("git stash list") + Key("enter"), rdescript="GIT: Stash List"), + "stash branch": + R(Text("git stash branch NAME"), rdescript="GIT: Stash Branch"), + "cherry pick": + R(Text("git cherry-pick "), rdescript="GIT: Cherry Pick"), + "abort cherry pick": + R(Text("git cherry-pick --abort"), rdescript="GIT: Abort Cherry Pick"), + "GUI | gooey": + R(Text("git gui") + Key("enter"), rdescript="GIT: gui"), + "blame": + R(Text("git blame PATH -L FIRSTLINE,LASTLINE"), rdescript="GIT: Blame"), + "gooey blame": + R(Text("git gui blame PATH"), rdescript="GIT: GUI Blame"), + "search recursive": + R(Text("grep -rinH \"PATTERN\" *"), rdescript="GREP: Search Recursive"), + "search recursive count": + R(Text("grep -rinH \"PATTERN\" * | wc -l"), + rdescript="GREP: Search Recursive Count"), + "search recursive filetype": + R(Text("find . -name \"*.java\" -exec grep -rinH \"PATTERN\" {} \\;"), + rdescript="GREP: Search Recursive Filetype"), + "to file": + R(Text(" > FILENAME"), rdescript="Bash: To File"), + } extras = [ - IntegerRefST("n", 1, 10000), - ] - defaults ={"n": 0} + IntegerRefST("n", 1, 10000), + ] + defaults = {"n": 0} #--------------------------------------------------------------------------- diff --git a/caster/apps/griddouglas.py b/caster/apps/griddouglas.py index 14d405aae..8c4dd4c58 100644 --- a/caster/apps/griddouglas.py +++ b/caster/apps/griddouglas.py @@ -12,12 +12,13 @@ from caster.lib.dfplus.merge.mergerule import MergeRule from caster.lib.dfplus.state.short import R - _NEXUS = control.nexus() + def kill(nexus): nexus.comm.get_com("grids").kill() + def send_input(n, n2, action, nexus): s = nexus.comm.get_com("grids") s.move_mouse(int(n), int(n2)) @@ -29,24 +30,27 @@ def send_input(n, n2, action, nexus): elif int_a == 1: Playback([(["mouse", "right", "click"], 0.0)]).execute() + class GridControlRule(MergeRule): mapping = { - " [by] []": R(Function(send_input, nexus=_NEXUS), rdescript="Douglas Grid: Action"), - "exit | escape | cancel": R(Function(kill, nexus=_NEXUS), rdescript="Exit Douglas Grid"), - } + " [by] []": + R(Function(send_input, nexus=_NEXUS), rdescript="Douglas Grid: Action"), + "exit | escape | cancel": + R(Function(kill, nexus=_NEXUS), rdescript="Exit Douglas Grid"), + } extras = [ - IntegerRefST("n", 0, 300), - IntegerRefST("n2", 0, 300), - Choice("action", { - "kick": 0, - "psychic": 1, - } - ), - ] + IntegerRefST("n", 0, 300), + IntegerRefST("n2", 0, 300), + Choice("action", { + "kick": 0, + "psychic": 1, + }), + ] defaults = { - "action": -1, - } + "action": -1, + } + #--------------------------------------------------------------------------- @@ -57,4 +61,4 @@ class GridControlRule(MergeRule): rule = GridControlRule(name="Douglas") gfilter.run_on(rule) grammar.add_rule(rule) - grammar.load() \ No newline at end of file + grammar.load() diff --git a/caster/apps/gridlegion.py b/caster/apps/gridlegion.py index c04be5e9c..78b9df63d 100644 --- a/caster/apps/gridlegion.py +++ b/caster/apps/gridlegion.py @@ -3,11 +3,9 @@ """ - import time -from dragonfly import (Grammar, AppContext, Function, - Playback, Choice, MappingRule) +from dragonfly import (Grammar, AppContext, Function, Playback, Choice, MappingRule) import win32api import win32con @@ -19,35 +17,36 @@ from caster.lib.dfplus.merge.mergerule import MergeRule from caster.lib.dfplus.state.short import R - _NEXUS = control.nexus() + def kill(nexus): nexus.comm.get_com("grids").kill() + def send_input(n, action, nexus): s = nexus.comm.get_com("grids") - + int_a = int(action) response = None - + if int_a != 2: s.go(str(n)) elif int_a == 2: response = s.retrieve_data_for_highlight(str(int(n))) - + s.kill() grids.wait_for_death(settings.LEGION_TITLE) - + if int_a == 0: Playback([(["mouse", "left", "click"], 0.0)]).execute() elif int_a == 1: Playback([(["mouse", "right", "click"], 0.0)]).execute() elif int_a == 2: - x1 = response["l"]+2 + x1 = response["l"] + 2 x2 = response["r"] y = response["y"] - + win32api.SetCursorPos((x1, y)) win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN, x1, y, 0, 0) time.sleep(0.5) @@ -58,25 +57,26 @@ def send_input(n, action, nexus): class GridControlRule(MergeRule): mapping = { - " []": R(Function(send_input, nexus=_NEXUS), rdescript="Legion: Action"), - "refresh": R(Function(navigation.mouse_alternates, mode="legion", nexus=_NEXUS), rdescript="Legion: Refresh"), - "exit | escape | cancel": R(Function(kill, nexus=_NEXUS), rdescript="Exit Legion"), - - - } + " []": + R(Function(send_input, nexus=_NEXUS), rdescript="Legion: Action"), + "refresh": + R(Function(navigation.mouse_alternates, mode="legion", nexus=_NEXUS), + rdescript="Legion: Refresh"), + "exit | escape | cancel": + R(Function(kill, nexus=_NEXUS), rdescript="Exit Legion"), + } extras = [ - Choice("action", { - "kick": 0, - "psychic": 1, - "light": 2, - } - ), - IntegerRefST("n", 0, 1000), - - ] + Choice("action", { + "kick": 0, + "psychic": 1, + "light": 2, + }), + IntegerRefST("n", 0, 1000), + ] defaults = { - "action":-1, - } + "action": -1, + } + #--------------------------------------------------------------------------- diff --git a/caster/apps/gridrainbow.py b/caster/apps/gridrainbow.py index 200f00e67..0a0d3e3e8 100644 --- a/caster/apps/gridrainbow.py +++ b/caster/apps/gridrainbow.py @@ -3,7 +3,6 @@ """ - from dragonfly import (Grammar, AppContext, Function, Playback, Choice, MappingRule) from caster.asynch.mouse import grids @@ -14,14 +13,15 @@ from caster.lib.dfplus.merge.mergerule import MergeRule from caster.lib.dfplus.state.short import R - _NEXUS = control.nexus() + def kill(nexus): nexus.comm.get_com("grids").kill() + def send_input(pre, color, n, action, nexus): - s=nexus.comm.get_com("grids") + s = nexus.comm.get_com("grids") s.move_mouse(int(pre), int(color), int(n)) s.kill() grids.wait_for_death(settings.RAINBOW_TITLE) @@ -35,34 +35,33 @@ def send_input(pre, color, n, action, nexus): class GridControlRule(MergeRule): mapping = { - "[
]   []":   R(Function(send_input, nexus=_NEXUS), rdescript="Rainbow Grid: Action"),
-        "exit | escape | cancel":           R(Function(kill, nexus=_NEXUS), rdescript="Exit Rainbow Grid"),
-
-
-        }
+        "[
]   []":
+            R(Function(send_input, nexus=_NEXUS), rdescript="Rainbow Grid: Action"),
+        "exit | escape | cancel":
+            R(Function(kill, nexus=_NEXUS), rdescript="Exit Rainbow Grid"),
+    }
     extras = [
-              IntegerRefST("pre", 0, 9),
-              Choice("color", {
-                              "red": 0,
-                              "(orange | tan | brown)": 1,
-                              "yellow": 2,
-                              "green": 3,
-                              "blue": 4,
-                              "purple": 5
-                             }
-                    ),
-              Choice("action", {
-                              "kick": 0,
-                              "psychic": 1,
-                             }
-                    ),
-              IntegerRefST("n", 0, 100),
-              
-             ]
+        IntegerRefST("pre", 0, 9),
+        Choice(
+            "color", {
+                "red": 0,
+                "(orange | tan | brown)": 1,
+                "yellow": 2,
+                "green": 3,
+                "blue": 4,
+                "purple": 5
+            }),
+        Choice("action", {
+            "kick": 0,
+            "psychic": 1,
+        }),
+        IntegerRefST("n", 0, 100),
+    ]
     defaults = {
-            "pre": 0,
-            "action": -1,
-            }
+        "pre": 0,
+        "action": -1,
+    }
+
 
 #---------------------------------------------------------------------------
 
diff --git a/caster/apps/jetbrains.py b/caster/apps/jetbrains.py
index 245fa45e4..e16d89f5c 100644
--- a/caster/apps/jetbrains.py
+++ b/caster/apps/jetbrains.py
@@ -12,36 +12,56 @@ class JetbrainsRule(MergeRule):
     pronunciation = "jet brains"
 
     mapping = {
-        "quickfix":                 R(Key("a-enter"), rdescript="JetBrains: Quick Fix"),
-        "duplicate":                R(Key("c-d"), rdescript="JetBrains: Duplicate"),
-        "auto complete":            R(Key("cs-a"), rdescript="JetBrains: Auto Complete"),
-        "format code":              R(Key("ca-l"), rdescript="JetBrains: Format Code"),
-        "show doc":                 R(Key("c-q"), rdescript="JetBrains: Show Documentation"),
-        "show param":               R(Key("c-p"), rdescript="JetBrains: Show Parameters"),
-        "Jen method":               R(Key("a-insert"), rdescript="JetBrains: Generated Method"),
-        "jump to source":           R(Key("f4"), rdescript="JetBrains: Jump To Source"),
-        "delete line":              R(Key("c-y"), rdescript="JetBrains: Delete Line"),
-        "search symbol":            R(Key("cas-n"), rdescript="JetBrains: Search Symbol"),
-        "build":                    R(Key("c-f9"), rdescript="JetBrains: Build"),
-        "build and run":            R(Key("s-f10"), rdescript="JetBrains: Build And Run"),
-        "next tab":                 R(Key("a-right"), rdescript="JetBrains: Next Tab"),
-        "prior tab":                R(Key("a-left"), rdescript="JetBrains: Previous Tab"),
-        
-        "comment line":             R(Key("c-slash"), rdescript="JetBrains: Comment Line"), 
-        "uncomment line":           R(Key("cs-slash"), rdescript="JetBrains: Uncomment Line"), 
-        "select ex":                R(Key("c-w"), rdescript="JetBrains: untitled command"), 
-        "select ex down":           R(Key("cs-w"), rdescript="JetBrains: entitled command"),
-        "search everywhere":        R(Key("shift, shift"), rdescript="JetBrains: Search Everywhere"),
-        "find in current":          R(Key("cs-f"), rdescript="JetBrains: Find In Current"),
-        "go to line":               R(Key("c-g"), rdescript="JetBrains: Go To Line"), 
-        }
+        "quickfix":
+            R(Key("a-enter"), rdescript="JetBrains: Quick Fix"),
+        "duplicate":
+            R(Key("c-d"), rdescript="JetBrains: Duplicate"),
+        "auto complete":
+            R(Key("cs-a"), rdescript="JetBrains: Auto Complete"),
+        "format code":
+            R(Key("ca-l"), rdescript="JetBrains: Format Code"),
+        "show doc":
+            R(Key("c-q"), rdescript="JetBrains: Show Documentation"),
+        "show param":
+            R(Key("c-p"), rdescript="JetBrains: Show Parameters"),
+        "Jen method":
+            R(Key("a-insert"), rdescript="JetBrains: Generated Method"),
+        "jump to source":
+            R(Key("f4"), rdescript="JetBrains: Jump To Source"),
+        "delete line":
+            R(Key("c-y"), rdescript="JetBrains: Delete Line"),
+        "search symbol":
+            R(Key("cas-n"), rdescript="JetBrains: Search Symbol"),
+        "build":
+            R(Key("c-f9"), rdescript="JetBrains: Build"),
+        "build and run":
+            R(Key("s-f10"), rdescript="JetBrains: Build And Run"),
+        "next tab":
+            R(Key("a-right"), rdescript="JetBrains: Next Tab"),
+        "prior tab":
+            R(Key("a-left"), rdescript="JetBrains: Previous Tab"),
+        "comment line":
+            R(Key("c-slash"), rdescript="JetBrains: Comment Line"),
+        "uncomment line":
+            R(Key("cs-slash"), rdescript="JetBrains: Uncomment Line"),
+        "select ex":
+            R(Key("c-w"), rdescript="JetBrains: untitled command"),
+        "select ex down":
+            R(Key("cs-w"), rdescript="JetBrains: entitled command"),
+        "search everywhere":
+            R(Key("shift, shift"), rdescript="JetBrains: Search Everywhere"),
+        "find in current":
+            R(Key("cs-f"), rdescript="JetBrains: Find In Current"),
+        "go to line":
+            R(Key("c-g"), rdescript="JetBrains: Go To Line"),
+    }
     extras = [
-              Dictation("text"),
-              Dictation("mim"),
-              IntegerRefST("n", 1, 1000),
-              
-             ]
-    defaults = {"n": 1, "mim":""}
+        Dictation("text"),
+        Dictation("mim"),
+        IntegerRefST("n", 1, 1000),
+    ]
+    defaults = {"n": 1, "mim": ""}
+
 
 #---------------------------------------------------------------------------
 
@@ -58,4 +78,4 @@ class JetbrainsRule(MergeRule):
         rule = JetbrainsRule(name="jet brains")
         gfilter.run_on(rule)
         grammar.add_rule(rule)
-        grammar.load()
\ No newline at end of file
+        grammar.load()
diff --git a/caster/apps/kdiff3.py b/caster/apps/kdiff3.py
index 0b831c128..79964cdda 100644
--- a/caster/apps/kdiff3.py
+++ b/caster/apps/kdiff3.py
@@ -12,15 +12,15 @@ class KDiff3Rule(MergeRule):
     pronunciation = "K diff"
 
     mapping = {
-        "refresh":                          R(Key("f5"), rdescript="Refresh"),
-        }
+        "refresh": R(Key("f5"), rdescript="Refresh"),
+    }
     extras = [
-              Dictation("text"),
-              Dictation("mim"),
-              IntegerRefST("n", 1, 1000),
-              
-             ]
-    defaults = {"n": 1, "mim":""}
+        Dictation("text"),
+        Dictation("mim"),
+        IntegerRefST("n", 1, 1000),
+    ]
+    defaults = {"n": 1, "mim": ""}
+
 
 #---------------------------------------------------------------------------
 
@@ -34,4 +34,4 @@ class KDiff3Rule(MergeRule):
         rule = KDiff3Rule(name="kdiff3")
         gfilter.run_on(rule)
         grammar.add_rule(rule)
-        grammar.load()
\ No newline at end of file
+        grammar.load()
diff --git a/caster/apps/msvc.py b/caster/apps/msvc.py
index 90def7e01..69d58f2cc 100644
--- a/caster/apps/msvc.py
+++ b/caster/apps/msvc.py
@@ -23,41 +23,56 @@ class MSVCRule(MergeRule):
     pronunciation = "Microsoft visual studio"
 
     mapping = {
-        
-           
-            "cursor prior":                             R(Key("c-minus"), rdescript="MSVC: Cursor Prior"), 
-            "cursor next":                              R(Key("cs-minus"), rdescript="MSVC: Cursor Next"), 
-            "toggle fullscreen":                        R(Key("sa-enter"), rdescript="MSVC: Toggle Fullscreen"), 
-            "resolve":                                  R(Key("c-dot"), rdescript="MSVC: Resolve"), 
-            "jump to source":                           R(Key("f12"), rdescript="MSVC: Jump To Source"), 
-            "snippet":                                  R(Key("tab"), rdescript="MSVC: Snippet"), 
-             
-            "step over []":                          R(Key("f10/50") * Repeat(extra="n"), rdescript="MSVC: Step Over"),
-            "step into":                                R(Key("f11"), rdescript="MSVC: Step Into"),
-            "step out [of]":                            R(Key("s-f11"), rdescript="MSVC: Step Out"),
-            "resume":                                   R(Key("f8"), rdescript="MSVC: Resume"),
-            "build [last]":                             R(Key("ca-f7"), rdescript="MSVC: Build"),
-            "debug [last]":                             R(Key("f5"), rdescript="MSVC: Debug"),
-            "comment out":                              R(Key("c-k/50, c-c"), rdescript="MSVC: Comment Out"),
-            "on comment out":                           R(Key("c-k/50, c-u"), rdescript="MSVC: Uncomment Out"),
-            
-            "set bookmark":                             R(Key("c-k, c-k"), rdescript="MSVC: Set Bookmark"), 
-            "next bookmark":                            R(Key("c-k, c-n"), rdescript="MSVC: Next Bookmark"), 
-            "breakpoint":                               R(Key("f9"), rdescript="MSVC: Breakpoint"),
-            
-            "format code":                              R(Key("cs-f"), rdescript="MSVC: Format Code"),
-            "(do imports | import all)":                R(Key("cs-o"), rdescript="MSVC: Do Imports"),
-            "comment line":                             R(Key("c-slash"), rdescript="MSVC: Comment Line"),
-            
-            "go to line":                               R(Key("c-g"), rdescript="MSVC: Go To Line"), 
-        }
+        "cursor prior":
+            R(Key("c-minus"), rdescript="MSVC: Cursor Prior"),
+        "cursor next":
+            R(Key("cs-minus"), rdescript="MSVC: Cursor Next"),
+        "toggle fullscreen":
+            R(Key("sa-enter"), rdescript="MSVC: Toggle Fullscreen"),
+        "resolve":
+            R(Key("c-dot"), rdescript="MSVC: Resolve"),
+        "jump to source":
+            R(Key("f12"), rdescript="MSVC: Jump To Source"),
+        "snippet":
+            R(Key("tab"), rdescript="MSVC: Snippet"),
+        "step over []":
+            R(Key("f10/50")*Repeat(extra="n"), rdescript="MSVC: Step Over"),
+        "step into":
+            R(Key("f11"), rdescript="MSVC: Step Into"),
+        "step out [of]":
+            R(Key("s-f11"), rdescript="MSVC: Step Out"),
+        "resume":
+            R(Key("f8"), rdescript="MSVC: Resume"),
+        "build [last]":
+            R(Key("ca-f7"), rdescript="MSVC: Build"),
+        "debug [last]":
+            R(Key("f5"), rdescript="MSVC: Debug"),
+        "comment out":
+            R(Key("c-k/50, c-c"), rdescript="MSVC: Comment Out"),
+        "on comment out":
+            R(Key("c-k/50, c-u"), rdescript="MSVC: Uncomment Out"),
+        "set bookmark":
+            R(Key("c-k, c-k"), rdescript="MSVC: Set Bookmark"),
+        "next bookmark":
+            R(Key("c-k, c-n"), rdescript="MSVC: Next Bookmark"),
+        "breakpoint":
+            R(Key("f9"), rdescript="MSVC: Breakpoint"),
+        "format code":
+            R(Key("cs-f"), rdescript="MSVC: Format Code"),
+        "(do imports | import all)":
+            R(Key("cs-o"), rdescript="MSVC: Do Imports"),
+        "comment line":
+            R(Key("c-slash"), rdescript="MSVC: Comment Line"),
+        "go to line":
+            R(Key("c-g"), rdescript="MSVC: Go To Line"),
+    }
     extras = [
-              Dictation("text"),
-              IntegerRefST("n", 1, 1000),
-              
-             ]
+        Dictation("text"),
+        IntegerRefST("n", 1, 1000),
+    ]
     defaults = {"n": 1}
 
+
 #---------------------------------------------------------------------------
 
 context = AppContext(executable="WDExpress")
@@ -70,4 +85,4 @@ class MSVCRule(MergeRule):
         rule = MSVCRule(name="M S V C")
         gfilter.run_on(rule)
         grammar.add_rule(rule)
-        grammar.load()
\ No newline at end of file
+        grammar.load()
diff --git a/caster/apps/notepadplusplus.py b/caster/apps/notepadplusplus.py
index 1b2b8f66b..be25f0e82 100644
--- a/caster/apps/notepadplusplus.py
+++ b/caster/apps/notepadplusplus.py
@@ -23,22 +23,28 @@ class NPPRule(MergeRule):
     pronunciation = "notepad plus plus"
 
     mapping = {
-            "stylize ":                         R(Mouse("right")+Key("down:6/5, right")+(Key("down") * Repeat(extra="n2"))+Key("enter"), rdescript="Notepad++: Stylize"),
-            "remove style":                         R(Mouse("right")+Key("down:6/5, right/5, down:5/5, enter"), rdescript="Notepad++: Remove Style"),
-            
-            "preview in browser":                   R(Key("cas-r"), rdescript="Notepad++: Preview In Browser"),
-            
-            # requires function list plug-in:
-            "function list":                        R(Key("cas-l"), rdescript="Notepad++: Function List"),
-        }
+        "stylize ":
+            R(Mouse("right") + Key("down:6/5, right") +
+              (Key("down")*Repeat(extra="n2")) + Key("enter"),
+              rdescript="Notepad++: Stylize"),
+        "remove style":
+            R(Mouse("right") + Key("down:6/5, right/5, down:5/5, enter"),
+              rdescript="Notepad++: Remove Style"),
+        "preview in browser":
+            R(Key("cas-r"), rdescript="Notepad++: Preview In Browser"),
+
+        # requires function list plug-in:
+        "function list":
+            R(Key("cas-l"), rdescript="Notepad++: Function List"),
+    }
     extras = [
-              Dictation("text"),
-              IntegerRefST("n", 1, 100),
-              IntegerRefST("n2", 1, 10),
-              
-             ]
+        Dictation("text"),
+        IntegerRefST("n", 1, 100),
+        IntegerRefST("n2", 1, 10),
+    ]
     defaults = {"n": 1}
 
+
 #---------------------------------------------------------------------------
 
 context = AppContext(executable="notepad++")
diff --git a/caster/apps/sqldeveloper.py b/caster/apps/sqldeveloper.py
index 5d59cf473..bb092345f 100644
--- a/caster/apps/sqldeveloper.py
+++ b/caster/apps/sqldeveloper.py
@@ -23,21 +23,20 @@ class SQLDeveloperRule(MergeRule):
     pronunciation = "sequel developer"
 
     mapping = {
-            "run this query":                       R(Key("f9"), rdescript="SQL Dev: Run Query"),
-            "format code":                          R(Key("c-f7"), rdescript="SQL Dev: Format Code"),
-            "comment line":                         R(Key("c-slash"), rdescript="SQL Dev: Comment Line"),
-            
-        }
+        "run this query": R(Key("f9"), rdescript="SQL Dev: Run Query"),
+        "format code": R(Key("c-f7"), rdescript="SQL Dev: Format Code"),
+        "comment line": R(Key("c-slash"), rdescript="SQL Dev: Comment Line"),
+    }
     extras = [
-              Dictation("text"),
-              IntegerRefST("n", 1, 1000),
-              
-             ]
+        Dictation("text"),
+        IntegerRefST("n", 1, 1000),
+    ]
     defaults = {"n": 1}
 
+
 #---------------------------------------------------------------------------
 
-context = AppContext(executable="sqldeveloper64W", title="SQL Developer") 
+context = AppContext(executable="sqldeveloper64W", title="SQL Developer")
 grammar = Grammar("Sql Developer", context=context)
 
 if settings.SETTINGS["apps"]["sqldeveloper"]:
@@ -47,4 +46,4 @@ class SQLDeveloperRule(MergeRule):
         rule = SQLDeveloperRule(name="sql developer")
         gfilter.run_on(rule)
         grammar.add_rule(rule)
-        grammar.load()
\ No newline at end of file
+        grammar.load()
diff --git a/caster/apps/ssms.py b/caster/apps/ssms.py
index 448b96f8f..87b62e552 100644
--- a/caster/apps/ssms.py
+++ b/caster/apps/ssms.py
@@ -13,33 +13,48 @@ class SSMSRule(MergeRule):
 
     mapping = {
         # There doesn't seem to be a hotkey for sequential tab navigation in SSMS, but something is better than nothing...
-        "next tab []":               R(Key("c-tab"), rdescript="SSMS: Next Tab") * Repeat(extra="n"),
-        "prior tab []":              R(Key("cs-tab"), rdescript="SSMS: Previous Tab") * Repeat(extra="n"),
-        "close tab []":              R(Key("c-f4/20"), rdescript="SSMS: Close Tab") * Repeat(extra="n"),
-        
-        "go to line":                   R(Key("c-g"), rdescript="SSMS: Go To Line"),
-        
-        "comment line":                 R(Key("c-k, c-c"), rdescript="SSMS: Comment Selection"),
-        "comment block":                R(Key("c-k, c-c"), rdescript="SSMS: Comment Block"),
-        "(un | on) comment line":       R(Key("c-k/50, c-u"), rdescript="SSMS: Uncomment Selection"),
-        "(un | on) comment block":      R(Key("c-k/50, c-u"), rdescript="SSMS: Uncomment Block"),
-        "[toggle] full screen":         R(Key("sa-enter"), rdescript="SSMS: Fullscreen"),
-        "(set | toggle) bookmark":      R(Key("c-k, c-k"), rdescript="SSMS: Toggle Bookmark"),
-        "next bookmark":                R(Key("c-k, c-n"), rdescript="SSMS: Next Bookmark"),
-        "prior bookmark":               R(Key("c-k, c-p"), rdescript="SSMS: Previous Bookmark"),
-        "[toggle] breakpoint":          R(Key("f9"), rdescript="SSMS: Breakpoint"),
-        
-        "step over []":              R(Key("f10/50") * Repeat(extra="n"), rdescript="SSMS: Step Over"),
-        "step into":                    R(Key("f11"), rdescript="SSMS: Step Into"),
-        "step out [of]":                R(Key("s-f11"), rdescript="SSMS: Step Out"),
-        "resume":                       R(Key("f5"), rdescript="SSMS: Resume"),
-        }
+        "next tab []":
+            R(Key("c-tab"), rdescript="SSMS: Next Tab")*Repeat(extra="n"),
+        "prior tab []":
+            R(Key("cs-tab"), rdescript="SSMS: Previous Tab")*Repeat(extra="n"),
+        "close tab []":
+            R(Key("c-f4/20"), rdescript="SSMS: Close Tab")*Repeat(extra="n"),
+        "go to line":
+            R(Key("c-g"), rdescript="SSMS: Go To Line"),
+        "comment line":
+            R(Key("c-k, c-c"), rdescript="SSMS: Comment Selection"),
+        "comment block":
+            R(Key("c-k, c-c"), rdescript="SSMS: Comment Block"),
+        "(un | on) comment line":
+            R(Key("c-k/50, c-u"), rdescript="SSMS: Uncomment Selection"),
+        "(un | on) comment block":
+            R(Key("c-k/50, c-u"), rdescript="SSMS: Uncomment Block"),
+        "[toggle] full screen":
+            R(Key("sa-enter"), rdescript="SSMS: Fullscreen"),
+        "(set | toggle) bookmark":
+            R(Key("c-k, c-k"), rdescript="SSMS: Toggle Bookmark"),
+        "next bookmark":
+            R(Key("c-k, c-n"), rdescript="SSMS: Next Bookmark"),
+        "prior bookmark":
+            R(Key("c-k, c-p"), rdescript="SSMS: Previous Bookmark"),
+        "[toggle] breakpoint":
+            R(Key("f9"), rdescript="SSMS: Breakpoint"),
+        "step over []":
+            R(Key("f10/50")*Repeat(extra="n"), rdescript="SSMS: Step Over"),
+        "step into":
+            R(Key("f11"), rdescript="SSMS: Step Into"),
+        "step out [of]":
+            R(Key("s-f11"), rdescript="SSMS: Step Out"),
+        "resume":
+            R(Key("f5"), rdescript="SSMS: Resume"),
+    }
     extras = [
-              Dictation("text"),
-              Dictation("mim"),
-              IntegerRefST("n", 1, 1000),
-             ]
-    defaults = {"n": 1, "mim":""}
+        Dictation("text"),
+        Dictation("mim"),
+        IntegerRefST("n", 1, 1000),
+    ]
+    defaults = {"n": 1, "mim": ""}
+
 
 #---------------------------------------------------------------------------
 
@@ -53,4 +68,4 @@ class SSMSRule(MergeRule):
         rule = SSMSRule(name="ssms")
         gfilter.run_on(rule)
         grammar.add_rule(rule)
-        grammar.load()
\ No newline at end of file
+        grammar.load()
diff --git a/caster/apps/sublime.py b/caster/apps/sublime.py
index 0ff82bd8e..e004fa3f0 100644
--- a/caster/apps/sublime.py
+++ b/caster/apps/sublime.py
@@ -12,29 +12,38 @@ class SublimeRule(MergeRule):
     pronunciation = "sublime"
 
     mapping = {
-        "go to line":               R(Key("c-g"), rdescript="Sublime: Go To Line"),
-        "go to symbol":             R(Key("c-r"), rdescript="Sublime: Go To Symbol"), 
-        "go to word":               R(Key("c-semicolon"), rdescript="Sublime: Go To Word"), 
-        
-        "transform upper":          R(Key("control:down, k, u, control:up"), rdescript="Sublime: Transform Upper"), 
-        "transform lower":          R(Key("control:down, k, l, control:up"), rdescript="Sublime: Transform Lower"),
-        
-        "comment line":             R(Key("c-slash"), rdescript="Sublime: Comment Line"), 
-        "comment block":            R(Key("cs-slash"), rdescript="Sublime: Comment Block"), 
-        "full screen":              R(Key("f11"), rdescript="Sublime: Fullscreen"), 
-        "set bookmark":             R(Key("c-f2"), rdescript="Sublime: Set Bookmark"), 
-        "next bookmark":            R(Key("f2"), rdescript="Sublime: Next Bookmark"), 
-        
-        "open file":                R(Key("c-p"), rdescript="Sublime: Open File"), 
-
-        }
+        "go to line":
+            R(Key("c-g"), rdescript="Sublime: Go To Line"),
+        "go to symbol":
+            R(Key("c-r"), rdescript="Sublime: Go To Symbol"),
+        "go to word":
+            R(Key("c-semicolon"), rdescript="Sublime: Go To Word"),
+        "transform upper":
+            R(Key("control:down, k, u, control:up"),
+              rdescript="Sublime: Transform Upper"),
+        "transform lower":
+            R(Key("control:down, k, l, control:up"),
+              rdescript="Sublime: Transform Lower"),
+        "comment line":
+            R(Key("c-slash"), rdescript="Sublime: Comment Line"),
+        "comment block":
+            R(Key("cs-slash"), rdescript="Sublime: Comment Block"),
+        "full screen":
+            R(Key("f11"), rdescript="Sublime: Fullscreen"),
+        "set bookmark":
+            R(Key("c-f2"), rdescript="Sublime: Set Bookmark"),
+        "next bookmark":
+            R(Key("f2"), rdescript="Sublime: Next Bookmark"),
+        "open file":
+            R(Key("c-p"), rdescript="Sublime: Open File"),
+    }
     extras = [
-              Dictation("text"),
-              Dictation("mim"),
-              IntegerRefST("n", 1, 1000),
-              
-             ]
-    defaults = {"n": 1, "mim":""}
+        Dictation("text"),
+        Dictation("mim"),
+        IntegerRefST("n", 1, 1000),
+    ]
+    defaults = {"n": 1, "mim": ""}
+
 
 #---------------------------------------------------------------------------
 
@@ -48,4 +57,4 @@ class SublimeRule(MergeRule):
         rule = SublimeRule(name="sublime")
         gfilter.run_on(rule)
         grammar.add_rule(rule)
-        grammar.load()
\ No newline at end of file
+        grammar.load()
diff --git a/caster/apps/visualstudio.py b/caster/apps/visualstudio.py
index 06994bb85..77a79be99 100644
--- a/caster/apps/visualstudio.py
+++ b/caster/apps/visualstudio.py
@@ -12,57 +12,85 @@ class VisualStudioRule(MergeRule):
     pronunciation = "visual studio"
 
     mapping = {
-        "next tab []":               R(Key("ca-pgdown"), rdescript="Visual Studio: Next Tab") * Repeat(extra="n"),
-        "prior tab []":              R(Key("ca-pgup"), rdescript="Visual Studio: Previous Tab") * Repeat(extra="n"),
-        "close tab []":              R(Key("c-f4/20"), rdescript="Visual Studio: Close Tab") * Repeat(extra="n"),
-
-        "(list | show) documents":      R(Key("a-w, w"), rdescript="Visual Studio: List Documents"),
-        "[focus] document (window | pane)": R(Key("a-w, w, enter"), rdescript="Visual Studio: Focus Document Pane"),
-        "solution explorer":            R(Key("ca-l"), rdescript="Visual Studio: Solution Explorer"),
-        "team explorer":                R(Key("c-backslash, c-m"), rdescript="Visual Studio: Team Explorer"),
-        "source control explorer":      R(Key("c-q") + Text("Source Control Explorer") + Key("enter"), rdescript="Visual Studio: Source Control Explorer"),
-
-        "quick launch":                 R(Key("c-q"), rdescript="Visual Studio: Quick Launch"),
-        "go to line":                   R(Key("c-g"), rdescript="Visual Studio: Go To Line"),
-
-        "comment line":                 R(Key("c-k, c-c"), rdescript="Visual Studio: Comment Selection"),
-        "comment block":                R(Key("c-k, c-c"), rdescript="Visual Studio: Comment Block"),
-        "(un | on) comment line":       R(Key("c-k/50, c-u"), rdescript="Visual Studio: Uncomment Selection"),
-        "(un | on) comment block":      R(Key("c-k/50, c-u"), rdescript="Visual Studio: Uncomment Block"),
-        "[toggle] full screen":         R(Key("sa-enter"), rdescript="Visual Studio: Fullscreen"),
-        "(set | toggle) bookmark":      R(Key("c-k, c-k"), rdescript="Visual Studio: Toggle Bookmark"),
-        "next bookmark":                R(Key("c-k, c-n"), rdescript="Visual Studio: Next Bookmark"),
-        "prior bookmark":               R(Key("c-k, c-p"), rdescript="Visual Studio: Previous Bookmark"),
-        "collapse to definitions":      R(Key("c-m, c-o"), rdescript="Visual Studio: Collapse To Definitions"),
-        "toggle [section] outlining":   R(Key("c-m, c-m"), rdescript="Visual Studio: Toggle Section Outlining"),
-        "toggle all outlining":         R(Key("c-m, c-l"), rdescript="Visual Studio: Toggle All Outlining"),
-
-        "[toggle] breakpoint":          R(Key("f9"), rdescript="Visual Studio: Breakpoint"),
-        "step over []":              R(Key("f10/50") * Repeat(extra="n"), rdescript="Visual Studio: Step Over"),
-        "step into":                    R(Key("f11"), rdescript="Visual Studio: Step Into"),
-        "step out [of]":                R(Key("s-f11"), rdescript="Visual Studio: Step Out"),
-        "resume":                       R(Key("f5"), rdescript="Visual Studio: Resume"),
-
-        "run tests":                    R(Key("c-r, t"), rdescript="Visual Studio: Run test(s)"),
-        "run all tests":                R(Key("c-r, a"), rdescript="Visual Studio: Run all tests"),
-
-        "build solution":               R(Key("cs-b"), rdescript="Visual Studio: Build solution"),
-
-        "get latest [version]":         R(Key("a-f, r, l"), rdescript="Visual Studio: Get Latest"),
-        "(show | view) history":        R(Key("a-f, r, h"), rdescript="Visual Studio: Show History"),
-        "compare (files | versions)":   R(Key("a-f, r, h"), rdescript="Visual Studio: Compare..."),
-        "undo (checkout | pending changes)": R(Key("a-f, r, u"), rdescript="Visual Studio: Undo Pending Changes"),
-
-        "[open] [go to] work item":     R(Key("a-m, g"), rdescript="Visual Studio: Open Work Item"),
-        "[add] [new] linked work item": R(Key("sa-l"), rdescript="Visual Studio: New Linked Work Item"),
-        }
+        "next tab []":
+            R(Key("ca-pgdown"), rdescript="Visual Studio: Next Tab")*Repeat(extra="n"),
+        "prior tab []":
+            R(Key("ca-pgup"), rdescript="Visual Studio: Previous Tab")*Repeat(extra="n"),
+        "close tab []":
+            R(Key("c-f4/20"), rdescript="Visual Studio: Close Tab")*Repeat(extra="n"),
+        "(list | show) documents":
+            R(Key("a-w, w"), rdescript="Visual Studio: List Documents"),
+        "[focus] document (window | pane)":
+            R(Key("a-w, w, enter"), rdescript="Visual Studio: Focus Document Pane"),
+        "solution explorer":
+            R(Key("ca-l"), rdescript="Visual Studio: Solution Explorer"),
+        "team explorer":
+            R(Key("c-backslash, c-m"), rdescript="Visual Studio: Team Explorer"),
+        "source control explorer":
+            R(Key("c-q") + Text("Source Control Explorer") + Key("enter"),
+              rdescript="Visual Studio: Source Control Explorer"),
+        "quick launch":
+            R(Key("c-q"), rdescript="Visual Studio: Quick Launch"),
+        "go to line":
+            R(Key("c-g"), rdescript="Visual Studio: Go To Line"),
+        "comment line":
+            R(Key("c-k, c-c"), rdescript="Visual Studio: Comment Selection"),
+        "comment block":
+            R(Key("c-k, c-c"), rdescript="Visual Studio: Comment Block"),
+        "(un | on) comment line":
+            R(Key("c-k/50, c-u"), rdescript="Visual Studio: Uncomment Selection"),
+        "(un | on) comment block":
+            R(Key("c-k/50, c-u"), rdescript="Visual Studio: Uncomment Block"),
+        "[toggle] full screen":
+            R(Key("sa-enter"), rdescript="Visual Studio: Fullscreen"),
+        "(set | toggle) bookmark":
+            R(Key("c-k, c-k"), rdescript="Visual Studio: Toggle Bookmark"),
+        "next bookmark":
+            R(Key("c-k, c-n"), rdescript="Visual Studio: Next Bookmark"),
+        "prior bookmark":
+            R(Key("c-k, c-p"), rdescript="Visual Studio: Previous Bookmark"),
+        "collapse to definitions":
+            R(Key("c-m, c-o"), rdescript="Visual Studio: Collapse To Definitions"),
+        "toggle [section] outlining":
+            R(Key("c-m, c-m"), rdescript="Visual Studio: Toggle Section Outlining"),
+        "toggle all outlining":
+            R(Key("c-m, c-l"), rdescript="Visual Studio: Toggle All Outlining"),
+        "[toggle] breakpoint":
+            R(Key("f9"), rdescript="Visual Studio: Breakpoint"),
+        "step over []":
+            R(Key("f10/50")*Repeat(extra="n"), rdescript="Visual Studio: Step Over"),
+        "step into":
+            R(Key("f11"), rdescript="Visual Studio: Step Into"),
+        "step out [of]":
+            R(Key("s-f11"), rdescript="Visual Studio: Step Out"),
+        "resume":
+            R(Key("f5"), rdescript="Visual Studio: Resume"),
+        "run tests":
+            R(Key("c-r, t"), rdescript="Visual Studio: Run test(s)"),
+        "run all tests":
+            R(Key("c-r, a"), rdescript="Visual Studio: Run all tests"),
+        "build solution":
+            R(Key("cs-b"), rdescript="Visual Studio: Build solution"),
+        "get latest [version]":
+            R(Key("a-f, r, l"), rdescript="Visual Studio: Get Latest"),
+        "(show | view) history":
+            R(Key("a-f, r, h"), rdescript="Visual Studio: Show History"),
+        "compare (files | versions)":
+            R(Key("a-f, r, h"), rdescript="Visual Studio: Compare..."),
+        "undo (checkout | pending changes)":
+            R(Key("a-f, r, u"), rdescript="Visual Studio: Undo Pending Changes"),
+        "[open] [go to] work item":
+            R(Key("a-m, g"), rdescript="Visual Studio: Open Work Item"),
+        "[add] [new] linked work item":
+            R(Key("sa-l"), rdescript="Visual Studio: New Linked Work Item"),
+    }
     extras = [
-              Dictation("text"),
-              Dictation("mim"),
-              IntegerRefST("n", 1, 1000),
-              
-             ]
-    defaults = {"n": 1, "mim":""}
+        Dictation("text"),
+        Dictation("mim"),
+        IntegerRefST("n", 1, 1000),
+    ]
+    defaults = {"n": 1, "mim": ""}
+
 
 #---------------------------------------------------------------------------
 
@@ -76,4 +104,4 @@ class VisualStudioRule(MergeRule):
         rule = VisualStudioRule(name="visualstudio")
         gfilter.run_on(rule)
         grammar.add_rule(rule)
-        grammar.load()
\ No newline at end of file
+        grammar.load()
diff --git a/caster/apps/vscode.py b/caster/apps/vscode.py
index 35157b858..8724de614 100644
--- a/caster/apps/vscode.py
+++ b/caster/apps/vscode.py
@@ -7,16 +7,18 @@
 from caster.lib.dfplus.merge.mergerule import MergeRule
 from caster.lib.dfplus.state.short import R
 
+
 def findNthToken(text, n, direction):
-        Key("c-f").execute()
-        Text("%(text)s").execute({"text": text})
-        if direction == "reverse":
-            print("yeah? %(n)d")
-            Key("s-enter:%(n)d").execute()
-        else:
-            Key("enter:%(n)d").execute()
-            print("no? %(n)d")
-        Key('escape').execute()
+    Key("c-f").execute()
+    Text("%(text)s").execute({"text": text})
+    if direction == "reverse":
+        print("yeah? %(n)d")
+        Key("s-enter:%(n)d").execute()
+    else:
+        Key("enter:%(n)d").execute()
+        print("no? %(n)d")
+    Key('escape').execute()
+
 
 class VisualStudioCodeRule(MergeRule):
     pronunciation = "visual studio code"
@@ -24,64 +26,100 @@ class VisualStudioCodeRule(MergeRule):
     mapping = {
         ### ported from my dragonfly scripts
         # File management
-        "[open] command palette": R(Key("cs-p"), rdescript="Visual Studio Code: Command Palette"),
-        "(Open [file] | Go to [tab]) []": R(Key("c-p") + Text("%(text)s"), rdescript="Visual Studio Code: Go To File"),
-        "Close tab": R(Key("c-w"), rdescript="Visual Studio Code: Close Tab"),
-        "Save file": R(Key("c-s"), rdescript="Visual Studio Code: Save File"),
-        "Save and close": R(Key("c-s/10, c-w"), rdescript="Visual Studio Code: Save And Close File"),
-       
+        "[open] command palette":
+            R(Key("cs-p"), rdescript="Visual Studio Code: Command Palette"),
+        "(Open [file] | Go to [tab]) []":
+            R(Key("c-p") + Text("%(text)s"), rdescript="Visual Studio Code: Go To File"),
+        "Close tab":
+            R(Key("c-w"), rdescript="Visual Studio Code: Close Tab"),
+        "Save file":
+            R(Key("c-s"), rdescript="Visual Studio Code: Save File"),
+        "Save and close":
+            R(Key("c-s/10, c-w"), rdescript="Visual Studio Code: Save And Close File"),
+
         # Search
-        "(search | find in) [all] (files | codebase)": R(Key("cs-f"), rdescript="Visual Studio Code: Find in Codebase"),
-        "(search | find) [file]": R(Key("c-f"), rdescript="Visual Studio Code: Find in File"),
-        "(Find | Jump [to]) next ": R(Function(findNthToken, n=1, direction="forward"), rdescript="Visual Studio Code: Find Next"),
-        "(Find | Jump [to]) previous ": R(Function(findNthToken, n=1, direction="reverse"), rdescript="Visual Studio Code: Find Previous"),
+        "(search | find in) [all] (files | codebase)":
+            R(Key("cs-f"), rdescript="Visual Studio Code: Find in Codebase"),
+        "(search | find) [file]":
+            R(Key("c-f"), rdescript="Visual Studio Code: Find in File"),
+        "(Find | Jump [to]) next ":
+            R(Function(findNthToken, n=1, direction="forward"),
+              rdescript="Visual Studio Code: Find Next"),
+        "(Find | Jump [to]) previous ":
+            R(Function(findNthToken, n=1, direction="reverse"),
+              rdescript="Visual Studio Code: Find Previous"),
 
-        # Tab management       
-        "nexta []": R(Key("c-pgdown"), rdescript="Visual Studio Code: Next Tab") * Repeat(extra="n"),  # These would be next and previous tab but i have a conflict with chrome
-        "prexta []": R(Key("c-pgup"), rdescript="Visual Studio Code: Previous Tab") * Repeat(extra="n"),
-        "Close tab": R(Key("c-f4"), rdescript="Visual Studio Code: Close Tab"),
-        "Exit preview": R(Key("space, c-z"), rdescript="Visual Studio Code: Exit Preview"),
+        # Tab management
+        "nexta []":
+            R(Key("c-pgdown"), rdescript="Visual Studio Code: Next Tab")*Repeat(
+                extra="n"
+            ),  # These would be next and previous tab but i have a conflict with chrome
+        "prexta []":
+            R(Key("c-pgup"), rdescript="Visual Studio Code: Previous Tab")*
+            Repeat(extra="n"),
+        "Close tab":
+            R(Key("c-f4"), rdescript="Visual Studio Code: Close Tab"),
+        "Exit preview":
+            R(Key("space, c-z"), rdescript="Visual Studio Code: Exit Preview"),
 
         # moving around a file
-        "(go to | jump | jump to) line ": R(Key("c-g") + Text("%(n)d") + Key("enter"), rdescript="Visual Studio Code: Go to Line"),
-        "Go to definition": R(Key("f12"), rdescript="Visual Studio Code: Go to Definition"),
-        "Go to required definition": R(Key("c-f12:2, c-right:5, left/50, f12"), rdescript="Visual Studio Code: Go to Required Definition"),
-        "Go to (top | first line)": R(Key("c-home"), rdescript="Visual Studio Code: Go to Top"),
-        "Go to ( bottom | last line)": R(Key("c-end"), rdescript="Visual Studio Code: Go to Bottom"),
-        "ee-ol": R(Key("end"), rdescript="Visual Studio Code: End Of Line"),
-        "beol": R(Key("home"), rdescript="Visual Studio Code: Beginning of Line"),
-        "Go back []": R(Key("a-left"), rdescript="Visual Studio Code: Go Back") * Repeat(extra="n"),
-        "Go forward []": R(Key("a-right"), rdescript="Visual Studio Code: Go Forward") * Repeat(extra="n"),
+        "(go to | jump | jump to) line ":
+            R(Key("c-g") + Text("%(n)d") + Key("enter"),
+              rdescript="Visual Studio Code: Go to Line"),
+        "Go to definition":
+            R(Key("f12"), rdescript="Visual Studio Code: Go to Definition"),
+        "Go to required definition":
+            R(Key("c-f12:2, c-right:5, left/50, f12"),
+              rdescript="Visual Studio Code: Go to Required Definition"),
+        "Go to (top | first line)":
+            R(Key("c-home"), rdescript="Visual Studio Code: Go to Top"),
+        "Go to ( bottom | last line)":
+            R(Key("c-end"), rdescript="Visual Studio Code: Go to Bottom"),
+        "ee-ol":
+            R(Key("end"), rdescript="Visual Studio Code: End Of Line"),
+        "beol":
+            R(Key("home"), rdescript="Visual Studio Code: Beginning of Line"),
+        "Go back []":
+            R(Key("a-left"), rdescript="Visual Studio Code: Go Back")*Repeat(extra="n"),
+        "Go forward []":
+            R(Key("a-right"), rdescript="Visual Studio Code: Go Forward")*
+            Repeat(extra="n"),
 
         # Formatting
-        "indent []": R(Key("tab"), rdescript="Visual Studio Code: Indent") * Repeat(extra="n"),
-        "Unindent []": R(Key("s-tab"), rdescript="Visual Studio Code: Unindent") * Repeat(extra="n"),
-        "Comment": R(Key("c-slash"), rdescript="Visual Studio Code: Line Comment"),
-        "Block comment": R(Key("sa-a"), rdescript="Visual Studio Code: Block Comment"),
+        "indent []":
+            R(Key("tab"), rdescript="Visual Studio Code: Indent")*Repeat(extra="n"),
+        "Unindent []":
+            R(Key("s-tab"), rdescript="Visual Studio Code: Unindent")*Repeat(extra="n"),
+        "Comment":
+            R(Key("c-slash"), rdescript="Visual Studio Code: Line Comment"),
+        "Block comment":
+            R(Key("sa-a"), rdescript="Visual Studio Code: Block Comment"),
 
         # Window Management
-        "[toggle] full screen":         R(Key("f11"), rdescript="Visual Studio Code:Fullscreen"),        
-        "[toggle] Zen mode":            R(Key("c-k/3, z")),
-
+        "[toggle] full screen":
+            R(Key("f11"), rdescript="Visual Studio Code:Fullscreen"),
+        "[toggle] Zen mode":
+            R(Key("c-k/3, z")),
 
         # Debugging
-        "[toggle] breakpoint":          R(Key("f9"), rdescript="Visual Studio Code:Breakpoint"),
-        "step over []":              R(Key("f10/50") * Repeat(extra="n"), rdescript="Visual Studio Code:Step Over"),
-        "step into":                    R(Key("f11"), rdescript="Visual Studio Code:Step Into"),
-        "step out [of]":                R(Key("s-f11"), rdescript="Visual Studio Code:Step Out"),
-        "resume":                       R(Key("f5"), rdescript="Visual Studio Code:Resume"),
-                }
+        "[toggle] breakpoint":
+            R(Key("f9"), rdescript="Visual Studio Code:Breakpoint"),
+        "step over []":
+            R(Key("f10/50")*Repeat(extra="n"), rdescript="Visual Studio Code:Step Over"),
+        "step into":
+            R(Key("f11"), rdescript="Visual Studio Code:Step Into"),
+        "step out [of]":
+            R(Key("s-f11"), rdescript="Visual Studio Code:Step Out"),
+        "resume":
+            R(Key("f5"), rdescript="Visual Studio Code:Resume"),
+    }
     extras = [
-              Dictation("text"),
-              Dictation("mim"),
-              IntegerRefST("n", 1, 1000),
-              
-             ]
-    defaults = {
-        "n": 1,
-        "mim":"",
-        "text": ""
-        }
+        Dictation("text"),
+        Dictation("mim"),
+        IntegerRefST("n", 1, 1000),
+    ]
+    defaults = {"n": 1, "mim": "", "text": ""}
+
 
 #---------------------------------------------------------------------------
 
@@ -94,4 +132,4 @@ class VisualStudioCodeRule(MergeRule):
         rule = VisualStudioCodeRule(name="visualstudiocode")
         gfilter.run_on(rule)
         grammar.add_rule(rule)
-        grammar.load()
\ No newline at end of file
+        grammar.load()
diff --git a/caster/apps/winword.py b/caster/apps/winword.py
index c52755200..234d856b6 100644
--- a/caster/apps/winword.py
+++ b/caster/apps/winword.py
@@ -9,8 +9,7 @@
 """
 #---------------------------------------------------------------------------
 
-from dragonfly import (Grammar, AppContext, MappingRule,
-                       Dictation, Key)
+from dragonfly import (Grammar, AppContext, MappingRule, Dictation, Key)
 
 from caster.lib import control
 from caster.lib import settings
@@ -24,15 +23,13 @@ class MSWordRule(MergeRule):
     pronunciation = "Microsoft Word"
 
     mapping = {
-        "insert image":              R(Key("alt, n, p"), rdescript="Word: Insert Image"),
-        
-        
-        }
+        "insert image": R(Key("alt, n, p"), rdescript="Word: Insert Image"),
+    }
     extras = [
-              Dictation("dict"),
-              IntegerRefST("n",1, 100),
-             ]
-    defaults ={"n": 1, "dict":"nothing"}
+        Dictation("dict"),
+        IntegerRefST("n", 1, 100),
+    ]
+    defaults = {"n": 1, "dict": "nothing"}
 
 
 #---------------------------------------------------------------------------
@@ -47,4 +44,4 @@ class MSWordRule(MergeRule):
         rule = MSWordRule(name="microsoft word")
         gfilter.run_on(rule)
         grammar.add_rule(rule)
-        grammar.load()
\ No newline at end of file
+        grammar.load()
diff --git a/caster/apps/wsr.py b/caster/apps/wsr.py
index 344f248c0..725321361 100644
--- a/caster/apps/wsr.py
+++ b/caster/apps/wsr.py
@@ -1,4 +1,3 @@
-
 from dragonfly import (Grammar, Function)
 
 from caster.lib import utilities, settings
@@ -10,11 +9,14 @@
 class WindowsSpeechRecognitionRule(MergeRule):
 
     mapping = {
-        "reboot windows speech recognition":                R(Function(utilities.reboot, wsr=True), rdescript="Reboot Windows Speech Recognition"),
-        }
+        "reboot windows speech recognition":
+            R(Function(utilities.reboot, wsr=True),
+              rdescript="Reboot Windows Speech Recognition"),
+    }
     extras = []
     defaults = {}
 
+
 #---------------------------------------------------------------------------
 
 grammar = Grammar("Windows Speech Recognition")
@@ -23,4 +25,4 @@ class WindowsSpeechRecognitionRule(MergeRule):
     rule = WindowsSpeechRecognitionRule(name="Windows Speech Recognition")
     gfilter.run_on(rule)
     grammar.add_rule(rule)
-    grammar.load()
\ No newline at end of file
+    grammar.load()
diff --git a/caster/asynch/__init__.py b/caster/asynch/__init__.py
index 290cac04c..a879640f7 100644
--- a/caster/asynch/__init__.py
+++ b/caster/asynch/__init__.py
@@ -1,4 +1,8 @@
 import os
 import glob
-modules = glob.glob(os.path.dirname(__file__)+"/*.py" )
-__all__ = [ os.path.basename(f)[:-3] for f in modules if not f.endswith('__init__.py') and not f.endswith('settingswindow.py')]
\ No newline at end of file
+modules = glob.glob(os.path.dirname(__file__) + "/*.py")
+__all__ = [
+    os.path.basename(f)[:-3]
+    for f in modules
+    if not f.endswith('__init__.py') and not f.endswith('settingswindow.py')
+]
diff --git a/caster/asynch/_hmc.py b/caster/asynch/_hmc.py
index 226e6cc49..1c0d22259 100644
--- a/caster/asynch/_hmc.py
+++ b/caster/asynch/_hmc.py
@@ -9,48 +9,60 @@
 from caster.lib.dfplus.state.actions import AsynchronousAction
 from caster.lib.dfplus.state.short import R, L, S
 
-
 _NEXUS = control.nexus()
 
+
 def kill(nexus):
     nexus.comm.get_com("hmc").kill()
 
+
 def complete(nexus):
     nexus.comm.get_com("hmc").complete()
 
+
 def hmc_checkbox(n, nexus):
     # can easily check multiple boxes, use a comma-separated list of numbers instead of str(n)
     nexus.comm.get_com("hmc").do_action("check", [int(n)])
 
+
 def hmc_focus(field, nexus):
     # can easily check multiple boxes, use a comma-separated list of numbers instead of str(n)
     nexus.comm.get_com("hmc").do_action("focus", str(field))
 
+
 def hmc_recording_check_range(n, n2, nexus):
     nexus.comm.get_com("hmc").do_action("check_range", [int(n), int(n2)])
 
+
 def hmc_recording_exclude(n, nexus):
     nexus.comm.get_com("hmc").do_action("exclude", int(n))
-    
+
+
 def hmc_recording_repeatable(nexus):
     nexus.comm.get_com("hmc").do_action("repeatable")
 
+
 def hmc_directory_browse(nexus):
     nexus.comm.get_com("hmc").do_action("dir")
 
+
 def hmc_confirm(value, nexus):
     nexus.comm.get_com("hmc").do_action(value)
-    
+
+
 def hmc_settings_complete(nexus):
     nexus.comm.get_com("hmc").complete()
-    
 
 
 class HMCRule(MergeRule):
     mapping = {
-        "kill homunculus":              R(Function(kill, nexus=_NEXUS), rdescript="Kill Helper Window"),
-        "complete":                     R(Function(complete, nexus=_NEXUS), rdescript="Complete Input")
+        "kill homunculus":
+            R(Function(kill, nexus=_NEXUS), rdescript="Kill Helper Window"),
+        "complete":
+            R(Function(complete, nexus=_NEXUS), rdescript="Complete Input")
     }
+
+
 grammar = Grammar("hmc", context=AppContext(title=settings.HOMUNCULUS_VERSION))
 r1 = HMCRule()
 gfilter.run_on(r1)
@@ -58,46 +70,68 @@ class HMCRule(MergeRule):
 if settings.SETTINGS["feature_rules"]["hmc"]:
     grammar.load()
 
+
 class HMCHistoryRule(MergeRule):
     mapping = {
         # specific to macro recorder
-        "check ":                    R(Function(hmc_checkbox, nexus=_NEXUS), rdescript="Check Checkbox"),
-        "check from  to ":       R(Function(hmc_recording_check_range, nexus=_NEXUS), rdescript="Check Range"),
-        "exclude ":                  R(Function(hmc_recording_exclude, nexus=_NEXUS), rdescript="Uncheck Checkbox"),
-        "[make] repeatable":            R(Function(hmc_recording_repeatable, nexus=_NEXUS), rdescript="Make Macro Repeatable")
-    }   
+        "check ":
+            R(Function(hmc_checkbox, nexus=_NEXUS), rdescript="Check Checkbox"),
+        "check from  to ":
+            R(Function(hmc_recording_check_range, nexus=_NEXUS), rdescript="Check Range"),
+        "exclude ":
+            R(Function(hmc_recording_exclude, nexus=_NEXUS),
+              rdescript="Uncheck Checkbox"),
+        "[make] repeatable":
+            R(Function(hmc_recording_repeatable, nexus=_NEXUS),
+              rdescript="Make Macro Repeatable")
+    }
     extras = [
-              IntegerRefST("n", 1, 25),
-              IntegerRefST("n2", 1, 25),
-             ]
-grammar_history = Grammar("hmc history", context=AppContext(title=settings.HMC_TITLE_RECORDING))
+        IntegerRefST("n", 1, 25),
+        IntegerRefST("n2", 1, 25),
+    ]
+
+
+grammar_history = Grammar(
+    "hmc history", context=AppContext(title=settings.HMC_TITLE_RECORDING))
 r2 = HMCHistoryRule()
 gfilter.run_on(r2)
 grammar_history.add_rule(r2)
 if settings.SETTINGS["feature_rules"]["hmc"]:
     grammar_history.load()
 
+
 class HMCDirectoryRule(MergeRule):
     mapping = {
         # specific to directory browser
-        "browse":                       R(Function(hmc_directory_browse, nexus=_NEXUS), rdescript="Browse Computer")
+        "browse":
+            R(Function(hmc_directory_browse, nexus=_NEXUS), rdescript="Browse Computer")
     }
-grammar_directory = Grammar("hmc directory", context=AppContext(title=settings.HMC_TITLE_DIRECTORY))
+
+
+grammar_directory = Grammar(
+    "hmc directory", context=AppContext(title=settings.HMC_TITLE_DIRECTORY))
 r3 = HMCDirectoryRule()
 gfilter.run_on(r3)
 grammar_directory.add_rule(r3)
 if settings.SETTINGS["feature_rules"]["hmc"]:
     grammar_directory.load()
 
+
 class HMCConfirmRule(MergeRule):
     mapping = {
         # specific to confirm
-        "confirm":                      R(Function(hmc_confirm, value=True, nexus=_NEXUS), rdescript="HMC: Confirm Action"),
-        "disconfirm":                   R(Function(hmc_confirm, value=False, nexus=_NEXUS), 
-                                          rspec="hmc_cancel",
-                                          rdescript="HMC: Cancel Action")
+        "confirm":
+            R(Function(hmc_confirm, value=True, nexus=_NEXUS),
+              rdescript="HMC: Confirm Action"),
+        "disconfirm":
+            R(Function(hmc_confirm, value=False, nexus=_NEXUS),
+              rspec="hmc_cancel",
+              rdescript="HMC: Cancel Action")
     }
-grammar_confirm = Grammar("hmc confirm", context=AppContext(title=settings.HMC_TITLE_CONFIRM))
+
+
+grammar_confirm = Grammar(
+    "hmc confirm", context=AppContext(title=settings.HMC_TITLE_CONFIRM))
 r4 = HMCConfirmRule()
 gfilter.run_on(r4)
 grammar_confirm.add_rule(r4)
@@ -107,10 +141,13 @@ class HMCConfirmRule(MergeRule):
 
 class HMCSettingsRule(MergeRule):
     mapping = {
-        "kill homunculus":              R(Function(kill), rdescript="Kill Settings Window"),
-        "complete":                     R(Function(hmc_settings_complete), rdescript="Complete Input"),
+        "kill homunculus": R(Function(kill), rdescript="Kill Settings Window"),
+        "complete": R(Function(hmc_settings_complete), rdescript="Complete Input"),
     }
-grammar_settings = Grammar("hmc settings", context=AppContext(title=settings.SETTINGS_WINDOW_TITLE))
+
+
+grammar_settings = Grammar(
+    "hmc settings", context=AppContext(title=settings.SETTINGS_WINDOW_TITLE))
 r5 = HMCSettingsRule()
 gfilter.run_on(r5)
 grammar_settings.add_rule(r5)
@@ -118,27 +155,37 @@ class HMCSettingsRule(MergeRule):
     grammar_settings.load()
 
 
-
 def receive_settings(data):
     settings.SETTINGS = data
     settings.save_config()
     # TODO: apply new settings
-    
+
+
 def settings_window(nexus):
     h_launch.launch(settings.WXTYPE_SETTINGS)
-    on_complete = AsynchronousAction.hmc_complete(lambda data: receive_settings(data), nexus)
-    AsynchronousAction([L(S(["cancel"], on_complete))], time_in_seconds=1, repetitions=300, blocking=False).execute()
+    on_complete = AsynchronousAction.hmc_complete(lambda data: receive_settings(data),
+                                                  nexus)
+    AsynchronousAction(
+        [L(S(["cancel"], on_complete))],
+        time_in_seconds=1,
+        repetitions=300,
+        blocking=False).execute()
+
 
 class LaunchRule(MergeRule):
     mapping = {
-        "launch settings window":   R(Function(settings_window, nexus=_NEXUS), rdescript="Launch Settings Window"), 
-        }
+        "launch settings window":
+            R(Function(settings_window, nexus=_NEXUS),
+              rdescript="Launch Settings Window"),
+    }
+
+
 grammarw = Grammar("Caster Windows")
 r6 = LaunchRule()
 gfilter.run_on(r6)
 grammarw.add_rule(r6)
 if settings.SETTINGS["feature_rules"]["hmc"]:
     grammarw.load()
-    
+
 if not settings.SETTINGS["feature_rules"]["hmc"]:
     print("WARNING: Tk Window controls have been disabled -- this is not advised!")
diff --git a/caster/asynch/hmc/h_launch.py b/caster/asynch/hmc/h_launch.py
index 3bfa6a8ff..d820dbc57 100644
--- a/caster/asynch/hmc/h_launch.py
+++ b/caster/asynch/hmc/h_launch.py
@@ -1,8 +1,7 @@
 from subprocess import Popen
 import sys, os
 
-
-try: # Style C -- may be imported into Caster, or externally
+try:  # Style C -- may be imported into Caster, or externally
     BASE_PATH = os.path.realpath(__file__).split("\\caster")[0].replace("\\", "/")
     if BASE_PATH not in sys.path:
         sys.path.append(BASE_PATH)
@@ -12,7 +11,6 @@
     from caster.asynch.hmc.hmc_confirm import HomunculusConfirm
     from caster.asynch.hmc.homunculus import Homunculus
     from caster.lib import settings
-
 '''
 To add a new homunculus (pop-up ui window) type:
     (1) create the module
@@ -21,49 +19,59 @@
     (4) call launch() from this module with its type and any data it needs (data as a single string with no spaces)
 '''
 
+
 def launch(hmc_type, data=None):
     from dragonfly import (WaitWindow, FocusWindow, Key)
-    instructions=_get_instructions(hmc_type)
-    if data is not None:# and callback!=None:
+    instructions = _get_instructions(hmc_type)
+    if data is not None:  # and callback!=None:
         instructions.append(data)
     Popen(instructions)
-    
-    hmc_title=_get_title(hmc_type)
+
+    hmc_title = _get_title(hmc_type)
     WaitWindow(title=hmc_title, timeout=5).execute()
     FocusWindow(title=hmc_title).execute()
     Key("tab").execute()
 
+
 def _get_instructions(hmc_type):
-    if hmc_type==settings.WXTYPE_SETTINGS:
-        return [settings.SETTINGS["paths"]["PYTHONW"], settings.SETTINGS["paths"]["SETTINGS_WINDOW_PATH"]]
+    if hmc_type == settings.WXTYPE_SETTINGS:
+        return [
+            settings.SETTINGS["paths"]["PYTHONW"],
+            settings.SETTINGS["paths"]["SETTINGS_WINDOW_PATH"]
+        ]
     else:
-        return [settings.SETTINGS["paths"]["PYTHONW"], settings.SETTINGS["paths"]["HOMUNCULUS_PATH"], hmc_type]
+        return [
+            settings.SETTINGS["paths"]["PYTHONW"],
+            settings.SETTINGS["paths"]["HOMUNCULUS_PATH"], hmc_type
+        ]
+
 
 def _get_title(hmc_type):
-    default=settings.HOMUNCULUS_VERSION
-    if hmc_type==settings.QTYPE_DEFAULT or hmc_type==settings.QTYPE_INSTRUCTIONS:
+    default = settings.HOMUNCULUS_VERSION
+    if hmc_type == settings.QTYPE_DEFAULT or hmc_type == settings.QTYPE_INSTRUCTIONS:
         return default
-    elif hmc_type==settings.QTYPE_RECORDING:
-        return default+settings.HMC_TITLE_RECORDING
-    elif hmc_type==settings.QTYPE_DIRECTORY:
-        return default+settings.HMC_TITLE_DIRECTORY
-    elif hmc_type==settings.QTYPE_CONFIRM:
-        return default+settings.HMC_TITLE_CONFIRM
-    elif hmc_type==settings.WXTYPE_SETTINGS:
-        return settings.SETTINGS_WINDOW_TITLE+settings.SOFTWARE_VERSION_NUMBER
+    elif hmc_type == settings.QTYPE_RECORDING:
+        return default + settings.HMC_TITLE_RECORDING
+    elif hmc_type == settings.QTYPE_DIRECTORY:
+        return default + settings.HMC_TITLE_DIRECTORY
+    elif hmc_type == settings.QTYPE_CONFIRM:
+        return default + settings.HMC_TITLE_CONFIRM
+    elif hmc_type == settings.WXTYPE_SETTINGS:
+        return settings.SETTINGS_WINDOW_TITLE + settings.SOFTWARE_VERSION_NUMBER
     return default
 
+
 if __name__ == '__main__':
-    found_word=None
-    if len(sys.argv)>2:
-        found_word=sys.argv[2]
-    if sys.argv[1]==settings.QTYPE_DEFAULT:
+    found_word = None
+    if len(sys.argv) > 2:
+        found_word = sys.argv[2]
+    if sys.argv[1] == settings.QTYPE_DEFAULT:
         app = Homunculus(sys.argv[1])
-    elif sys.argv[1]==settings.QTYPE_RECORDING:
+    elif sys.argv[1] == settings.QTYPE_RECORDING:
         app = HomunculusRecording([settings.QTYPE_RECORDING, found_word])
-    elif sys.argv[1]==settings.QTYPE_INSTRUCTIONS:
+    elif sys.argv[1] == settings.QTYPE_INSTRUCTIONS:
         app = Homunculus(sys.argv[1], sys.argv[2])
-    elif sys.argv[1]==settings.QTYPE_DIRECTORY:
+    elif sys.argv[1] == settings.QTYPE_DIRECTORY:
         app = HomunculusDirectory(sys.argv[1])
-    elif sys.argv[1]==settings.QTYPE_CONFIRM:
+    elif sys.argv[1] == settings.QTYPE_CONFIRM:
         app = HomunculusConfirm([sys.argv[1], sys.argv[2]])
diff --git a/caster/asynch/hmc/hmc_ask_directory.py b/caster/asynch/hmc/hmc_ask_directory.py
index a37dbf357..d10c893fe 100644
--- a/caster/asynch/hmc/hmc_ask_directory.py
+++ b/caster/asynch/hmc/hmc_ask_directory.py
@@ -4,7 +4,7 @@
 from threading import Timer
 import tkFileDialog
 
-try: # Style C -- may be imported into Caster, or externally
+try:  # Style C -- may be imported into Caster, or externally
     BASE_PATH = os.path.realpath(__file__).split("\\caster")[0].replace("\\", "/")
     if BASE_PATH not in sys.path:
         sys.path.append(BASE_PATH)
@@ -14,38 +14,37 @@
 
 
 class HomunculusDirectory(Homunculus):
-    
     def __init__(self, params):
         Homunculus.__init__(self, params[0])
         self.title(settings.HOMUNCULUS_VERSION + settings.HMC_TITLE_DIRECTORY)
-        
-        self.geometry("640x50+" + str(int(self.winfo_screenwidth() / 2 - 320)) + "+" + str(int(self.winfo_screenheight() / 2 - 25)))
+
+        self.geometry("640x50+" + str(int(self.winfo_screenwidth()/2 - 320)) + "+" +
+                      str(int(self.winfo_screenheight()/2 - 25)))
         Label(self, text="Enter directory or say 'browse'", name="pathlabel").pack()
         self.content = StringVar()
         self.word_box = Entry(self, name="word_box", width=640, textvariable=self.content)
         self.word_box.pack()
-        
-    
+
     def xmlrpc_get_message(self):
         if self.completed:
             response = {"mode": "ask_dir"}
             response["path"] = self.word_box.get()
-            
+
             Timer(1, self.xmlrpc_kill).start()
             self.after(10, self.withdraw)
             return response
         else:
             return None
-    
+
     def _ask_directory(self):
         dir_opt = {}
-        dir_opt['initialdir'] = os.path.expanduser('~')#os.environ["HOME"]
+        dir_opt['initialdir'] = os.path.expanduser('~')  #os.environ["HOME"]
         dir_opt['mustexist'] = False
         dir_opt['parent'] = self
         dir_opt['title'] = 'Please select directory'
         result = tkFileDialog.askdirectory(**dir_opt)
         self.content.set(result)
-    
+
     def xmlrpc_do_action(self, action, details=None):
         if action == "dir":
-            self.after(10, self._ask_directory)
\ No newline at end of file
+            self.after(10, self._ask_directory)
diff --git a/caster/asynch/hmc/hmc_confirm.py b/caster/asynch/hmc/hmc_confirm.py
index 5997af9ae..3fd9e93de 100644
--- a/caster/asynch/hmc/hmc_confirm.py
+++ b/caster/asynch/hmc/hmc_confirm.py
@@ -3,7 +3,7 @@
 import sys
 from threading import Timer
 
-try: # Style C -- may be imported into Caster, or externally
+try:  # Style C -- may be imported into Caster, or externally
     BASE_PATH = os.path.realpath(__file__).split("\\caster")[0].replace("\\", "/")
     if BASE_PATH not in sys.path:
         sys.path.append(BASE_PATH)
@@ -13,15 +13,18 @@
 
 
 class HomunculusConfirm(Homunculus):
-    
     def __init__(self, params):
         Homunculus.__init__(self, params[0])
         self.title(settings.HOMUNCULUS_VERSION + settings.HMC_TITLE_CONFIRM)
-        
-        self.geometry("320x50+" + str(int(self.winfo_screenwidth() / 2 - 160)) + "+" + str(int(self.winfo_screenheight() / 2 - 25)))
-        Label(self, text="Please confirm: "+" ".join(params[1].split(settings.HMC_SEPARATOR)), name="i").pack() 
-        Label(self, text="(say \"confirm\" or \"disconfirm\")", name="i2").pack()       
-    
+
+        self.geometry("320x50+" + str(int(self.winfo_screenwidth()/2 - 160)) + "+" +
+                      str(int(self.winfo_screenheight()/2 - 25)))
+        Label(
+            self,
+            text="Please confirm: " + " ".join(params[1].split(settings.HMC_SEPARATOR)),
+            name="i").pack()
+        Label(self, text="(say \"confirm\" or \"disconfirm\")", name="i2").pack()
+
     def xmlrpc_get_message(self):
         if self.completed:
             response = {"mode": "confirm"}
@@ -31,10 +34,9 @@ def xmlrpc_get_message(self):
             return response
         else:
             return None
-    
+
     def xmlrpc_do_action(self, action, details=None):
         if isinstance(action, bool):
             self.completed = True
             '''1 is True, 2 is False'''
             self.value = 1 if action else 2
-
diff --git a/caster/asynch/hmc/hmc_recording.py b/caster/asynch/hmc/hmc_recording.py
index e390c3e96..e2d0f8695 100644
--- a/caster/asynch/hmc/hmc_recording.py
+++ b/caster/asynch/hmc/hmc_recording.py
@@ -4,8 +4,7 @@
 
 import Tkinter as tk
 
-
-try: # Style C -- may be imported into Caster, or externally
+try:  # Style C -- may be imported into Caster, or externally
     BASE_PATH = os.path.realpath(__file__).split("\\caster")[0].replace("\\", "/")
     if BASE_PATH not in sys.path:
         sys.path.append(BASE_PATH)
@@ -15,7 +14,6 @@
 
 
 class HomunculusRecording(Homunculus):
-    
     def get_row(self, cut_off=0):
         result = self.grid_row - cut_off
         self.grid_row += 1
@@ -25,54 +23,66 @@ def __init__(self, params):
         self.grid_row = 0
         Homunculus.__init__(self, params[0])
         self.title(settings.HOMUNCULUS_VERSION + settings.HMC_TITLE_RECORDING)
-        
-        self.geometry("640x480+" + str(int(self.winfo_screenwidth() / 2 - 320)) + "+" + str(int(self.winfo_screenheight() / 2 - 240)))
+
+        self.geometry("640x480+" + str(int(self.winfo_screenwidth()/2 - 320)) + "+" +
+                      str(int(self.winfo_screenheight()/2 - 240)))
         self.instructions = "Macro Recording Options"
-        Label(self, text=self.instructions, name="pathlabel").grid(row=self.get_row(), column=1, sticky=tk.E)
-                          
+        Label(
+            self, text=self.instructions, name="pathlabel").grid(
+                row=self.get_row(), column=1, sticky=tk.E)
+
         wf_row = self.get_row()
-        Label(self, text="Command Words:", name="wordlabel").grid(row=wf_row, column=0, sticky=tk.W)
+        Label(
+            self, text="Command Words:", name="wordlabel").grid(
+                row=wf_row, column=0, sticky=tk.W)
         self.word_box = Entry(self, name="word_box")
         self.word_box.grid(row=wf_row, column=1, sticky=tk.W)
-        
+
         self.repeatable = tk.IntVar()
-        Checkbutton(self, text="Make Repeatable", variable=self.repeatable).grid(row=self.get_row(), column=0, sticky=tk.W)
-        
-        Label(self, text="Dictation History", name="optionslabel").grid(row=self.get_row(), column=1, sticky=tk.E)
+        Checkbutton(
+            self, text="Make Repeatable", variable=self.repeatable).grid(
+                row=self.get_row(), column=0, sticky=tk.W)
+
+        Label(
+            self, text="Dictation History", name="optionslabel").grid(
+                row=self.get_row(), column=1, sticky=tk.E)
         self.word_state = []
         cb_number = 1
-        
+
         sentences = params[1].split("[s]")
         sentences.pop()
         for sentence in sentences:
             sentence_words = sentence.split("[w]")
             sentence_words.pop()
             display_sentence = " ".join(sentence_words)
-            
+
             cb_row = 0  # self.get_row()
             cb_col = 0
             row_cut_off = 14
             col2_inc = -1
             word_state_var = tk.IntVar()
-            
+
             if cb_number == 1:
                 word_state_var.set(True)
-                
+
             if cb_number < row_cut_off:
                 cb_row = cb_row = self.get_row()
-            else :
+            else:
                 cb_row = cb_row = self.get_row(row_cut_off + col2_inc)
                 cb_col = 2
                 col2_inc += 1
-            
-            Checkbutton(self, text="(" + str(cb_number) + ")", variable=word_state_var).grid(row=cb_row, column=cb_col + 1, sticky=tk.W)
+
+            Checkbutton(
+                self, text="(" + str(cb_number) + ")", variable=word_state_var).grid(
+                    row=cb_row, column=cb_col + 1, sticky=tk.W)
             self.word_state.append((word_state_var, cb_number))
             cb_number += 1
-            Label(self, text=display_sentence, name="cb_label" + str(cb_number)).grid(row=cb_row, column=cb_col, sticky=tk.W)
-            
+            Label(
+                self, text=display_sentence, name="cb_label" + str(cb_number)).grid(
+                    row=cb_row, column=cb_col, sticky=tk.W)
+
         self.cb_max = cb_number
-        
-    
+
     def xmlrpc_get_message(self):
         if self.completed:
             response = {"mode": "recording"}
@@ -81,32 +91,32 @@ def xmlrpc_get_message(self):
                 self.xmlrpc_kill()
             response["word"] = word
             response["repeatable"] = self.repeatable.get()
-            
+
             selected_indices = []
             for ws in self.word_state:
                 if ws[0].get() == 1:
                     selected_indices.append(ws[1] - 1)
             response["selected_indices"] = selected_indices
-            
+
             Timer(1, self.xmlrpc_kill).start()
             self.after(10, self.withdraw)
             return response
         else:
             return None
 
-    
     def check_boxes(self, details):
         for box_index in details:
             if box_index >= 1 and box_index <= self.cb_max:
-                self.word_state[box_index - 1][0].set(self.word_state[box_index - 1][0].get() == 0)
-    
+                self.word_state[box_index - 1][0].set(self.word_state[box_index
+                                                                      - 1][0].get() == 0)
+
     def check_range_of_boxes(self, details):
         box_index_from = details[0] - 1
         box_index_to = details[1] - 1
         for i in range(0, self.cb_max):
             if i <= self.cb_max:
                 self.word_state[i][0].set(i >= box_index_from and i <= box_index_to)
-    
+
     def xmlrpc_do_action(self, action, details=None):
         '''acceptable keys are numbers and w and p'''
         if action == "check":
@@ -115,11 +125,10 @@ def xmlrpc_do_action(self, action, details=None):
             if details == "word":
                 self.word_box.focus_set()
         elif action == "check_range":
-            self.check_range_of_boxes(details)            
+            self.check_range_of_boxes(details)
         elif action == "exclude":
             box_index = details
             if box_index >= 1 and box_index <= self.cb_max:
                 self.word_state[box_index - 1][0].set(False)
         elif action == "repeatable":
             self.repeatable.set(not self.repeatable.get())
-
diff --git a/caster/asynch/hmc/homunculus.py b/caster/asynch/hmc/homunculus.py
index 65165633e..5986aa1af 100644
--- a/caster/asynch/hmc/homunculus.py
+++ b/caster/asynch/hmc/homunculus.py
@@ -6,73 +6,78 @@
 
 import Tkinter as tk
 
-
-try: # Style C -- may be imported into Caster, or externally
+try:  # Style C -- may be imported into Caster, or externally
     BASE_PATH = os.path.realpath(__file__).split("\\caster")[0].replace("\\", "/")
     if BASE_PATH not in sys.path:
         sys.path.append(BASE_PATH)
 finally:
-    from caster.lib import settings  
+    from caster.lib import settings
     from caster.lib.dfplus.communication import Communicator
 
+
 class Homunculus(tk.Tk):
     def __init__(self, htype, data=None):
         tk.Tk.__init__(self, baseName="")
         self.setup_xmlrpc_server()
         self.htype = htype
         self.completed = False
-        self.max_after_completed=10
-        
+        self.max_after_completed = 10
 
         self.title(settings.HOMUNCULUS_VERSION)
-        self.geometry("300x200+" + str(int(self.winfo_screenwidth() / 2 - 150)) + "+" + str(int(self.winfo_screenheight() / 2 - 100)))
+        self.geometry("300x200+" + str(int(self.winfo_screenwidth()/2 - 150)) + "+" +
+                      str(int(self.winfo_screenheight()/2 - 100)))
         self.wm_attributes("-topmost", 1)
         self.protocol("WM_DELETE_WINDOW", self.xmlrpc_kill)
- 
-        # 
+
+        #
         if self.htype == settings.QTYPE_DEFAULT:
-            Label(self, text="Enter response then say 'complete'", name="pathlabel").pack()
+            Label(
+                self, text="Enter response then say 'complete'", name="pathlabel").pack()
             self.ext_box = Text(self, name="ext_box")
             self.ext_box.pack(side=tk.LEFT)
-            self.data=[0, 0]
+            self.data = [0, 0]
         elif self.htype == settings.QTYPE_INSTRUCTIONS:
-            self.data=data.split("|")
-            Label(self, text=" ".join(self.data[0].split(settings.HMC_SEPARATOR)), name="pathlabel").pack()
+            self.data = data.split("|")
+            Label(
+                self,
+                text=" ".join(self.data[0].split(settings.HMC_SEPARATOR)),
+                name="pathlabel").pack()
             self.ext_box = Text(self, name="ext_box")
             self.ext_box.pack(side=tk.LEFT)
-        
-        
+
         # start server, tk main loop
         def start_server():
             while not self.server_quit:
-                self.server.handle_request()  
+                self.server.handle_request()
+
         Timer(1, start_server).start()
         Timer(0.05, self.start_tk).start()
         # backup plan in case for whatever reason Dragon doesn't shut it down:
         Timer(300, self.xmlrpc_kill).start()
-    
+
     def start_tk(self):
         self.mainloop()
-    
-    def setup_xmlrpc_server(self): 
+
+    def setup_xmlrpc_server(self):
         self.server_quit = 0
         comm = Communicator()
-        self.server = SimpleXMLRPCServer((Communicator.LOCALHOST, comm.com_registry["hmc"]), allow_none=True)
+        self.server = SimpleXMLRPCServer(
+            (Communicator.LOCALHOST, comm.com_registry["hmc"]), allow_none=True)
         self.server.register_function(self.xmlrpc_do_action, "do_action")
         self.server.register_function(self.xmlrpc_complete, "complete")
         self.server.register_function(self.xmlrpc_get_message, "get_message")
         self.server.register_function(self.xmlrpc_kill, "kill")
-    
+
     def xmlrpc_kill(self):
         self.server_quit = 1
         self.destroy()
         os.kill(os.getpid(), signal.SIGTERM)
-        
+
     def xmlrpc_complete(self):
         self.completed = True
         self.after(10, self.withdraw)
         Timer(self.max_after_completed, self.xmlrpc_kill).start()
-        
+
     def xmlrpc_get_message(self):
         '''override this for every new child class'''
         if self.completed:
@@ -80,7 +85,6 @@ def xmlrpc_get_message(self):
             return [self.ext_box.get("1.0", tk.END), self.data]
         else:
             return None
-    
+
     def xmlrpc_do_action(self, action, details=None):
         '''override'''
-
diff --git a/caster/asynch/mouse/grids.py b/caster/asynch/mouse/grids.py
index 0d51b7e4e..140de1a50 100644
--- a/caster/asynch/mouse/grids.py
+++ b/caster/asynch/mouse/grids.py
@@ -2,7 +2,6 @@
 
 from SimpleXMLRPCServer import SimpleXMLRPCServer
 
-
 import getopt
 import signal
 import sys, os
@@ -11,12 +10,11 @@
 
 import win32api
 
-
 import Tkinter as tk
 
 from dragonfly import monitors
 
-try: # Style C -- may be imported into Caster, or externally
+try:  # Style C -- may be imported into Caster, or externally
     BASE_PATH = os.path.realpath(__file__).split("\\caster")[0].replace("\\", "/")
     if BASE_PATH not in sys.path:
         sys.path.append(BASE_PATH)
@@ -28,7 +26,7 @@
     from PIL import ImageGrab, ImageTk, ImageDraw, ImageFont
 except ImportError:
     utilities.availability_message("Douglas Grid / Rainbow Grid", "PIL")
-    
+
 
 def wait_for_death(title, timeout=5):
     t = 0.0
@@ -41,6 +39,7 @@ def wait_for_death(title, timeout=5):
     if t >= timeout:
         print("wait_for_death()" + " timed out (" + title + ")")
 
+
 class Dimensions:
     def __init__(self, w, h, x, y):
         self.width = w
@@ -49,22 +48,21 @@ def __init__(self, w, h, x, y):
         self.y = y
 
 
-
 # rewrite dp grid using this
 class TkTransparent(tk.Tk):
-    
     def reset_xs_ys(self):
         self.xs = []
         self.ys = []
-        
+
     def xs_ys_filled(self):
-        return len(self.xs) > 0 or len(self.ys) > 0;
-    
+        return len(self.xs) > 0 or len(self.ys) > 0
+
     def get_dimensions_fullscreen(self):
         return Dimensions(self.winfo_screenwidth(), self.winfo_screenheight(), 0, 0)
-    
+
     def get_dimensions_string(self):
-        return "%dx%d+%d+%d" % (self.dimensions.width, self.dimensions.height, self.dimensions.x, self.dimensions.y)
+        return "%dx%d+%d+%d" % (self.dimensions.width, self.dimensions.height,
+                                self.dimensions.x, self.dimensions.y)
 
     def __init__(self, name, dimensions=None, canvas=True):
         tk.Tk.__init__(self, baseName="")
@@ -81,52 +79,59 @@ def __init__(self, name, dimensions=None, canvas=True):
         self.wm_title(name)
         self.wm_geometry(self.get_dimensions_string())
         if canvas:
-            self._canvas = tk.Canvas(master=self, width=dimensions.width, height=dimensions.height, bg='white', bd=-2)
+            self._canvas = tk.Canvas(
+                master=self,
+                width=dimensions.width,
+                height=dimensions.height,
+                bg='white',
+                bd=-2)
             self._canvas.pack()
         self.protocol("WM_DELETE_WINDOW", self.xmlrpc_kill)
-#        self.bind("", self.key)
+
+        #        self.bind("", self.key)
         # self.mainloop()#do this in the child classes
         def start_server():
             while not self.server_quit:
                 self.server._handle_request_noblock()
+
         Timer(1, start_server).start()
-    
-    def setup_xmlrpc_server(self): 
+
+    def setup_xmlrpc_server(self):
         self.server_quit = 0
         comm = Communicator()
-        self.server = SimpleXMLRPCServer((Communicator.LOCALHOST, comm.com_registry["grids"]), allow_none=True)
+        self.server = SimpleXMLRPCServer(
+            (Communicator.LOCALHOST, comm.com_registry["grids"]), allow_none=True)
         self.server.register_function(self.xmlrpc_kill, "kill")
-    
+
     def pre_redraw(self):
         '''gets the window ready to be redrawn'''
         self.deiconify()
         self._canvas.delete("all")
-        
-    
+
     def unhide(self):
         ''''''
         self.deiconify()
         self.lift()
-        time.sleep(0.1) 
+        time.sleep(0.1)
         self.focus_force()
-        self.focus_set() 
-        self.focus() 
-    
+        self.focus_set()
+        self.focus()
+
     def hide(self):
         self.withdraw()
-    
+
     def xmlrpc_kill(self):
         self.after(10, self.die)
-    
+
     def die(self):
         self.server_quit = 1
         self.destroy()
         os.kill(os.getpid(), signal.SIGTERM)
-    
+
     @staticmethod
     def move_mouse(mx, my):
         win32api.SetCursorPos((mx, my))
-        
+
 
 class RainbowGrid(TkTransparent):
     def __init__(self, grid_size=None, square_size=None, square_alpha=None):
@@ -135,197 +140,220 @@ def __init__(self, grid_size=None, square_size=None, square_alpha=None):
         self.attributes("-alpha", 0.5)
         self.square_size = square_size if square_size else 37
         self.square_alpha = square_alpha if square_alpha else 125
-        self.colors = [(255, 0, 0, self.square_alpha),  # red
-                       (187, 122, 0, self.square_alpha),  # orange 255, 165, 0
-                       (255, 255, 0, self.square_alpha),  # yellow
-                       (0, 128, 0, self.square_alpha),  # green
-                       (0, 0, 125, self.square_alpha),  # blue
-                       (128, 0, 128, self.square_alpha)  # purple
-                       ]
+        self.colors = [
+            (255, 0, 0, self.square_alpha),  # red
+            (187, 122, 0, self.square_alpha),  # orange 255, 165, 0
+            (255, 255, 0, self.square_alpha),  # yellow
+            (0, 128, 0, self.square_alpha),  # green
+            (0, 0, 125, self.square_alpha),  # blue
+            (128, 0, 128, self.square_alpha)  # purple
+        ]
         self.position_index = None
 
         self.info_pre = 0
         self.info_color = 0
         self.info_num = 0
-        
+
         self.refresh()
         self.mainloop()
-    
+
     def refresh(self):
         '''thread safe'''
         self.hide()
         self.after(10, self.draw)
-    
+
     def finalize(self):
         self.imgtk = ImageTk.PhotoImage(self.img)
-        self._canvas.create_image(self.dimensions.width / 2, self.dimensions.height / 2, image=self.imgtk)
-    
+        self._canvas.create_image(
+            self.dimensions.width/2, self.dimensions.height/2, image=self.imgtk)
+
     def setup_xmlrpc_server(self):
         TkTransparent.setup_xmlrpc_server(self)
         self.server.register_function(self.xmlrpc_move_mouse, "move_mouse")
-    
+
     def xmlrpc_move_mouse(self, pre, color, num):
         if pre > 0:
             pre -= 1
-        selected_index = self.position_index[color + pre * len(self.colors)][num]
-        self.move_mouse(selected_index[0]+self.dimensions.x, selected_index[1]+self.dimensions.y)
-    
+        selected_index = self.position_index[color + pre*len(self.colors)][num]
+        self.move_mouse(selected_index[0] + self.dimensions.x,
+                        selected_index[1] + self.dimensions.y)
+
     def fill_xs_ys(self):
         # only figure out the coordinates of the lines once
         if not self.xs_ys_filled():
-            for x in range(0, int(self.dimensions.width / self.square_size) + 2):
-                self.xs.append(x * self.square_size)
-            for y in range(0, int(self.dimensions.height / self.square_size) + 2):
-                self.ys.append(y * self.square_size)
+            for x in range(0, int(self.dimensions.width/self.square_size) + 2):
+                self.xs.append(x*self.square_size)
+            for y in range(0, int(self.dimensions.height/self.square_size) + 2):
+                self.ys.append(y*self.square_size)
         self.position_index = []
         # add first "color":
         self.position_index.append([])
-        
+
     def draw(self):
         self.pre_redraw()
-        self.img = ImageGrab.grab([self.dimensions.x, 
-                                  self.dimensions.y, 
-                                  self.dimensions.x+self.dimensions.width, 
-                                  self.dimensions.y+self.dimensions.height])  # .filter(ImageFilter.BLUR)
+        self.img = ImageGrab.grab([
+            self.dimensions.x, self.dimensions.y,
+            self.dimensions.x + self.dimensions.width,
+            self.dimensions.y + self.dimensions.height
+        ])  # .filter(ImageFilter.BLUR)
         self.draw_squares()
         self.finalize()
         self.unhide()
-        
+
     def draw_squares(self):
         self.fill_xs_ys()
-        # 
-        
-        text_background_buffer = int(self.square_size / 6)
+        #
+
+        text_background_buffer = int(self.square_size/6)
         xs_size = len(self.xs)
         ys_size = len(self.ys)
         box_number = 0
         colors_index = 0
         font = ImageFont.truetype("arialbd.ttf", 15)
         draw = ImageDraw.Draw(self.img, 'RGBA')
-        
-        for ly in range(0, ys_size-1):
-            for lx in range(0, xs_size-1):
+
+        for ly in range(0, ys_size - 1):
+            for lx in range(0, xs_size - 1):
                 txt = str(box_number)
                 tw, th = draw.textsize(txt, font)
-                text_x = int((self.xs[lx] + self.xs[lx + 1] - tw) / 2) + 1
-                text_y = int((self.ys[ly] + self.ys[ly + 1] - th) / 2) - 1
-                draw.rectangle([self.xs[lx] + text_background_buffer,
-                                               self.ys[ly] + text_background_buffer,
-                                               self.xs[lx + 1] - text_background_buffer,
-                                               self.ys[ly + 1] - text_background_buffer], fill=self.colors[colors_index], outline=False)
-                
+                text_x = int((self.xs[lx] + self.xs[lx + 1] - tw)/2) + 1
+                text_y = int((self.ys[ly] + self.ys[ly + 1] - th)/2) - 1
+                draw.rectangle(
+                    [
+                        self.xs[lx] + text_background_buffer,
+                        self.ys[ly] + text_background_buffer,
+                        self.xs[lx + 1] - text_background_buffer,
+                        self.ys[ly + 1] - text_background_buffer
+                    ],
+                    fill=self.colors[colors_index],
+                    outline=False)
+
                 draw.text((text_x + 1, text_y + 1), txt, (0, 0, 0), font=font)
                 draw.text((text_x - 1, text_y + 1), txt, (0, 0, 0), font=font)
                 draw.text((text_x + 1, text_y - 1), txt, (0, 0, 0), font=font)
                 draw.text((text_x - 1, text_y - 1), txt, (0, 0, 0), font=font)
                 draw.text((text_x, text_y), txt, (255, 255, 255), font=font)
                 # index the position
-                self.position_index[len(self.position_index) - 1].append((int((self.xs[lx] + self.xs[lx + 1]) / 2), int((self.ys[ly] + self.ys[ly + 1]) / 2)))
-                
+                self.position_index[len(self.position_index) - 1].append(
+                    (int((self.xs[lx] + self.xs[lx + 1])/2),
+                     int((self.ys[ly] + self.ys[ly + 1])/2)))
+
                 # update for next iteration
                 box_number += 1
                 if box_number == 100:
                     # next color
                     box_number = 0
                     colors_index += 1
-                    colors_index %= len(self.colors) # cycle colors
+                    colors_index %= len(self.colors)  # cycle colors
                     self.position_index.append([])
-                    
+
         del draw
 
+
 class DouglasGrid(TkTransparent):
-    
     def __init__(self, grid_size=None, square_size=None):
         TkTransparent.__init__(self, settings.DOUGLAS_TITLE, grid_size)
         self.square_size = square_size if square_size else 25
-                
+
         self.draw()
         self.mainloop()
-    
+
     def setup_xmlrpc_server(self):
         TkTransparent.setup_xmlrpc_server(self)
         self.server.register_function(self.xmlrpc_move_mouse, "move_mouse")
-    
+
     def xmlrpc_move_mouse(self, x, y):
-        DouglasGrid.move_mouse(x * self.square_size + int(self.square_size / 2)+ self.dimensions.x, 
-                               y * self.square_size + int(self.square_size / 2)+ self.dimensions.y)
-    
+        DouglasGrid.move_mouse(
+            x*self.square_size + int(self.square_size/2) + self.dimensions.x,
+            y*self.square_size + int(self.square_size/2) + self.dimensions.y)
+
     def draw(self):
         self.pre_redraw()
         self.draw_lines_and_numbers()
         self.unhide()
-    
+
     def fill_xs_ys(self):
         # only figure out the coordinates of the lines once
         if not self.xs_ys_filled():
-            for x in range(0, int(self.dimensions.width / self.square_size) + 2):
-                self.xs.append(x * self.square_size)
-            for y in range(0, int(self.dimensions.height / self.square_size)):
-                self.ys.append(y * self.square_size)
-    
+            for x in range(0, int(self.dimensions.width/self.square_size) + 2):
+                self.xs.append(x*self.square_size)
+            for y in range(0, int(self.dimensions.height/self.square_size)):
+                self.ys.append(y*self.square_size)
+
     def draw_lines_and_numbers(self):
-        
+
         self.fill_xs_ys()
-        
-        text_background_buffer = int(self.square_size / 10)
+
+        text_background_buffer = int(self.square_size/10)
         xs_size = len(self.xs)
         for lx in range(0, xs_size):
             fill = "black"
             if lx % 3:
                 fill = "gray"
-            self._canvas.create_line(self.xs[lx], 0, self.xs[lx], self.dimensions.height , fill=fill)
+            self._canvas.create_line(
+                self.xs[lx], 0, self.xs[lx], self.dimensions.height, fill=fill)
             if lx + 1 < xs_size:
                 self._canvas.create_rectangle(
-                                              self.xs[lx] + text_background_buffer,
-                                              0 + text_background_buffer,
-                                              self.xs[lx + 1] - text_background_buffer,
-                                              self.square_size - text_background_buffer, fill='Black')
-                self._canvas.create_rectangle(self.xs[lx] + text_background_buffer,
-                                              self.dimensions.height - self.square_size + text_background_buffer,
-                                              self.xs[lx + 1] - text_background_buffer,
-                                              self.dimensions.height - text_background_buffer, fill='Black')
-                text_x = int((self.xs[lx] + self.xs[lx + 1]) / 2)
+                    self.xs[lx] + text_background_buffer,
+                    0 + text_background_buffer,
+                    self.xs[lx + 1] - text_background_buffer,
+                    self.square_size - text_background_buffer,
+                    fill='Black')
+                self._canvas.create_rectangle(
+                    self.xs[lx] + text_background_buffer,
+                    self.dimensions.height - self.square_size + text_background_buffer,
+                    self.xs[lx + 1] - text_background_buffer,
+                    self.dimensions.height - text_background_buffer,
+                    fill='Black')
+                text_x = int((self.xs[lx] + self.xs[lx + 1])/2)
                 self._canvas.create_text(
                     text_x,
-                    int(self.square_size / 2),
-                    text=str(lx), font="Arial 10 bold", fill='White')
+                    int(self.square_size/2),
+                    text=str(lx),
+                    font="Arial 10 bold",
+                    fill='White')
                 self._canvas.create_text(
-                        text_x,
-                        self.dimensions.height - int(self.square_size / 2),
-                        text=str(lx), font="Arial 10 bold", fill='White')
-            
+                    text_x,
+                    self.dimensions.height - int(self.square_size/2),
+                    text=str(lx),
+                    font="Arial 10 bold",
+                    fill='White')
+
         ys_size = len(self.ys)
         for ly in range(0, ys_size):
             fill = "black"
             if ly % 3:
                 fill = "gray"
-            self._canvas.create_line(0, self.ys[ly], self.dimensions.width , self.ys[ly], fill=fill)
+            self._canvas.create_line(
+                0, self.ys[ly], self.dimensions.width, self.ys[ly], fill=fill)
             if ly + 1 < ys_size and ly != 0:
                 self._canvas.create_rectangle(
-                                              0 + text_background_buffer,
-                                              self.ys[ly] + text_background_buffer,
-                                              self.square_size - text_background_buffer,
-                                              self.ys[ly + 1] - text_background_buffer, fill='Black')
+                    0 + text_background_buffer,
+                    self.ys[ly] + text_background_buffer,
+                    self.square_size - text_background_buffer,
+                    self.ys[ly + 1] - text_background_buffer,
+                    fill='Black')
                 self._canvas.create_rectangle(
-                                              self.dimensions.width - self.square_size + text_background_buffer,
-                                              self.ys[ly] + text_background_buffer,
-                                              self.dimensions.width - text_background_buffer,
-                                              self.ys[ly + 1] - text_background_buffer, fill='Black')
-                text_y = int((self.ys[ly] + self.ys[ly + 1]) / 2)
+                    self.dimensions.width - self.square_size + text_background_buffer,
+                    self.ys[ly] + text_background_buffer,
+                    self.dimensions.width - text_background_buffer,
+                    self.ys[ly + 1] - text_background_buffer,
+                    fill='Black')
+                text_y = int((self.ys[ly] + self.ys[ly + 1])/2)
                 self._canvas.create_text(
-                    int(self.square_size / 2),
+                    int(self.square_size/2),
                     text_y,
-                    text=str(ly), font="Arial 10 bold", fill='White')
+                    text=str(ly),
+                    font="Arial 10 bold",
+                    fill='White')
                 self._canvas.create_text(
-                    self.dimensions.width - int(self.square_size / 2),
+                    self.dimensions.width - int(self.square_size/2),
                     text_y,
-                    text=str(ly), font="Arial 10 bold", fill='White')
-
+                    text=str(ly),
+                    font="Arial 10 bold",
+                    fill='White')
 
-        
 
-
-    
 def main(argv):
     help_message = 'Usage: grids.py -g  [-m ]\n where  is one of:\n  r\trainbow grid\n  d\tdouglas grid'
     try:
@@ -348,9 +376,10 @@ def main(argv):
             m = arg
     if g is None:
         raise ValueError("Grid mode not specified.")
-    r = monitors[int(m)-1].rectangle
+    r = monitors[int(m) - 1].rectangle
     grid_size = Dimensions(int(r.dx), int(r.dy), int(r.x), int(r.y))
     g(grid_size=grid_size)
 
+
 if __name__ == '__main__':
     main(sys.argv[1:])
diff --git a/caster/asynch/mouse/legion.py b/caster/asynch/mouse/legion.py
index e66c09ae3..39be3c66b 100644
--- a/caster/asynch/mouse/legion.py
+++ b/caster/asynch/mouse/legion.py
@@ -6,8 +6,7 @@
 
 from dragonfly import monitors
 
-
-try: # Style C -- may be imported into Caster, or externally
+try:  # Style C -- may be imported into Caster, or externally
     BASE_PATH = os.path.realpath(__file__).split("\\caster")[0].replace("\\", "/")
     if BASE_PATH not in sys.path:
         sys.path.append(BASE_PATH)
@@ -19,53 +18,58 @@
     from PIL import ImageGrab, ImageFilter
 except ImportError:
     utilities.availability_message("Legion", "PIL")
-
 '''
 Roughly determines the size of each rectangle (give or take a few pixels).
 Anything less than 60 starts to feel cluttered. 30 is the bare minimum before three digit numbers no longer fit.
 '''
 MAX_WIDTH = 60
 
+
 class Rectangle:
     y1 = None
     y2 = None
     x1 = None
     x2 = None
 
+
 class LegionGrid(TkTransparent):
     def __init__(self, grid_size=None, tirg=None, auto_quit=False):
         self.setup_xmlrpc_server()
         TkTransparent.__init__(self, settings.LEGION_TITLE, grid_size)
         self.attributes("-alpha", 0.7)
-        
+
         self.tirg_positions = {}
         if tirg is not None:
             self.process_rectangles(tirg)
             self.draw_tirg_squares()
-        
+
         self.mainloop()
-    
-    def setup_xmlrpc_server(self): 
+
+    def setup_xmlrpc_server(self):
         TkTransparent.setup_xmlrpc_server(self)
-        self.server.register_function(self.xmlrpc_retrieve_data_hlight, "retrieve_data_for_highlight")
+        self.server.register_function(self.xmlrpc_retrieve_data_hlight,
+                                      "retrieve_data_for_highlight")
         self.server.register_function(self.xmlrpc_go, "go")
-    
+
     def xmlrpc_go(self, index):
-        self.move_mouse(int(self.tirg_positions[index][0]+self.dimensions.x), 
-                        int(self.tirg_positions[index][1]+self.dimensions.y))
-    
+        self.move_mouse(
+            int(self.tirg_positions[index][0] + self.dimensions.x),
+            int(self.tirg_positions[index][1] + self.dimensions.y))
+
     def xmlrpc_retrieve_data_hlight(self, strindex):
         if strindex in self.tirg_positions:
             position_data = self.tirg_positions[strindex]
-            return {"l": position_data[2]+self.dimensions.x, 
-                    "r": position_data[3]+self.dimensions.x, 
-                    "y": position_data[1]+self.dimensions.y}
+            return {
+                "l": position_data[2] + self.dimensions.x,
+                "r": position_data[3] + self.dimensions.x,
+                "y": position_data[1] + self.dimensions.y
+            }
         else:
             return {"err": strindex + " not in map"}
-    
-    def process_rectangles(self, tirg_string):   
+
+    def process_rectangles(self, tirg_string):
         self.tirg_rectangles = []
-        if tirg_string.endswith(",") :
+        if tirg_string.endswith(","):
             tirg_string = tirg_string[:-1]
         tirg_list = tirg_string.split(",")
         curr_rect = None
@@ -86,32 +90,34 @@ def process_rectangles(self, tirg_string):
     def split_rectangles(self):
         # Split larger rectangles into smaller ones to allow greater precision.
         rectangles_to_split = []
-        for rect in self.tirg_rectangles: # Collect all the rectangles that are too large.
+        for rect in self.tirg_rectangles:  # Collect all the rectangles that are too large.
             if rect.x2 - rect.x1 >= MAX_WIDTH:
                 rectangles_to_split.append(rect)
-        self.tirg_rectangles = [x for x in self.tirg_rectangles if x not in rectangles_to_split] # Remove large rectangles.
+        self.tirg_rectangles = [
+            x for x in self.tirg_rectangles if x not in rectangles_to_split
+        ]  # Remove large rectangles.
         self.perform_split(rectangles_to_split)
 
     def perform_split(self, rectangles_to_split):
         # Helper class for splitting larger rectangles to smaller ones.
         for rect in rectangles_to_split:
             width = rect.x2 - rect.x1
-            pieces = width / MAX_WIDTH
-            new_width = width / pieces
+            pieces = width/MAX_WIDTH
+            new_width = width/pieces
             for i in range(0, pieces):
                 r = Rectangle()
-                r.x1 = rect.x1 + new_width * i
+                r.x1 = rect.x1 + new_width*i
                 r.y1 = rect.y1
                 r.x2 = r.x1 + new_width
                 r.y2 = rect.y2
                 self.tirg_rectangles.append(r)
-    
+
     def draw(self):
         ''' or self.server.has_rect_update'''
         self.pre_redraw()
         self.draw_tirg_squares()
         self.unhide()
-        
+
     def draw_tirg_squares(self):
         ''''''
         font = "Arial 12 bold"
@@ -119,62 +125,60 @@ def draw_tirg_squares(self):
         fill_outer = "Black"
         rect_num = 0
         for rect in self.tirg_rectangles:
-            center_x = int((rect.x1 + rect.x2) / 2)
-            center_y = int((rect.y1 + rect.y2) / 2)
+            center_x = int((rect.x1 + rect.x2)/2)
+            center_y = int((rect.y1 + rect.y2)/2)
             label = str(rect_num)
             # lines
             self._canvas.create_line(rect.x1, rect.y1, rect.x2, rect.y1, fill=fill_inner)
             self._canvas.create_line(rect.x1, rect.y2, rect.x2, rect.y2, fill=fill_inner)
             self._canvas.create_line(rect.x1, rect.y1, rect.x1, rect.y2, fill=fill_inner)
             self._canvas.create_line(rect.x2, rect.y1, rect.x2, rect.y2, fill=fill_inner)
-            
+
             # text
-            self._canvas.create_text(center_x + 1, center_y + 1, text=label, font=font, fill=fill_outer)
-            self._canvas.create_text(center_x - 1, center_y + 1, text=label, font=font, fill=fill_outer)
-            self._canvas.create_text(center_x + 1, center_y - 1, text=label, font=font, fill=fill_outer)
-            self._canvas.create_text(center_x - 1, center_y - 1, text=label, font=font, fill=fill_outer)
-            self._canvas.create_text(center_x, center_y, text=label, font=font, fill=fill_inner)
-            
+            self._canvas.create_text(
+                center_x + 1, center_y + 1, text=label, font=font, fill=fill_outer)
+            self._canvas.create_text(
+                center_x - 1, center_y + 1, text=label, font=font, fill=fill_outer)
+            self._canvas.create_text(
+                center_x + 1, center_y - 1, text=label, font=font, fill=fill_outer)
+            self._canvas.create_text(
+                center_x - 1, center_y - 1, text=label, font=font, fill=fill_outer)
+            self._canvas.create_text(
+                center_x, center_y, text=label, font=font, fill=fill_inner)
             '''rect.x1, rect.x2 are now being saved below for the highlight function'''
             self.tirg_positions[label] = (center_x, center_y, rect.x1, rect.x2)
             rect_num += 1
 
 
-
-
-
-
-
-
-
-
 class LegionScanner:
     def __init__(self):
         # setup dll
         self.tirg_dll = None
         self.setup_dll()
-        
+
         self.lock = threading.Lock()
         self.last_signature = None
         self.screen_has_changed = False
 
     def setup_dll(self):
-        self.tirg_dll = cdll.LoadLibrary(settings.SETTINGS["paths"]["DLL_PATH"] + "tirg-dll.dll")
+        self.tirg_dll = cdll.LoadLibrary(
+            settings.SETTINGS["paths"]["DLL_PATH"] + "tirg-dll.dll")
         self.tirg_dll.getTextBBoxesFromFile.argtypes = [c_char_p, c_int, c_int]
         self.tirg_dll.getTextBBoxesFromFile.restype = c_char_p
         self.tirg_dll.getTextBBoxesFromBytes.argtypes = [c_char_p, c_int, c_int]
         self.tirg_dll.getTextBBoxesFromBytes.restype = c_char_p
-        
+
     def tirg_scan(self, img):
-        bbstring = self.tirg_dll.getTextBBoxesFromBytes(img.tobytes(), img.size[0], img.size[1])
+        bbstring = self.tirg_dll.getTextBBoxesFromBytes(img.tobytes(), img.size[0],
+                                                        img.size[1])
         # clean the results in case any garbage letters come through
         result = re.sub("[^0-9,]", "", bbstring)
         return result
-        
+
     def scan(self, bbox=None):
         # ImageGrab.grab currently doesn't support multiple monitors.
         # If PIL gets updated with multimon support, this can be switched back.
-        img = gdi.grab_screen(bbox) # ImageGrab.grab(bbox)
+        img = gdi.grab_screen(bbox)  # ImageGrab.grab(bbox)
         img = img.filter(ImageFilter.FIND_EDGES)
         result = self.tirg_scan(img)
         if result != self.last_signature:
@@ -182,7 +186,7 @@ def scan(self, bbox=None):
                 self.last_signature = result
                 self.screen_has_changed = True
         # do rectangle scans here
-        
+
     def get_update(self):
         with self.lock:
             if self.screen_has_changed:
@@ -199,7 +203,8 @@ def main(argv):
     dimensions = None
     auto_quit = False
     try:
-        opts, args = getopt.getopt(argv, "ht:a:d:m:", ["tirg=", "dimensions=", "autoquit="])
+        opts, args = getopt.getopt(argv, "ht:a:d:m:",
+                                   ["tirg=", "dimensions=", "autoquit="])
     except getopt.GetoptError:
         print(help_message)
         sys.exit(2)
@@ -216,16 +221,15 @@ def main(argv):
                 # wxh+x+y
                 dimensions = Dimensions(*[int(n) for n in arg.split("_")])
             elif opt in ("-a", "--autoquit"):
-                auto_quit = arg in ("1", "t")    
-        
+                auto_quit = arg in ("1", "t")
+
         if dimensions is None:
-            r = monitors[int(monitor)-1].rectangle
+            r = monitors[int(monitor) - 1].rectangle
             dimensions = Dimensions(int(r.dx), int(r.dy), int(r.x), int(r.y))
         lg = LegionGrid(grid_size=dimensions, tirg=tirg, auto_quit=auto_quit)
     except Exception:
         utilities.simple_log(True)
-        
-        
+
 
 if __name__ == "__main__":
     main(sys.argv[1:])
diff --git a/caster/asynch/settingswindow.py b/caster/asynch/settingswindow.py
index 4f7537816..88653e290 100644
--- a/caster/asynch/settingswindow.py
+++ b/caster/asynch/settingswindow.py
@@ -11,8 +11,7 @@
 
 from wx.lib.scrolledpanel import ScrolledPanel
 
-
-try: # Style C -- may be imported into Caster, or externally
+try:  # Style C -- may be imported into Caster, or externally
     BASE_PATH = os.path.realpath(__file__).split("\\caster")[0].replace("\\", "/")
     if BASE_PATH not in sys.path:
         sys.path.append(BASE_PATH)
@@ -20,23 +19,25 @@
     from caster.lib import settings
     from caster.lib.dfplus.communication import Communicator
 
+
 class Field:
     def __init__(self, wx_field, original, text_type=None):
         self.children = []
         self.wx_field = wx_field
         self.original = original
         self.text_type = text_type
+
     def add_child(self, field):
         self.children.append(field)
 
-class SettingsFrame(Frame):
 
+class SettingsFrame(Frame):
     def __init__(self, parent, title):
-        Frame.__init__(self, parent, title=title, size=(500,400))
+        Frame.__init__(self, parent, title=title, size=(500, 400))
         self.setup_xmlrpc_server()
         self.completed = False
-        
-        # Create the notebook 
+
+        # Create the notebook
         self.notebook = Notebook(self, style=NB_MULTILINE)
         # Setting up the menu
         file_menu = Menu()
@@ -45,41 +46,45 @@ def __init__(self, parent, title):
         menu_bar = MenuBar()
         menu_bar.Append(file_menu, '&File')
         self.SetMenuBar(menu_bar)
-        
+
         alpha = settings.SETTINGS.keys()
         alpha.sort()
         self.fields = []
         for top in alpha:
             self.make_page(top)
-        
+
         self.CenterOnScreen()
         self.Show()
-        
+
         self.Bind(EVT_CLOSE, self.xmlrpc_kill)
+
         def start_server():
             while not self.server_quit:
                 self.server.handle_request()
+
         Timer(0.5, start_server).start()
         Timer(300, self.xmlrpc_kill).start()
-    
+
     def prepare_for_exit(self, e):
         self.Hide()
         self.completed = True
         threading.Timer(10, self.xmlrpc_kill).start()
-    
+
     def tree_to_dictionary(self, t=None):
         d = {}
-        
+
         children = None
         if t is None: children = self.fields
         else: children = t.children
-        
+
         for field in children:
             value = None
             if isinstance(field.wx_field, TextCtrl):
                 value = field.wx_field.GetValue()
                 if field.text_type == list:
-                    d[field.original] = [x for x in value.replace(", ", ",").split(",") if x] # don't count empty strings
+                    d[field.original] = [
+                        x for x in value.replace(", ", ",").split(",") if x
+                    ]  # don't count empty strings
                 elif field.text_type == int:
                     d[field.original] = int(value)
                 else:
@@ -88,64 +93,65 @@ def tree_to_dictionary(self, t=None):
                 d[field.original] = self.tree_to_dictionary(field)
             elif isinstance(field.wx_field, CheckBox):
                 d[field.original] = field.wx_field.GetValue()
-        
+
         return d
-        
-    def setup_xmlrpc_server(self): 
+
+    def setup_xmlrpc_server(self):
         self.server_quit = 0
         comm = Communicator()
-        self.server = SimpleXMLRPCServer((Communicator.LOCALHOST, comm.com_registry["hmc"]), allow_none=True)
+        self.server = SimpleXMLRPCServer(
+            (Communicator.LOCALHOST, comm.com_registry["hmc"]), allow_none=True)
         self.server.register_function(self.xmlrpc_get_message, "get_message")
         self.server.register_function(self.xmlrpc_complete, "complete")
         self.server.register_function(self.xmlrpc_kill, "kill")
-    
+
     def xmlrpc_kill(self, e=None):
         self.server_quit = 1
         os.kill(os.getpid(), signal.SIGTERM)
         self.Close()
-        
+
     def xmlrpc_get_message(self):
         if self.completed:
             Timer(1, self.xmlrpc_kill).start()
             return self.tree_to_dictionary()
         else:
             return None
-        
+
     def xmlrpc_complete(self):
         self.completed = True
         self.Hide()
-    
-    def make_page(self, title): 
-        page = ScrolledPanel(parent = self.notebook, id = -1)
+
+    def make_page(self, title):
+        page = ScrolledPanel(parent=self.notebook, id=-1)
         vbox = BoxSizer(VERTICAL)
         field = Field(page, title)
         self.get_fields(page, vbox, field)
         self.fields.append(field)
-        
+
         page.SetupScrolling()
         page.SetSizer(vbox)
         self.notebook.AddPage(page, title)
-    
+
     def get_fields(self, page, vbox, field):
         keys = settings.SETTINGS[field.original].keys()
         keys.sort()
-        
+
         for label in keys:
             hbox = BoxSizer(HORIZONTAL)
             value = settings.SETTINGS[field.original][label]
-            
+
             lbl = StaticText(page, label=label)
             hbox.Add(lbl, flag=RIGHT, border=8)
-            
+
             subfield = Field(None, label)
             item = self.field_from_value(page, value, subfield)
             field.add_child(subfield)
-            
-            if item!=None:
+
+            if item != None:
                 hbox.Add(item, proportion=1)
-            vbox.Add(hbox, flag=EXPAND|LEFT|RIGHT|TOP, border=5)
+            vbox.Add(hbox, flag=EXPAND | LEFT | RIGHT | TOP, border=5)
             vbox.Add((-1, 5))
-    
+
     def field_from_value(self, window, value, field):
         item = None
         if isinstance(value, basestring):
@@ -173,9 +179,9 @@ def field_from_value(self, window, value, field):
                 subfield = Field(None, lbl)
                 item = self.field_from_value(subpage, value2, subfield)
                 field.add_child(subfield)
-                if item!=None:
+                if item != None:
                     hbox.Add(item, proportion=1)
-                vbox.Add(hbox, flag=EXPAND|LEFT|RIGHT|TOP, border=5)
+                vbox.Add(hbox, flag=EXPAND | LEFT | RIGHT | TOP, border=5)
                 vbox.Add((-1, 5))
             subpage.SetSizer(vbox)
             subpage.Show()
@@ -183,7 +189,9 @@ def field_from_value(self, window, value, field):
         field.wx_field = item
         return item
 
+
 # if __name__ == '__main__':
 app = App(False)
-frame = SettingsFrame(None, settings.SETTINGS_WINDOW_TITLE + settings.SOFTWARE_VERSION_NUMBER)
-app.MainLoop()
\ No newline at end of file
+frame = SettingsFrame(None,
+                      settings.SETTINGS_WINDOW_TITLE + settings.SOFTWARE_VERSION_NUMBER)
+app.MainLoop()
diff --git a/caster/asynch/sikuli/scripts/example.sikuli/example.py b/caster/asynch/sikuli/scripts/example.sikuli/example.py
index 4e4fcf6e1..f44816894 100644
--- a/caster/asynch/sikuli/scripts/example.sikuli/example.py
+++ b/caster/asynch/sikuli/scripts/example.sikuli/example.py
@@ -1,4 +1,5 @@
 from sikuli import *
 
+
 def export_command():
     click("1434072940616.png")
diff --git a/caster/asynch/sikuli/scripts/xmlrpc_server.sikuli/xmlrpc_server.py b/caster/asynch/sikuli/scripts/xmlrpc_server.sikuli/xmlrpc_server.py
index 46ce73559..dfd7c35a6 100644
--- a/caster/asynch/sikuli/scripts/xmlrpc_server.sikuli/xmlrpc_server.py
+++ b/caster/asynch/sikuli/scripts/xmlrpc_server.sikuli/xmlrpc_server.py
@@ -10,16 +10,22 @@
 server = SimpleXMLRPCServer(("127.0.0.1", 8000), allow_none=True)
 quit = 0
 
+
 def ping():
     return 1
+
+
 def list_functions():
     global modules
     return modules
+
+
 def terminate():
     global quit
     quit = 1
     return 1
 
+
 server.register_function(list_functions, "list_functions")
 server.register_function(terminate, "terminate")
 
@@ -28,17 +34,16 @@ def terminate():
 for s in [x[0] for x in os.walk(SCRIPTS_PATH)]:
     if s.endswith(".sikuli") and not s.endswith("xmlrpc_server.sikuli"):
         mdl_name = s.split(".")[0].split("\\")[-1]
-        exec("import " + mdl_name)
-        exec("l = getmembers(" + mdl_name+", isfunction)")
+        exec ("import " + mdl_name)
+        exec ("l = getmembers(" + mdl_name + ", isfunction)")
         for d in l:
             if d[0].startswith("export_"):
-                registered_function_name=mdl_name+"_"+d[0].replace("export_", "")
+                registered_function_name = mdl_name + "_" + d[0].replace("export_", "")
                 modules.append(registered_function_name)
-                exec("server.register_function("+mdl_name+"."+d[0]+", '"+registered_function_name+"')")
-                
-        
-print("Caster Sikuli Bridge\n\nlist of available commands " + str(modules))
+                exec ("server.register_function(" + mdl_name + "." + d[0] + ", '" +
+                      registered_function_name + "')")
 
+print("Caster Sikuli Bridge\n\nlist of available commands " + str(modules))
 
 
 # examples
@@ -46,8 +51,6 @@ def add(self, x, y):
     return x + y
 
 
-
-
 try:
     while not quit:
         server.handle_request()
diff --git a/caster/asynch/sikuli/sikuli.py b/caster/asynch/sikuli/sikuli.py
index a03b90003..a3b27ed46 100644
--- a/caster/asynch/sikuli/sikuli.py
+++ b/caster/asynch/sikuli/sikuli.py
@@ -8,30 +8,38 @@
 from caster.lib.dfplus.merge import gfilter
 from caster.lib.dfplus.merge.mergerule import MergeRule
 
-
 grammar = None
 server_proxy = None
 _NEXUS = control.nexus()
 
+
 def launch_IDE():
-    Popen([settings.SETTINGS["paths"]["SIKULI_COMPATIBLE_JAVA_EXE_PATH"],
-                "-jar", settings.SETTINGS["paths"]["SIKULI_IDE_JAR_PATH"]])
-    
+    Popen([
+        settings.SETTINGS["paths"]["SIKULI_COMPATIBLE_JAVA_EXE_PATH"], "-jar",
+        settings.SETTINGS["paths"]["SIKULI_IDE_JAR_PATH"]
+    ])
+
+
 def launch_server():
-    Popen([settings.SETTINGS["paths"]["SIKULI_COMPATIBLE_JAVA_EXE_PATH"],
-                "-jar", settings.SETTINGS["paths"]["SIKULI_SCRIPTS_JAR_PATH"],
-                "-r", settings.SETTINGS["paths"]["SIKULI_SERVER_PATH"]
-                ])
+    Popen([
+        settings.SETTINGS["paths"]["SIKULI_COMPATIBLE_JAVA_EXE_PATH"], "-jar",
+        settings.SETTINGS["paths"]["SIKULI_SCRIPTS_JAR_PATH"], "-r",
+        settings.SETTINGS["paths"]["SIKULI_SERVER_PATH"]
+    ])
+
+
 #
 
+
 def execute(fname):
     try:
         global server_proxy
-        fn=getattr(server_proxy, fname)
+        fn = getattr(server_proxy, fname)
         fn()
     except Exception:
         utilities.simple_log()
 
+
 def generate_commands(list_of_functions):
     global server_proxy
     global grammar
@@ -44,14 +52,16 @@ def generate_commands(list_of_functions):
     grammar.add_rule(MappingRule(mapping=mapping, name="sikuli server"))
     grammar.load()
 
+
 def start_server_proxy():
     global server_proxy
     server_proxy = control.nexus().comm.get_com("sikuli")
     fns = server_proxy.list_functions()
-    if len(fns)>0:
+    if len(fns) > 0:
         generate_commands(fns)
     print("Caster-Sikuli server started successfully.")
-    
+
+
 def server_proxy_timer_fn():
     print("Attempting Caster-Sikuli connection [...]")
     try:
@@ -59,29 +69,34 @@ def server_proxy_timer_fn():
         control.nexus().timer.remove_callback(server_proxy_timer_fn)
     except Exception:
         pass
+
+
 #         utilities.simple_log(False)
-    
+
+
 def unload():
     global grammar
     if grammar: grammar.unload()
     grammar = None
 
+
 def refresh(_NEXUS):
     ''' should be able to add new scripts on the fly and then call this '''
     unload()
     global grammar
     grammar = Grammar("si/kuli")
+
     def refresh_sick_command():
         server_proxy.terminate()
         refresh(_NEXUS)
-    
+
     mapping = {
-        "launch sick IDE":           Function(launch_IDE),
-        "launch sick server":        Function(launch_server),
-        "refresh sick you Lee":      Function(refresh_sick_command),
-        "sick shot":                 Key("cs-2"),
+        "launch sick IDE": Function(launch_IDE),
+        "launch sick server": Function(launch_server),
+        "refresh sick you Lee": Function(refresh_sick_command),
+        "sick shot": Key("cs-2"),
     }
-    
+
     rule = MergeRule(name="sik", mapping=mapping)
     gfilter.run_on(rule)
     grammar.add_rule(rule)
@@ -98,5 +113,3 @@ def refresh_sick_command():
 
 if settings.SETTINGS["miscellaneous"]["sikuli_enabled"]:
     refresh(_NEXUS)
-        
-
diff --git a/caster/lib/alphanumeric.py b/caster/lib/alphanumeric.py
index 073122d7f..92f683516 100644
--- a/caster/lib/alphanumeric.py
+++ b/caster/lib/alphanumeric.py
@@ -4,80 +4,76 @@
 
 
 def get_alphabet_choice(spec):
-    return Choice(spec,
-              {
-            "arch": "a", 
-            "brov": "b", 
-            "char": "c", 
-            "delta": "d", 
-            "echo": "e", 
-            "foxy": "f", 
-            "goof": "g", 
-            "hotel": "h", 
-            "India": "i", 
-            "julia": "j", 
-            "kilo": "k", 
-            "Lima": "l", 
-            "Mike": "m", 
-            "Novakeen": "n", 
-            "oscar": "o", 
-            "prime": "p", 
-            "Quebec": "q", 
-            "Romeo": "r", 
-            "Sierra": "s", 
-            "tango": "t", 
-            "uniform": "u", 
-            "victor": "v", 
-            "whiskey": "w", 
-            "x-ray": "x", 
-            "yankee": "y", 
-            "Zulu": "z", 
-               })
+    return Choice(
+        spec, {
+            "arch": "a",
+            "brov": "b",
+            "char": "c",
+            "delta": "d",
+            "echo": "e",
+            "foxy": "f",
+            "goof": "g",
+            "hotel": "h",
+            "India": "i",
+            "julia": "j",
+            "kilo": "k",
+            "Lima": "l",
+            "Mike": "m",
+            "Novakeen": "n",
+            "oscar": "o",
+            "prime": "p",
+            "Quebec": "q",
+            "Romeo": "r",
+            "Sierra": "s",
+            "tango": "t",
+            "uniform": "u",
+            "victor": "v",
+            "whiskey": "w",
+            "x-ray": "x",
+            "yankee": "y",
+            "Zulu": "z",
+        })
+
 
 def word_number(wn):
     numbers_to_words = {
-                      0: "zero",
-                      1: "one",
-                      2: "two",
-                      3: "three",
-                      4: "four",
-                      5: "five",
-                      6: "six",
-                      7: "seven",
-                      8: "eight",
-                      9: "nine"
+        0: "zero",
+        1: "one",
+        2: "two",
+        3: "three",
+        4: "four",
+        5: "five",
+        6: "six",
+        7: "seven",
+        8: "eight",
+        9: "nine"
     }
     Text(numbers_to_words[int(wn)]).execute()
 
+
 def numbers_list_1_to_9():
-    result=[ "one",
-             "torque",
-             "traio",
-             "fairn",
-             "faif",
-             "six",
-             "seven",
-             "eigen",
-             "nine"]
+    result = ["one", "torque", "traio", "fairn", "faif", "six", "seven", "eigen", "nine"]
     if not settings.SETTINGS["miscellaneous"]["integer_remap_opt_in"]:
-        result[1]="two"
-        result[2]="three"
-        result[3]="four"
-        result[4]="five"
-        result[7]="eight"
+        result[1] = "two"
+        result[2] = "three"
+        result[3] = "four"
+        result[4] = "five"
+        result[7] = "eight"
     return result
 
+
 def numbers_map_1_to_9():
     result = {}
     l = numbers_list_1_to_9()
     for i in range(0, len(l)):
-        result[l[i]] = i+1
+        result[l[i]] = i + 1
     return result
 
 
 def numbers2(wnKK):
     Text(str(wnKK)).execute()
 
+
 def letters(big, dict1, dict2, letter):
     '''used with alphabet.txt'''
     d1 = str(dict1)
@@ -91,7 +87,8 @@ def letters(big, dict1, dict2, letter):
     d2 = str(dict2)
     if d2 != "":
         Text(d2).execute()
-    
+
+
 def letters2(big, letter):
     if str(big) != "":
         Key("shift:down").execute()
@@ -99,18 +96,44 @@ def letters2(big, letter):
     if str(big) != "":
         Key("shift:up").execute()
 
+
 '''for fun'''
+
+
 def elite_text(text):
-    elite_map={"a": "@", "b":"|3", "c": "(", "d": "|)", "e": "3", 
-               "f": "|=", "g":"6", "h": "]-[", "i": "|", "j": "_|", 
-               "k": "|{", "l": "|_", "m": r"|\/|", "n": r"|\|", "o": "()", 
-               "p": "|D", "q": "(,)", "r": "|2", "s": "$", "t": "']['", 
-               "u": "|_|", "v": r"\/", "w": r"\/\/", "x": "}{", "y": "`/", "z": r"(\)"}
-    text=str(text).lower()
-    result=""
+    elite_map = {
+        "a": "@",
+        "b": "|3",
+        "c": "(",
+        "d": "|)",
+        "e": "3",
+        "f": "|=",
+        "g": "6",
+        "h": "]-[",
+        "i": "|",
+        "j": "_|",
+        "k": "|{",
+        "l": "|_",
+        "m": r"|\/|",
+        "n": r"|\|",
+        "o": "()",
+        "p": "|D",
+        "q": "(,)",
+        "r": "|2",
+        "s": "$",
+        "t": "']['",
+        "u": "|_|",
+        "v": r"\/",
+        "w": r"\/\/",
+        "x": "}{",
+        "y": "`/",
+        "z": r"(\)"
+    }
+    text = str(text).lower()
+    result = ""
     for c in text:
         if c in elite_map:
-            result+=elite_map[c]
+            result += elite_map[c]
         else:
-            result+=c
-    Text(result).execute()
\ No newline at end of file
+            result += c
+    Text(result).execute()
diff --git a/caster/lib/ccr/bash/bash.py b/caster/lib/ccr/bash/bash.py
index bce69ec0d..3d5271270 100644
--- a/caster/lib/ccr/bash/bash.py
+++ b/caster/lib/ccr/bash/bash.py
@@ -13,61 +13,91 @@
 
 class Bash(MergeRule):
     mapping = {
-        SymbolSpecs.IF:                 R(Text("if [[  ]]; ")+Key("left/5:5"), rdescript="Bash: If"),
-        SymbolSpecs.ELSE:               R(Text("else"), rdescript="Bash: Else"),
+        SymbolSpecs.IF:
+            R(Text("if [[  ]]; ") + Key("left/5:5"), rdescript="Bash: If"),
+        SymbolSpecs.ELSE:
+            R(Text("else"), rdescript="Bash: Else"),
         #
-        SymbolSpecs.SWITCH:             R(Text("case TOKEN in"), rdescript="Bash: Switch"),
-        SymbolSpecs.CASE:               R(Text("TOKEN)  ;;")+Key("left/5:2"), rdescript="Bash: Case"),
-        SymbolSpecs.BREAK:              R(Text("break"), rdescript="Bash: Break"),
-        SymbolSpecs.DEFAULT:            R(Text("*)  ;;"), rdescript="Bash: Default"),
+        SymbolSpecs.SWITCH:
+            R(Text("case TOKEN in"), rdescript="Bash: Switch"),
+        SymbolSpecs.CASE:
+            R(Text("TOKEN)  ;;") + Key("left/5:2"), rdescript="Bash: Case"),
+        SymbolSpecs.BREAK:
+            R(Text("break"), rdescript="Bash: Break"),
+        SymbolSpecs.DEFAULT:
+            R(Text("*)  ;;"), rdescript="Bash: Default"),
         #
-        SymbolSpecs.DO_LOOP:            R(Text("until [  ]; do")+Key("left/5:7"), rdescript="Bash: Do Loop"),
-        SymbolSpecs.WHILE_LOOP:         R(Text("while [  ]; do")+Key("left/5:7"), rdescript="Bash: While"),
-        SymbolSpecs.FOR_LOOP:           R(Text("for (( i=0; i<=TOKEN; i++ )); do"), rdescript="Bash: For i Loop"),
-        SymbolSpecs.FOR_EACH_LOOP:      R(Text("for TOKEN in TOKEN; do"), rdescript="Bash: For Each Loop"), 
+        SymbolSpecs.DO_LOOP:
+            R(Text("until [  ]; do") + Key("left/5:7"), rdescript="Bash: Do Loop"),
+        SymbolSpecs.WHILE_LOOP:
+            R(Text("while [  ]; do") + Key("left/5:7"), rdescript="Bash: While"),
+        SymbolSpecs.FOR_LOOP:
+            R(Text("for (( i=0; i<=TOKEN; i++ )); do"), rdescript="Bash: For i Loop"),
+        SymbolSpecs.FOR_EACH_LOOP:
+            R(Text("for TOKEN in TOKEN; do"), rdescript="Bash: For Each Loop"),
         #
         # integers?
         # strings?
         # floats?
         #
-        SymbolSpecs.AND:                R(Text(" && "), rdescript="Bash: And"),
-        SymbolSpecs.OR:                 R(Text(" || "), rdescript="Bash: Or"),
-        SymbolSpecs.NOT:                R(Text("!"), rdescript="Bash: Not"),
+        SymbolSpecs.AND:
+            R(Text(" && "), rdescript="Bash: And"),
+        SymbolSpecs.OR:
+            R(Text(" || "), rdescript="Bash: Or"),
+        SymbolSpecs.NOT:
+            R(Text("!"), rdescript="Bash: Not"),
         #
-        SymbolSpecs.SYSOUT:             R(Text("echo "), rdescript="Bash: Print"),
+        SymbolSpecs.SYSOUT:
+            R(Text("echo "), rdescript="Bash: Print"),
         #
-        SymbolSpecs.IMPORT:             R(Text(". /path/to/functions"), rdescript="Bash: Import"), # (top of file, under #!/bin/bash)
-        # 
-        SymbolSpecs.FUNCTION:           R(Text("TOKEN(){}")+Key("left, enter/5:2"), rdescript="Bash: Function"),
+        SymbolSpecs.IMPORT:
+            R(Text(". /path/to/functions"),
+              rdescript="Bash: Import"),  # (top of file, under #!/bin/bash)
+        #
+        SymbolSpecs.FUNCTION:
+            R(Text("TOKEN(){}") + Key("left, enter/5:2"), rdescript="Bash: Function"),
         # classes?
         #
-        SymbolSpecs.COMMENT:            R(Text("# "), rdescript="Bash: Add Comment"),
+        SymbolSpecs.COMMENT:
+            R(Text("# "), rdescript="Bash: Add Comment"),
         # no multiline comment in bash
         #
-        SymbolSpecs.NULL:               R(Text('-z "$var"')+Key("left/5:1"), rdescript="Bash: Null"),
+        SymbolSpecs.NULL:
+            R(Text('-z "$var"') + Key("left/5:1"), rdescript="Bash: Null"),
         #
-        SymbolSpecs.RETURN:             R(Text("return "), rdescript="Bash: Return"),
+        SymbolSpecs.RETURN:
+            R(Text("return "), rdescript="Bash: Return"),
         #
-        SymbolSpecs.TRUE:               R(Text("true"), rdescript="Bash: True"),
-        SymbolSpecs.FALSE:              R(Text("false"), rdescript="Bash: False"),
-        
-        
+        SymbolSpecs.TRUE:
+            R(Text("true"), rdescript="Bash: True"),
+        SymbolSpecs.FALSE:
+            R(Text("false"), rdescript="Bash: False"),
+
         # Bash specific
-        
-        "key do":                       R(Text("do"), rdescript="Bash: Do"), 
-        "key done":                     R(Text("done"), rdescript="Bash: Done"),
-        "key fee":                      R(Text("fi"), rdescript="Bash: End If"),
-        "shell iffae":                  R(Text("elif [[  ]]; ")+Key("left/5:5"), rdescript="Bash: Else If"),
-        "sue iffae":                    R(Text("[[  ]]")+Key("left/5:3"), rdescript="Bash: Short If"),
-        "length of":                    R(Text("${#TOKEN[@]}"), rdescript="Bash: Length"),
-        "push":                         R(Text("TOKEN+=()"), rdescript="Bash: Push"),
-        "continue":                     R(Text("continue"), rdescript="Bash: Continue"),
-        "she bang":                     R(Text("#!/bin/bash"), rdescript="Bash: Shebang"),
-        "end switch":                   R(Text("esac"), rdescript="Bash: End Switch"), 
-       
-        }
+        "key do":
+            R(Text("do"), rdescript="Bash: Do"),
+        "key done":
+            R(Text("done"), rdescript="Bash: Done"),
+        "key fee":
+            R(Text("fi"), rdescript="Bash: End If"),
+        "shell iffae":
+            R(Text("elif [[  ]]; ") + Key("left/5:5"), rdescript="Bash: Else If"),
+        "sue iffae":
+            R(Text("[[  ]]") + Key("left/5:3"), rdescript="Bash: Short If"),
+        "length of":
+            R(Text("${#TOKEN[@]}"), rdescript="Bash: Length"),
+        "push":
+            R(Text("TOKEN+=()"), rdescript="Bash: Push"),
+        "continue":
+            R(Text("continue"), rdescript="Bash: Continue"),
+        "she bang":
+            R(Text("#!/bin/bash"), rdescript="Bash: Shebang"),
+        "end switch":
+            R(Text("esac"), rdescript="Bash: End Switch"),
+    }
 
-    extras   = []
+    extras = []
     defaults = {}
 
-control.nexus().merger.add_global_rule(Bash())
\ No newline at end of file
+
+control.nexus().merger.add_global_rule(Bash())
diff --git a/caster/lib/ccr/core/alphabet.py b/caster/lib/ccr/core/alphabet.py
index a9d12fad6..97e47ff92 100644
--- a/caster/lib/ccr/core/alphabet.py
+++ b/caster/lib/ccr/core/alphabet.py
@@ -8,18 +8,21 @@
 
 class Alphabet(MergeRule):
     pronunciation = CCRMerger.CORE[0]
-    
+
     mapping = {
-        "[] ": R(Function(alphanumeric.letters2, extra ={"big", "letter"}), rdescript="Spell"),
-        }
+        "[] ":
+            R(Function(alphanumeric.letters2, extra={"big", "letter"}),
+              rdescript="Spell"),
+    }
     extras = [
         alphanumeric.get_alphabet_choice("letter"),
-        Choice("big",
-              {"big": "big",
-               }),
+        Choice("big", {
+            "big": "big",
+        }),
     ]
     defaults = {
-    "big": "", 
+        "big": "",
     }
-    
-control.nexus().merger.add_global_rule(Alphabet())
\ No newline at end of file
+
+
+control.nexus().merger.add_global_rule(Alphabet())
diff --git a/caster/lib/ccr/core/nav.py b/caster/lib/ccr/core/nav.py
index 97cdcf384..a4c77a3b5 100644
--- a/caster/lib/ccr/core/nav.py
+++ b/caster/lib/ccr/core/nav.py
@@ -18,91 +18,145 @@
 
 _NEXUS = control.nexus()
 
+
 class NavigationNon(MappingRule):
     mapping = {
-        " ":    AsynchronousAction([L(S(["cancel"], Key("%(direction)s"), consume=False))], 
-                                                               repetitions=1000, blocking=False ),
-        "erase multi clipboard":            R(Function(navigation.erase_multi_clipboard, nexus=_NEXUS), 
-                                              rdescript="Erase Multi Clipboard"),
-        "find":                             R(Key("c-f"), rdescript="Find"),
-        "find next []":                  R(Key("f3"), rdescript="Find Next") * Repeat(extra="n"),
-        "find prior []":                 R(Key("s-f3"), rdescript="Find Prior") * Repeat(extra="n"),
-        "find everywhere":                  R(Key("cs-f"), rdescript="Find Everywhere"),
-        "replace":                          R(Key("c-h"), rdescript="Replace"),
-        "(F to | F2)":                      R(Key("f2"), rdescript="Key: F2"),
-        "(F six | F6)":                     R(Key("f6"), rdescript="Key: F6"),
-        "(F nine | F9)":                    R(Key("f9"), rdescript="Key: F9"),
-        
-        "[show] context menu":              R(Key("s-f10"), rdescript="Context Menu"),
-
-        "squat":                            R(Function(navigation.left_down, nexus=_NEXUS), rdescript="Mouse: Left Down"),
-        "bench":                            R(Function(navigation.left_up, nexus=_NEXUS), rdescript="Mouse: Left Up"),
-        "kick":                             R(Function(navigation.left_click, nexus=_NEXUS), rdescript="Mouse: Left Click"),
-        "kick mid":                         R(Function(navigation.middle_click, nexus=_NEXUS), rdescript="Mouse: Middle Click"),
-        "psychic":                          R(Function(navigation.right_click, nexus=_NEXUS), rdescript="Mouse: Right Click"),
-        "(kick double|double kick)":        R(Function(navigation.left_click, nexus=_NEXUS) * Repeat(2), rdescript="Mouse: Double Click"),
-        "shift right click":                R(Key("shift:down") + Mouse("right") + Key("shift:up"), rdescript="Mouse: Shift + Right Click"),
-
-        "curse  [] [] []": R(Function(navigation.curse), rdescript="Curse"),
-        "scree  []":   R(Function(navigation.wheel_scroll), rdescript="Wheel Scroll"),
-      
-        "colic":                            R(Key("control:down") + Mouse("left") + Key("control:up"), rdescript="Mouse: Ctrl + Left Click"),
-        "garb []":                R(Mouse("left")+Mouse("left")+Key("c-c")+Function(navigation.clipboard_to_file, nexus=_NEXUS), rdescript="Highlight @ Mouse + Copy"),
-        "drop []":                R(Mouse("left")+Mouse("left")+Function(navigation.drop, nexus=_NEXUS), rdescript="Highlight @ Mouse + Paste"),
-        
-        "sure stoosh":                      R(Key("c-c"), rdescript="Simple Copy"),
-        "sure cut":                         R(Key("c-x"), rdescript="Simple Cut"),
-        "sure spark":                       R(Key("c-v"), rdescript="Simple Paste"),
-        
-        "undo []":                       R(Key("c-z"), rdescript="Undo") * Repeat(extra="n"),
-        "redo []":                       R(Key("c-y"), rdescript="Redo") * Repeat(extra="n"),
-
-        "refresh":                          R(Key("c-r"), rdescript="Refresh"),
-        
-        "maxiwin":                          R(Key("w-up"), rdescript="Maximize Window"),
-        "move window":                      R(Key("a-space, r, a-space, m"), rdescript="Move Window"),
-        "window (left | lease) []":      R(Key("w-left"), rdescript="Window Left") * Repeat(extra="n"),
-        "window (right | ross) []":      R(Key("w-right"), rdescript="Window Right") * Repeat(extra="n"),
-        "monitor (left | lease) []":     R(Key("sw-left"), rdescript="Monitor Left") * Repeat(extra="n"),
-        "monitor (right | ross) []":     R(Key("sw-right"), rdescript="Monitor Right") * Repeat(extra="n"),
-        "(next | prior) window":            R(Key("ca-tab, enter"), rdescript="Next Window"),
-        "switch (window | windows)":        R(Key("ca-tab"), rdescript="Switch Window") * Repeat(extra="n"),
-        
-        "next tab []":                   R(Key("c-pgdown"), rdescript="Next Tab") * Repeat(extra="n"),
-        "prior tab []":                  R(Key("c-pgup"), rdescript="Previous Tab") * Repeat(extra="n"),
-        "close tab []":                  R(Key("c-w/20"), rdescript="Close Tab") * Repeat(extra="n"),
-        
-        "elite translation ":         R(Function(alphanumeric.elite_text), rdescript="1337 Text"),
-        
-          }
-
-    extras   = [
-              Dictation("text"),
-              Dictation("mim"),
-              IntegerRefST("n", 1, 50),
-              IntegerRefST("nnavi500", 1, 500),
-              Choice("time_in_seconds",
-                {"super slow": 5, "slow": 2, "normal": 0.6, "fast": 0.1, "superfast": 0.05
-                }),
-              navigation.get_direction_choice("direction"),
-              navigation.get_direction_choice("direction2"),
-              navigation.TARGET_CHOICE, 
-              Choice("dokick",
-                {"kick": 1, "psychic": 2
-                }),
-              Choice("wm",
-                {"ex": 1, "tie": 2
-                }),
-           ]
+        " ":
+            AsynchronousAction(
+                [L(S(["cancel"], Key("%(direction)s"), consume=False))],
+                repetitions=1000,
+                blocking=False),
+        "erase multi clipboard":
+            R(Function(navigation.erase_multi_clipboard, nexus=_NEXUS),
+              rdescript="Erase Multi Clipboard"),
+        "find":
+            R(Key("c-f"), rdescript="Find"),
+        "find next []":
+            R(Key("f3"), rdescript="Find Next")*Repeat(extra="n"),
+        "find prior []":
+            R(Key("s-f3"), rdescript="Find Prior")*Repeat(extra="n"),
+        "find everywhere":
+            R(Key("cs-f"), rdescript="Find Everywhere"),
+        "replace":
+            R(Key("c-h"), rdescript="Replace"),
+        "(F to | F2)":
+            R(Key("f2"), rdescript="Key: F2"),
+        "(F six | F6)":
+            R(Key("f6"), rdescript="Key: F6"),
+        "(F nine | F9)":
+            R(Key("f9"), rdescript="Key: F9"),
+        "[show] context menu":
+            R(Key("s-f10"), rdescript="Context Menu"),
+        "squat":
+            R(Function(navigation.left_down, nexus=_NEXUS), rdescript="Mouse: Left Down"),
+        "bench":
+            R(Function(navigation.left_up, nexus=_NEXUS), rdescript="Mouse: Left Up"),
+        "kick":
+            R(Function(navigation.left_click, nexus=_NEXUS),
+              rdescript="Mouse: Left Click"),
+        "kick mid":
+            R(Function(navigation.middle_click, nexus=_NEXUS),
+              rdescript="Mouse: Middle Click"),
+        "psychic":
+            R(Function(navigation.right_click, nexus=_NEXUS),
+              rdescript="Mouse: Right Click"),
+        "(kick double|double kick)":
+            R(Function(navigation.left_click, nexus=_NEXUS)*Repeat(2),
+              rdescript="Mouse: Double Click"),
+        "shift right click":
+            R(Key("shift:down") + Mouse("right") + Key("shift:up"),
+              rdescript="Mouse: Shift + Right Click"),
+        "curse  [] [] []":
+            R(Function(navigation.curse), rdescript="Curse"),
+        "scree  []":
+            R(Function(navigation.wheel_scroll), rdescript="Wheel Scroll"),
+        "colic":
+            R(Key("control:down") + Mouse("left") + Key("control:up"),
+              rdescript="Mouse: Ctrl + Left Click"),
+        "garb []":
+            R(Mouse("left") + Mouse("left") + Key("c-c") +
+              Function(navigation.clipboard_to_file, nexus=_NEXUS),
+              rdescript="Highlight @ Mouse + Copy"),
+        "drop []":
+            R(Mouse("left") + Mouse("left") + Function(navigation.drop, nexus=_NEXUS),
+              rdescript="Highlight @ Mouse + Paste"),
+        "sure stoosh":
+            R(Key("c-c"), rdescript="Simple Copy"),
+        "sure cut":
+            R(Key("c-x"), rdescript="Simple Cut"),
+        "sure spark":
+            R(Key("c-v"), rdescript="Simple Paste"),
+        "undo []":
+            R(Key("c-z"), rdescript="Undo")*Repeat(extra="n"),
+        "redo []":
+            R(Key("c-y"), rdescript="Redo")*Repeat(extra="n"),
+        "refresh":
+            R(Key("c-r"), rdescript="Refresh"),
+        "maxiwin":
+            R(Key("w-up"), rdescript="Maximize Window"),
+        "move window":
+            R(Key("a-space, r, a-space, m"), rdescript="Move Window"),
+        "window (left | lease) []":
+            R(Key("w-left"), rdescript="Window Left")*Repeat(extra="n"),
+        "window (right | ross) []":
+            R(Key("w-right"), rdescript="Window Right")*Repeat(extra="n"),
+        "monitor (left | lease) []":
+            R(Key("sw-left"), rdescript="Monitor Left")*Repeat(extra="n"),
+        "monitor (right | ross) []":
+            R(Key("sw-right"), rdescript="Monitor Right")*Repeat(extra="n"),
+        "(next | prior) window":
+            R(Key("ca-tab, enter"), rdescript="Next Window"),
+        "switch (window | windows)":
+            R(Key("ca-tab"), rdescript="Switch Window")*Repeat(extra="n"),
+        "next tab []":
+            R(Key("c-pgdown"), rdescript="Next Tab")*Repeat(extra="n"),
+        "prior tab []":
+            R(Key("c-pgup"), rdescript="Previous Tab")*Repeat(extra="n"),
+        "close tab []":
+            R(Key("c-w/20"), rdescript="Close Tab")*Repeat(extra="n"),
+        "elite translation ":
+            R(Function(alphanumeric.elite_text), rdescript="1337 Text"),
+    }
+
+    extras = [
+        Dictation("text"),
+        Dictation("mim"),
+        IntegerRefST("n", 1, 50),
+        IntegerRefST("nnavi500", 1, 500),
+        Choice("time_in_seconds", {
+            "super slow": 5,
+            "slow": 2,
+            "normal": 0.6,
+            "fast": 0.1,
+            "superfast": 0.05
+        }),
+        navigation.get_direction_choice("direction"),
+        navigation.get_direction_choice("direction2"),
+        navigation.TARGET_CHOICE,
+        Choice("dokick", {
+            "kick": 1,
+            "psychic": 2
+        }),
+        Choice("wm", {
+            "ex": 1,
+            "tie": 2
+        }),
+    ]
     defaults = {
-            "n": 1, "mim":"", "nnavi500": 1, "direction2":"", "dokick": 0, "text": "", "wm": 2
-           }
+        "n": 1,
+        "mim": "",
+        "nnavi500": 1,
+        "direction2": "",
+        "dokick": 0,
+        "text": "",
+        "wm": 2
+    }
 
 
 class Navigation(MergeRule):
     non = NavigationNon
     pronunciation = CCRMerger.CORE[1]
-    
+
     mapping = {
     # "periodic" repeats whatever comes next at 1-second intervals until "cancel" is spoken or 100 tries occur
     "periodic":                     ContextSeeker(forward=[L(S(["cancel"], lambda: None), \
@@ -121,35 +175,35 @@ class Navigation(MergeRule):
                                                    ], time_in_seconds=0.1, repetitions=50, rdescript="Jump: Back" ),
     "jump back in":                 AsynchronousAction([L(S(["cancel"], context.nav, ["left", "(~[~{~<"]))
                                                    ], finisher=Key("right"),
-                                                      time_in_seconds=0.1, 
-                                                      repetitions=50, 
+                                                      time_in_seconds=0.1,
+                                                      repetitions=50,
                                                       rdescript="Jump: Back In" ),
-    
+
     # keyboard shortcuts
     'save':                         R(Key("c-s"), rspec="save", rdescript="Save"),
     'shock []':            R(Key("enter"), rspec="shock", rdescript="Enter")* Repeat(extra="nnavi50"),
-    
+
     "( |  []) [( | )]": R(Function(textformat.master_text_nav), rdescript="Keyboard Text Navigation"),
-    
+
     "stoosh []":          R(Key("c-c")+Function(navigation.clipboard_to_file, nexus=_NEXUS), rspec="stoosh", rdescript="Copy"),
     "cut []":             R(Key("c-x")+Function(navigation.clipboard_to_file, nexus=_NEXUS), rspec="cut", rdescript="Cut"),
     "spark []":           R(Function(navigation.drop, nexus=_NEXUS), rspec="spark", rdescript="Paste"),
-    
+
     "deli []":             R(Key("del/5"), rspec="deli", rdescript="Delete") * Repeat(extra="nnavi50"),
     "clear []":            R(Key("backspace/5:%(nnavi50)d"), rspec="clear", rdescript="Backspace"),
     SymbolSpecs.CANCEL:             R(Key("escape"), rspec="cancel", rdescript="Cancel Action"),
-    
-    
+
+
     "shackle":                      R(Key("home/5, s-end"), rspec="shackle", rdescript="Select Line"),
-    "(tell | tau) ":          R(Function(navigation.next_line), rspec="tell dock", rdescript="Complete Line"), 
+    "(tell | tau) ":          R(Function(navigation.next_line), rspec="tell dock", rdescript="Complete Line"),
     "duple []":            R(Key("escape, home, s-end, c-c, end, enter, c-v"), rspec="duple", rdescript="Duplicate Line") * Repeat(extra="nnavi50"),
     "Kraken":                       R(Key("c-space"), rspec="Kraken", rdescript="Control Space"),
-         
+
     # text formatting
     "set format (  |  | ) (bow|bowel)":  R(Function(textformat.set_text_format), rdescript="Set Text Format"),
     "clear caster formatting":      R(Function(textformat.clear_text_format), rdescript="Clear Caster Formatting"),
     "peek format":                  R(Function(textformat.peek_text_format), rdescript="Peek Format"),
-    "(  |  | ) (bow|bowel)  [brunt]":  R(Function(textformat.master_format_text), rdescript="Text Format"), 
+    "(  |  | ) (bow|bowel)  [brunt]":  R(Function(textformat.master_format_text), rdescript="Text Format"),
     "format ":              R(Function(textformat.prior_text_format), rdescript="Last Text Format"),
     " format ": R(Function(textformat.partial_format_text), rdescript="Partial Text Format"),
     "dredge":                       R(Key("a-tab"), rdescript="Alt-Tab"),
@@ -160,33 +214,52 @@ class Navigation(MergeRule):
         IntegerRefST("nnavi50", 1, 50),
         IntegerRefST("nnavi500", 1, 500),
         Dictation("textnv"),
-        
-        Choice("capitalization",
-                  {"yell": 1, "tie": 2,"Gerrish": 3,"sing":4, "laws":5
-                  }),
-        Choice("spacing",
-                  {"gum": 1, "gun": 1, "spine": 2, "snake":3
-                  }),
-        Choice("semi",
-                    {"dock": ";", "doc": ";", "sink": ""
-                    }),
-        Choice("word_limit",{"single": 1,"double": 2,"triple":3,"Quadra":4}),
-          
-          
-          
+        Choice("capitalization", {
+            "yell": 1,
+            "tie": 2,
+            "Gerrish": 3,
+            "sing": 4,
+            "laws": 5
+        }),
+        Choice("spacing", {
+            "gum": 1,
+            "gun": 1,
+            "spine": 2,
+            "snake": 3
+        }),
+        Choice("semi", {
+            "dock": ";",
+            "doc": ";",
+            "sink": ""
+        }),
+        Choice("word_limit", {
+            "single": 1,
+            "double": 2,
+            "triple": 3,
+            "Quadra": 4
+        }),
         navigation.TARGET_CHOICE,
         navigation.get_direction_choice("mtn_dir"),
-        Choice("mtn_mode",
-                {"shin": "s", "queue": "cs", "fly": "c",
-                }),
-        Choice("extreme",
-                {"Wally": "way",
-                }),
+        Choice("mtn_mode", {
+            "shin": "s",
+            "queue": "cs",
+            "fly": "c",
+        }),
+        Choice("extreme", {
+            "Wally": "way",
+        }),
     ]
 
-    defaults ={
-            "nnavi500": 1, "nnavi50": 1, "textnv": "", "capitalization": 0, "spacing":0, 
-            "mtn_mode": None, "mtn_dir": "right", "extreme": None 
-           }
+    defaults = {
+        "nnavi500": 1,
+        "nnavi50": 1,
+        "textnv": "",
+        "capitalization": 0,
+        "spacing": 0,
+        "mtn_mode": None,
+        "mtn_dir": "right",
+        "extreme": None
+    }
+
 
-control.nexus().merger.add_global_rule(Navigation())
\ No newline at end of file
+control.nexus().merger.add_global_rule(Navigation())
diff --git a/caster/lib/ccr/core/numbers.py b/caster/lib/ccr/core/numbers.py
index 945a946d5..fdbd1a10b 100644
--- a/caster/lib/ccr/core/numbers.py
+++ b/caster/lib/ccr/core/numbers.py
@@ -10,17 +10,19 @@
 class Numbers(MergeRule):
     pronunciation = CCRMerger.CORE[2]
     mapping = {
-            "word number ":     R(Function(alphanumeric.word_number, extra="wn"), rdescript="Number As Word"),
-            "numb ":          R(Function(alphanumeric.numbers2, extra="wnKK"), rspec="number", rdescript="Number"),
-                     
-            
-          }
-
+        "word number ":
+            R(Function(alphanumeric.word_number, extra="wn"), rdescript="Number As Word"),
+        "numb ":
+            R(Function(alphanumeric.numbers2, extra="wnKK"),
+              rspec="number",
+              rdescript="Number"),
+    }
 
     extras = [
         IntegerRefST("wn", 0, 10),
         IntegerRefST("wnKK", 0, 1000000),
     ]
     defaults = {}
-    
-control.nexus().merger.add_global_rule(Numbers())
\ No newline at end of file
+
+
+control.nexus().merger.add_global_rule(Numbers())
diff --git a/caster/lib/ccr/core/punctuation.py b/caster/lib/ccr/core/punctuation.py
index b79b1ea04..22b7b1c29 100644
--- a/caster/lib/ccr/core/punctuation.py
+++ b/caster/lib/ccr/core/punctuation.py
@@ -11,52 +11,86 @@
 
 class Punctuation(MergeRule):
     pronunciation = CCRMerger.CORE[3]
-    
+
     mapping = {
-        "semper":                           R(Key("semicolon"), rdescript="Semicolon"),        
-        "quotes":                           R(Key("dquote,dquote,left"), rdescript="Quotation Marks"),
-        "thin quotes":                      R(Key("apostrophe,apostrophe,left"), rdescript="Thin Quotation Marks"),               
-        "[is] greater than":                R(Key("rangle"), rdescript="> Comparison"),
-        "[is] less than":                   R(Key("langle"), rdescript="< Comparison"),
-        "[is] greater [than] [or] equal [to]":  R(Key("rangle, equals"), rdescript=">= Comparison"),
-        "[is] less [than] [or] equal [to]":     R(Key("langle, equals"), rdescript="<= Comparison"),
-        "[is] equal to":                    R(Key("equals,equals"), rdescript="Equality"),
-        "equals":                           R(Key("equals"), rdescript="Equals Sign"),
-        "prekris":                          R(Key("lparen, rparen, left"), rdescript="Parentheses"),
-        "brax":                             R(Key("lbracket, rbracket, left"), rdescript="Square Brackets"),
-        "curly":                            R(Key("lbrace, rbrace, left"), rdescript="Curly Braces"),
-        "angle":                            R(Key("langle, rangle, left"), rdescript="Angle Brackets"),
-        "plus":                             R(Text("+"), rdescript="Plus Sign"),
-        "minus":                            R(Text("-"), rdescript="Dash"),
-        "pipe (sim | symbol)":              R(Text("|"), rdescript="Pipe Symbol"),
-        'ace []':                    R(Key("space"), rdescript="Space") * Repeat(extra="npunc"),
-        "clamor":                           R(Text("!"), rdescript="Exclamation Mark"),
-        "deckle":                           R(Text(":"), rdescript="Colon"),
-        "starling":                         R(Key("asterisk"), rdescript="Asterisk"),
-        "questo":                           R(Text("?"), rdescript="Question Mark"),
-        "comma":                            R(Text(","), rdescript="Comma"),
-        "carrot":                           R(Text("^"), rdescript="Carat"),                     
-        "(period | dot)":                   R(Text("."), rdescript="Dot"),
-        "atty":                             R(Text("@"), rdescript="At Sign"),
-        "hash tag":                         R(Text("#"), rdescript="Hash Tag"),
-        "apostrophe":                       R(Text("'"), rdescript="Apostrophe"),
-        "underscore":                       R(Text("_"), rdescript="Underscore"),        
-        "backslash":                        R(Text("\\"), rdescript="Back Slash"),
-        "slash":                            R(Text("/"), rdescript="Forward Slash"),
-        "Dolly":                            R(Text("$"), rdescript="Dollar Sign"),
-        "modulo":                           R(Key("percent"), rdescript="Percent Sign"),
-        'tabby []':                  R(Key("tab"), rdescript="Tab") * Repeat(extra="npunc"),
-        "boom":                             R(Text(", "), rdescript="Comma + Space"),
-        "ampersand":                        R(Key("ampersand"), rdescript="Ampersand"),
-        
-          }
- 
+        "semper":
+            R(Key("semicolon"), rdescript="Semicolon"),
+        "quotes":
+            R(Key("dquote,dquote,left"), rdescript="Quotation Marks"),
+        "thin quotes":
+            R(Key("apostrophe,apostrophe,left"), rdescript="Thin Quotation Marks"),
+        "[is] greater than":
+            R(Key("rangle"), rdescript="> Comparison"),
+        "[is] less than":
+            R(Key("langle"), rdescript="< Comparison"),
+        "[is] greater [than] [or] equal [to]":
+            R(Key("rangle, equals"), rdescript=">= Comparison"),
+        "[is] less [than] [or] equal [to]":
+            R(Key("langle, equals"), rdescript="<= Comparison"),
+        "[is] equal to":
+            R(Key("equals,equals"), rdescript="Equality"),
+        "equals":
+            R(Key("equals"), rdescript="Equals Sign"),
+        "prekris":
+            R(Key("lparen, rparen, left"), rdescript="Parentheses"),
+        "brax":
+            R(Key("lbracket, rbracket, left"), rdescript="Square Brackets"),
+        "curly":
+            R(Key("lbrace, rbrace, left"), rdescript="Curly Braces"),
+        "angle":
+            R(Key("langle, rangle, left"), rdescript="Angle Brackets"),
+        "plus":
+            R(Text("+"), rdescript="Plus Sign"),
+        "minus":
+            R(Text("-"), rdescript="Dash"),
+        "pipe (sim | symbol)":
+            R(Text("|"), rdescript="Pipe Symbol"),
+        'ace []':
+            R(Key("space"), rdescript="Space")*Repeat(extra="npunc"),
+        "clamor":
+            R(Text("!"), rdescript="Exclamation Mark"),
+        "deckle":
+            R(Text(":"), rdescript="Colon"),
+        "starling":
+            R(Key("asterisk"), rdescript="Asterisk"),
+        "questo":
+            R(Text("?"), rdescript="Question Mark"),
+        "comma":
+            R(Text(","), rdescript="Comma"),
+        "carrot":
+            R(Text("^"), rdescript="Carat"),
+        "(period | dot)":
+            R(Text("."), rdescript="Dot"),
+        "atty":
+            R(Text("@"), rdescript="At Sign"),
+        "hash tag":
+            R(Text("#"), rdescript="Hash Tag"),
+        "apostrophe":
+            R(Text("'"), rdescript="Apostrophe"),
+        "underscore":
+            R(Text("_"), rdescript="Underscore"),
+        "backslash":
+            R(Text("\\"), rdescript="Back Slash"),
+        "slash":
+            R(Text("/"), rdescript="Forward Slash"),
+        "Dolly":
+            R(Text("$"), rdescript="Dollar Sign"),
+        "modulo":
+            R(Key("percent"), rdescript="Percent Sign"),
+        'tabby []':
+            R(Key("tab"), rdescript="Tab")*Repeat(extra="npunc"),
+        "boom":
+            R(Text(", "), rdescript="Comma + Space"),
+        "ampersand":
+            R(Key("ampersand"), rdescript="Ampersand"),
+    }
 
     extras = [
-            IntegerRefST("npunc", 0, 10),
+        IntegerRefST("npunc", 0, 10),
     ]
     defaults = {
-            "npunc": 1,
+        "npunc": 1,
     }
 
+
 control.nexus().merger.add_global_rule(Punctuation())
diff --git a/caster/lib/ccr/cpp/cpp.py b/caster/lib/ccr/cpp/cpp.py
index 3623f7866..fab762dea 100644
--- a/caster/lib/ccr/cpp/cpp.py
+++ b/caster/lib/ccr/cpp/cpp.py
@@ -13,82 +13,126 @@
 
 class CPP(MergeRule):
     pronunciation = "C plus plus"
-        
+
     mapping = {
-        SymbolSpecs.IF:                     R(Key("i, f, lparen, rparen, leftbrace, enter,up,left"), rdescript="C++: If"),
-        SymbolSpecs.ELSE:                   R(Key("e, l, s, e, leftbrace, enter"), rdescript="C++: Else"),
+        SymbolSpecs.IF:
+            R(Key("i, f, lparen, rparen, leftbrace, enter,up,left"), rdescript="C++: If"),
+        SymbolSpecs.ELSE:
+            R(Key("e, l, s, e, leftbrace, enter"), rdescript="C++: Else"),
         #
-        SymbolSpecs.SWITCH:                 R(Text("switch(){\ncase : break;\ndefault: break;")+Key("up,up,left,left"), rdescript="C++: Switch"),
-        SymbolSpecs.CASE:                   R(Text("case :")+Key("left"), rdescript="C++: Case"),
-        SymbolSpecs.BREAK:                  R(Text("break;"), rdescript="C++: Break"),
-        SymbolSpecs.DEFAULT:                R(Text("default: "), rdescript="C++: Default"),
+        SymbolSpecs.SWITCH:
+            R(Text("switch(){\ncase : break;\ndefault: break;") + Key("up,up,left,left"),
+              rdescript="C++: Switch"),
+        SymbolSpecs.CASE:
+            R(Text("case :") + Key("left"), rdescript="C++: Case"),
+        SymbolSpecs.BREAK:
+            R(Text("break;"), rdescript="C++: Break"),
+        SymbolSpecs.DEFAULT:
+            R(Text("default: "), rdescript="C++: Default"),
         #
-        SymbolSpecs.DO_LOOP:                R(Text("do {}")+Key("left, enter:2"), rdescript="C++: Do Loop"),
-        SymbolSpecs.WHILE_LOOP:             R(Text("while ()")+Key("left"), rdescript="C++: While"),
-        SymbolSpecs.FOR_LOOP:               R(Text("for (int i=0; i()") + Key("left"), rdescript="C++: Static Cast Integer"),
-        "static cast double":               R(Text("static_cast()") + Key("left"), rdescript="C++: Static Cast Double"),
-        
-        "([global] scope | name)":          R(Text("::"), rdescript="C++: ::"),
-        "Vic":                              R(Text("vector"), rdescript="C++: Vector"),
-        "pushback":                         R(Text("push_back"), rdescript="C++: Pushback"),
-        
-        "standard":                         R(Text("std"), rdescript="C++: Standard"),
-        "constant":                         R(Text("const"), rdescript="C++: Constant"),
-        "array":                            R(Mimic("brackets"), rdescript="C++: Array"),
-        
+        "public":
+            R(Text("public "), rdescript="C++: Public"),
+        "private":
+            R(Text("private "), rdescript="C++: Private"),
+        "static":
+            R(Text("static "), rdescript="C++: Static"),
+        "final":
+            R(Text("final "), rdescript="C++: Final"),
+        "static cast integer":
+            R(Text("static_cast()") + Key("left"),
+              rdescript="C++: Static Cast Integer"),
+        "static cast double":
+            R(Text("static_cast()") + Key("left"),
+              rdescript="C++: Static Cast Double"),
+        "([global] scope | name)":
+            R(Text("::"), rdescript="C++: ::"),
+        "Vic":
+            R(Text("vector"), rdescript="C++: Vector"),
+        "pushback":
+            R(Text("push_back"), rdescript="C++: Pushback"),
+        "standard":
+            R(Text("std"), rdescript="C++: Standard"),
+        "constant":
+            R(Text("const"), rdescript="C++: Constant"),
+        "array":
+            R(Mimic("brackets"), rdescript="C++: Array"),
+
         #http://www.learncpp.com/cpp-tutorial/67-introduction-to-pointers/
-        "(reference to | address of)":      R(Text("&"), rdescript="C++: Reference"),
-        "(pointer | D reference)":          R(Text("*"), rdescript="C++: Dereference"),
-        "member":                           R(Text("->"), rdescript="C++: Member"),
-        
-                
-        "new new":                          R(Text("new "), rdescript="C++: New"),
-        "integer":                          R(Text("int "), rdescript="C++: Integer"),
-        "double":                           R(Text("double "), rdescript="C++: Double"),
-        "character":                        R(Text("char "), rdescript="C++: Character"),
-        "big integer":                      R(Text("Integer"), rdescript="C++: Big Integer"),
-        "string":                           R(Text("string "), rdescript="C++: String"),
-        
-        "ternary":                          R(Text("()?;") + (Key("left") * 3), rdescript="C++: Ternary"),
+        "(reference to | address of)":
+            R(Text("&"), rdescript="C++: Reference"),
+        "(pointer | D reference)":
+            R(Text("*"), rdescript="C++: Dereference"),
+        "member":
+            R(Text("->"), rdescript="C++: Member"),
+        "new new":
+            R(Text("new "), rdescript="C++: New"),
+        "integer":
+            R(Text("int "), rdescript="C++: Integer"),
+        "double":
+            R(Text("double "), rdescript="C++: Double"),
+        "character":
+            R(Text("char "), rdescript="C++: Character"),
+        "big integer":
+            R(Text("Integer"), rdescript="C++: Big Integer"),
+        "string":
+            R(Text("string "), rdescript="C++: String"),
+        "ternary":
+            R(Text("()?;") + (Key("left")*3), rdescript="C++: Ternary"),
     }
 
-    extras   = []
+    extras = []
     defaults = {}
 
-control.nexus().merger.add_global_rule(CPP())
\ No newline at end of file
+
+control.nexus().merger.add_global_rule(CPP())
diff --git a/caster/lib/ccr/csharp/csharp.py b/caster/lib/ccr/csharp/csharp.py
index 49404c4af..4d2a081e6 100644
--- a/caster/lib/ccr/csharp/csharp.py
+++ b/caster/lib/ccr/csharp/csharp.py
@@ -14,82 +14,123 @@
 
 class CSharp(MergeRule):
     pronunciation = "C sharp"
-        
+
     mapping = {
-        SymbolSpecs.IF:                     R(Key("i, f, lparen, rparen, leftbrace, enter,up,left"), rdescript="C#: If"),
-        SymbolSpecs.ELSE:                   R(Key("e, l, s, e, leftbrace, enter"), rdescript="C#: Else"),
+        SymbolSpecs.IF:
+            R(Key("i, f, lparen, rparen, leftbrace, enter,up,left"), rdescript="C#: If"),
+        SymbolSpecs.ELSE:
+            R(Key("e, l, s, e, leftbrace, enter"), rdescript="C#: Else"),
+        #
+        SymbolSpecs.SWITCH:
+            R(Text("switch(){\ncase : break;\ndefault: break;") + Key("up,up,left,left"),
+              rdescript="C#: Switch"),
+        SymbolSpecs.CASE:
+            R(Text("case :") + Key("left"), rdescript="C#: Case"),
+        SymbolSpecs.BREAK:
+            R(Text("break;"), rdescript="C#: Break"),
+        SymbolSpecs.DEFAULT:
+            R(Text("default: "), rdescript="C#: Default"),
         #
-        SymbolSpecs.SWITCH:                 R(Text("switch(){\ncase : break;\ndefault: break;")+Key("up,up,left,left"), rdescript="C#: Switch"),
-        SymbolSpecs.CASE:                   R(Text("case :")+Key("left"), rdescript="C#: Case"),
-        SymbolSpecs.BREAK:                  R(Text("break;"), rdescript="C#: Break"),
-        SymbolSpecs.DEFAULT:                R(Text("default: "), rdescript="C#: Default"),
+        SymbolSpecs.DO_LOOP:
+            R(Text("do {}") + Key("left, enter:2"), rdescript="C#: Do Loop"),
+        SymbolSpecs.WHILE_LOOP:
+            R(Text("while ()") + Key("left"), rdescript="C#: While"),
+        SymbolSpecs.FOR_LOOP:
+            R(Text("for (int i=0; i")+Key("left"), rdescript="C# List"),
-        "var":                              R(Text("var TOKEN = TOKEN;"), rdescript="C# variable"),
-        "(lambda|goes to)":                 R(Text("=>"), rdescript="C#: lambda"),
-        
-        
-                
-        "new new":                          R(Text("new "), rdescript="C#: New"),
-        "integer":                          R(Text("int "), rdescript="C#: Integer"),
-        "double":                           R(Text("double "), rdescript="C#: Double"),
-        "character":                        R(Text("char "), rdescript="C#: Character"),
-        "big integer":                      R(Text("Integer"), rdescript="C#: Big Integer"),
-        "string":                           R(Text("string "), rdescript="C#: String"),
-        
-        "ternary":                          R(Text("()?t:f") + (Key("left") * 5), rdescript="C#: Ternary"),
+        "using":
+            R(Text("using"), rdescript="C#: Using"),
+        "enum":
+            R(Text("enum TOKEN {}") + Key("left"), rdescript="C#: Enum"),
+        "struct":
+            R(Text("struct TOKEN {}") + Key("left"), rdescript="C#: Struct"),
+        "interface":
+            R(Text("interface TOKEN {}") + Key("left"), rdescript="C#: Struct"),
+        "public":
+            R(Text("public "), rdescript="C#: Public"),
+        "private":
+            R(Text("private "), rdescript="C#: Private"),
+        "static":
+            R(Text("static "), rdescript="C#: Static"),
+        "internal":
+            R(Text("internal "), rdescript="C#: Internal"),
+        "cast integer":
+            R(Text("(int)") + Key("left"), rdescript="C#:  Cast Integer"),
+        "cast double":
+            R(Text("(double)") + Key("left"), rdescript="C#: Cast Double"),
+        "constant":
+            R(Text("const"), rdescript="C#: Constant"),
+        "array":
+            R(Mimic("brackets"), rdescript="C#: Array"),
+        "list":
+            R(Text("List<>") + Key("left"), rdescript="C# List"),
+        "var":
+            R(Text("var TOKEN = TOKEN;"), rdescript="C# variable"),
+        "(lambda|goes to)":
+            R(Text("=>"), rdescript="C#: lambda"),
+        "new new":
+            R(Text("new "), rdescript="C#: New"),
+        "integer":
+            R(Text("int "), rdescript="C#: Integer"),
+        "double":
+            R(Text("double "), rdescript="C#: Double"),
+        "character":
+            R(Text("char "), rdescript="C#: Character"),
+        "big integer":
+            R(Text("Integer"), rdescript="C#: Big Integer"),
+        "string":
+            R(Text("string "), rdescript="C#: String"),
+        "ternary":
+            R(Text("()?t:f") + (Key("left")*5), rdescript="C#: Ternary"),
     }
 
-    extras   = []
+    extras = []
     defaults = {}
 
 
-control.nexus().merger.add_global_rule(CSharp())
\ No newline at end of file
+control.nexus().merger.add_global_rule(CSharp())
diff --git a/caster/lib/ccr/haxe/haxe.py b/caster/lib/ccr/haxe/haxe.py
index f7bd6488e..ef8526d91 100644
--- a/caster/lib/ccr/haxe/haxe.py
+++ b/caster/lib/ccr/haxe/haxe.py
@@ -1,4 +1,3 @@
-
 from dragonfly import Key, Text
 
 from caster.lib import control
@@ -9,83 +8,117 @@
 
 class Haxe(MergeRule):
     pronunciation = "hacks"
-        
+
     mapping = {
-        SymbolSpecs.IF:                     R(Key("i, f, lparen, rparen, left"), rdescript="Haxe: If"),
-        SymbolSpecs.ELSE:                   R(Key("e, l, s, e"), rdescript="Haxe: Else"),
+        SymbolSpecs.IF:
+            R(Key("i, f, lparen, rparen, left"), rdescript="Haxe: If"),
+        SymbolSpecs.ELSE:
+            R(Key("e, l, s, e"), rdescript="Haxe: Else"),
         #
-        SymbolSpecs.SWITCH:                 R(Text("switch(){\ncase : TOKEN;\ndefault: TOKEN;")+Key("up,up,left,left"), rdescript="Haxe: Switch"),
-        SymbolSpecs.CASE:                   R(Text("case :")+Key("left"), rdescript="Haxe: Case"),
-        SymbolSpecs.BREAK:                  R(Text("break;"), rdescript="Haxe: Break"),
-        SymbolSpecs.DEFAULT:                R(Text("default: "), rdescript="Haxe: Default"),
+        SymbolSpecs.SWITCH:
+            R(Text("switch(){\ncase : TOKEN;\ndefault: TOKEN;") + Key("up,up,left,left"),
+              rdescript="Haxe: Switch"),
+        SymbolSpecs.CASE:
+            R(Text("case :") + Key("left"), rdescript="Haxe: Case"),
+        SymbolSpecs.BREAK:
+            R(Text("break;"), rdescript="Haxe: Break"),
+        SymbolSpecs.DEFAULT:
+            R(Text("default: "), rdescript="Haxe: Default"),
         #
-        SymbolSpecs.DO_LOOP:                R(Text("do TOKEN while()")+Key("left, enter:2"), rdescript="Haxe: Do Loop"),
-        SymbolSpecs.WHILE_LOOP:             R(Text("while ()")+Key("left"), rdescript="Haxe: While"),
-        SymbolSpecs.FOR_LOOP:               R(Text("for (i in 0...TOKEN)"), rdescript="Haxe: For i Loop"),
-        SymbolSpecs.FOR_EACH_LOOP:          R(Text("for (TOKEN in TOKEN)"), rdescript="Haxe: For Each Loop"),
+        SymbolSpecs.DO_LOOP:
+            R(Text("do TOKEN while()") + Key("left, enter:2"), rdescript="Haxe: Do Loop"),
+        SymbolSpecs.WHILE_LOOP:
+            R(Text("while ()") + Key("left"), rdescript="Haxe: While"),
+        SymbolSpecs.FOR_LOOP:
+            R(Text("for (i in 0...TOKEN)"), rdescript="Haxe: For i Loop"),
+        SymbolSpecs.FOR_EACH_LOOP:
+            R(Text("for (TOKEN in TOKEN)"), rdescript="Haxe: For Each Loop"),
         #
-        SymbolSpecs.TO_INTEGER:             R(Text("Std.int()")+Key("left"), rdescript="Haxe: Convert To Integer"),
-        SymbolSpecs.TO_FLOAT:               R(Text("Std.parseFloat()")+Key("left"), rdescript="Haxe: Convert To Floating-Point"),
-        SymbolSpecs.TO_STRING:              R(Text("Std.string()")+Key("left"), rdescript="Haxe: Convert To String"),
+        SymbolSpecs.TO_INTEGER:
+            R(Text("Std.int()") + Key("left"), rdescript="Haxe: Convert To Integer"),
+        SymbolSpecs.TO_FLOAT:
+            R(Text("Std.parseFloat()") + Key("left"),
+              rdescript="Haxe: Convert To Floating-Point"),
+        SymbolSpecs.TO_STRING:
+            R(Text("Std.string()") + Key("left"), rdescript="Haxe: Convert To String"),
         #
-        SymbolSpecs.AND:                    R(Text("&&"), rdescript="Haxe: And"),
-        SymbolSpecs.OR:                     R(Text("||"), rdescript="Haxe: Or"),
-        SymbolSpecs.NOT:                    R(Text("!"), rdescript="Haxe Not"),
+        SymbolSpecs.AND:
+            R(Text("&&"), rdescript="Haxe: And"),
+        SymbolSpecs.OR:
+            R(Text("||"), rdescript="Haxe: Or"),
+        SymbolSpecs.NOT:
+            R(Text("!"), rdescript="Haxe Not"),
         #
-        SymbolSpecs.SYSOUT:                 R(Text("trace()")+ Key("left"), rdescript="Haxe: Print"),
-        
+        SymbolSpecs.SYSOUT:
+            R(Text("trace()") + Key("left"), rdescript="Haxe: Print"),
+
         #
-        SymbolSpecs.FUNCTION:               R(Text("function "), rdescript="Haxe: Function"),
-        SymbolSpecs.CLASS:                  R(Text("class "), rdescript="Haxe: Class"),
-       #
-        
-        SymbolSpecs.COMMENT:                R(Text( "//" ), rdescript="Haxe: Add Comment"),
-        SymbolSpecs.LONG_COMMENT:           R(Text("/**/")+Key("left, left"), rdescript="Haxe: Long Comment"),
+        SymbolSpecs.FUNCTION:
+            R(Text("function "), rdescript="Haxe: Function"),
+        SymbolSpecs.CLASS:
+            R(Text("class "), rdescript="Haxe: Class"),
         #
-        SymbolSpecs.NULL:                   R(Text("null"), rdescript="Haxe: Null Value"),
+        SymbolSpecs.COMMENT:
+            R(Text("//"), rdescript="Haxe: Add Comment"),
+        SymbolSpecs.LONG_COMMENT:
+            R(Text("/**/") + Key("left, left"), rdescript="Haxe: Long Comment"),
         #
-        SymbolSpecs.RETURN:                 R(Text("return "), rdescript="Haxe: Return"),
+        SymbolSpecs.NULL:
+            R(Text("null"), rdescript="Haxe: Null Value"),
         #
-        SymbolSpecs.TRUE:                   R(Text("true"), rdescript="Haxe: True"),
-        SymbolSpecs.FALSE:                  R(Text("false"), rdescript="Haxe: False"),
-        
-        
+        SymbolSpecs.RETURN:
+            R(Text("return "), rdescript="Haxe: Return"),
+        #
+        SymbolSpecs.TRUE:
+            R(Text("true"), rdescript="Haxe: True"),
+        SymbolSpecs.FALSE:
+            R(Text("false"), rdescript="Haxe: False"),
+
         # Haxe specific
-        "import":                           R(Text("import "), rdescript="Haxe: Import"), 
-        "new new":                          R(Text("new "), rdescript="Haxe: New"),
-        "instance of":                      R(Text("Std.is()")+Key("left"), rdescript="Haxe: Infer Type"),
-        "anon funk":                        R(Text("->"), rdescript="Haxe: Lambda"),
-        
-        "map of":                           R(Text("Map()"), rdescript="Haxe: Map"),
-        "array of":                         R(Text("Array()")+Key("left"), rdescript="Haxe: Array"),
-        
-        "far | variable":                   R(Text("var "), rdescript="Haxe: Variable"),
-        
-        "boolean":                          R(Text("Bool "), rdescript="Haxe: Boolean"),
-        "integer":                          R(Text("Int "), rdescript="Haxe: Big Integer"),
-        "double":                           R(Text("Float "), rdescript="Haxe: Float"),
-        "dynamic":                          R(Text("Dynamic"), rdescript="Haxe: Dynamic"),
-        "void":                             R(Text("Void"), rdescript="Haxe: Void"),
-        
-        "string":                           R(Text("String "), rdescript="Haxe: String"),
-        
-        "public":                           R(Text("public "), rdescript="Haxe: Public"),
-        "private":                          R(Text("private "), rdescript="Haxe: Private"),
-        "static":                           R(Text("static "), rdescript="Haxe: Static"),
-        "this":                             R(Text("this"), rdescript="Haxe: This"),
-        
-        "safe cast":                        R(Text("cast (TOKEN, TOKEN)"), rdescript="Haxe: Safe Cast"), 
-        "get class":                        R(Text("Type.getClass()")+Key("left"), rdescript="Haxe: Get Class"), 
-        "get name":                         R(Text("Type.getClassName()")+Key("left"), rdescript="Haxe: Get Class Name")
-        
-        
-        
-        
-        
+        "import":
+            R(Text("import "), rdescript="Haxe: Import"),
+        "new new":
+            R(Text("new "), rdescript="Haxe: New"),
+        "instance of":
+            R(Text("Std.is()") + Key("left"), rdescript="Haxe: Infer Type"),
+        "anon funk":
+            R(Text("->"), rdescript="Haxe: Lambda"),
+        "map of":
+            R(Text("Map()"), rdescript="Haxe: Map"),
+        "array of":
+            R(Text("Array()") + Key("left"), rdescript="Haxe: Array"),
+        "far | variable":
+            R(Text("var "), rdescript="Haxe: Variable"),
+        "boolean":
+            R(Text("Bool "), rdescript="Haxe: Boolean"),
+        "integer":
+            R(Text("Int "), rdescript="Haxe: Big Integer"),
+        "double":
+            R(Text("Float "), rdescript="Haxe: Float"),
+        "dynamic":
+            R(Text("Dynamic"), rdescript="Haxe: Dynamic"),
+        "void":
+            R(Text("Void"), rdescript="Haxe: Void"),
+        "string":
+            R(Text("String "), rdescript="Haxe: String"),
+        "public":
+            R(Text("public "), rdescript="Haxe: Public"),
+        "private":
+            R(Text("private "), rdescript="Haxe: Private"),
+        "static":
+            R(Text("static "), rdescript="Haxe: Static"),
+        "this":
+            R(Text("this"), rdescript="Haxe: This"),
+        "safe cast":
+            R(Text("cast (TOKEN, TOKEN)"), rdescript="Haxe: Safe Cast"),
+        "get class":
+            R(Text("Type.getClass()") + Key("left"), rdescript="Haxe: Get Class"),
+        "get name":
+            R(Text("Type.getClassName()") + Key("left"), rdescript="Haxe: Get Class Name")
     }
 
-    extras   = []
+    extras = []
     defaults = {}
 
 
-control.nexus().merger.add_global_rule(Haxe())
\ No newline at end of file
+control.nexus().merger.add_global_rule(Haxe())
diff --git a/caster/lib/ccr/html/html.py b/caster/lib/ccr/html/html.py
index e5d26a685..88efd491b 100644
--- a/caster/lib/ccr/html/html.py
+++ b/caster/lib/ccr/html/html.py
@@ -6,155 +6,287 @@
 
 class HTML(MergeRule):
     mapping = {
-    # A macro with ## is depreciated HTML.
-#Macros
-            "make link":        Text("")+  Key("left/10:6"),
-            "table macro":      Text("")+ Key("enter")+Text("")+ Key("enter")+Text("")+Key("enter")+Text("")+Key("enter")+Text("
"), - "close tag": Key("c-left/10:2"), - "checkbox": Text(""), + # A macro with ## is depreciated HTML. + #Macros + "make link": + Text("") + Key("left/10:6"), + "table macro": + Text("") + Key("enter") + Text("") + Key("enter") + + Text("") + Key("enter") + Text("") + Key("enter") + + Text("
"), + "close tag": + Key("c-left/10:2"), + "checkbox": + Text(""), -#HTML elements - #Basic or Root elements - "HTML": Text("" )+ Key("enter")+ Text("")+ Key("up"), - "DOC TYPE": Text("" )+ Key("enter"), - #Document metadata - "base": Text("")+ Key("left/10:1"), - "head": Text("" )+ Key("enter")+ Text("")+ Key("up"), - "link": Text("")+ Key("left/10:1"), - "meta": Text("")+ Key("left/10:1"), - "style": Text(""), - "title": Text("")+ Key("left/10:8"), - #Content sectioning - "address ": Text("
")+ Key("enter")+ Text("
")+ Key("up"), - "article ": Text("
"), - "close article": Text("
"), - "body": Text("" )+ Key("enter")+ Text("")+ Key("up"), - "footer": Text("
")+ Key("enter")+ Text("
")+ Key("up"), - "header": Text("
")+ Key("enter")+ Text("
")+ Key("up"), - "H 1 | heading one": Text("

")+ Key("left/10:5"), - "H 2 | heading to": Text("

")+ Key("left/10:5"), - "H 3 | heading three": Text("

")+ Key("left/10:5"), - "H 4 | heading for": Text("

")+ Key("left/10:5"), - "H 5 | heading five": Text("
")+ Key("left/10:5"), - "H 6 | heading six": Text("
")+ Key("left/10:5"), - "isolate ": Text("")+ Key("left/10:6"), - "H group | headings group": Text("
")+ Key("left/10:9"), - "navigation | navigate": Text("")+ Key("enter")+ Text("")+ Key("up"), - "section": Text("
")+ Key("enter")+ Text("")+ Key("up"), - #Text content - "description | DD": Text("
"), - "division": Text("
")+ Key("left/10:6"), - "list element | DL": Text("
"), - "fig caption": Text("
"), - "figure": Text("
"), - "H are | HR": Text("
"), - "list ltem | LI": Text("
  • ")+ Key("left/10:5"), - "main": Text("
    ")+ Key("enter")+ Text("
    ")+ Key("up"), - "ordered list | OL": Text("
      ")+ Key("enter")+ Text("
    ")+ Key("up"), - "paragraph": Text("

    ")+ Key("enter")+ Text("

    ")+ Key("up"), - "pre-format": Text("
    ")+ Key("enter")+ Text("
    ")+ Key("up"), - "unordered list | UL": Text("
      ")+ Key("enter")+ Text("
    ")+ Key("up"), - #Inline text semantics - "anchor": Text("")+ Key("left/10:4"), - "abbreviation": Text("")+ Key("left/10:7"), - "bold": Text("")+ Key("left/10:4"), - "override": Text("")+ Key("left/10:7"), - "isolate | bi-directional isolation": Text("")+ Key("left/10:6"), - "break | be are | BR": Text("
    ")+ Key("enter"), - "code": Text("")+ Key("left/10:7"), - "data": Text("")+ Key("left/10:7"), - "definine instance": Text("")+ Key("left/10:6"), - "emphasis | EM": Text("")+ Key("left/10:5"), - "semantics | italics": Text("")+ Key("left/10:4"), - "keyboard input": Text("")+ Key("left/10:6"), - "mark | highlight": Text("")+ Key("left/10:7"), - "quote": Text("")+ Key("left/10:4"), - "fall-back parenthesis | RP": Text("")+ Key("left/10:5"), - "embraces pronunciation | RT": Text("")+ Key("left/10:5"), - "ruby | pronounce asian": Text("")+ Key("left/10:5"), - ##"strike through | strike": Text("")+ Key("left/10:4"), - "deleted | replaced": Text("")+ Key("left/10:4"), - "sample output": Text("")+ Key("left/10:7"), - "small": Text("")+ Key("left/10:8"), - "span": Text("")+ Key("left/10:7"), - "strong": Text("")+ Key("left/10:9"), - "subscript": Text("")+ Key("left/10:6"), - "superscript": Text("")+ Key("left/10:6"), - "time": Text("")+ Key("left/10:7"), - "underline": Text("")+ Key("left/10:4"), - "variable": Text("")+ Key("left/10:6"), - "optional break": Text("")+ Key("left/10:6"), - #Image & multimedia - "area": Text("")+ Key("left/10:2"), - "audio": Text("")+ Key("up"), - "image ": Text("")+ Key("left/10:6"), - "map": Text("")+ Key("enter")+ Text("")+ Key("up"), - "track": Text("")+ Key("left/10:1"), - "video": Text(""), - #embedded content - "embedded": Text("")+ Key("left/10:1"), - "inline frame": Text("")+ Key("left/10:1"), - "object| embedded object": Text("")+ Key("left/10:1"), - "parameter ": Text("")+ Key("left/10:1"), - "source": Text("")+ Key("left/10:1"), - #Scripting - "canvas": Text("")+ Key("left/10:1"), - "canvas close": Text(""), - "noscript": Text("")+ Key("up"), - "script": Text("")+ Key("left/10:9"), - #Edits - "deleted text | deleted": Text("")+ Key("left/10:6"), - "inserted text | inserted": Text("")+ Key("left/10:6"), - #Table content - "table caption | tee caption": Text(""), - "table column | tee column": Text(""), - "table column group | tee group": Text(""), - "table": Text(""), - "table body": Text(""), - "table cell | TD | tee D": Text("")+ Key("left/10:5"), - "table foot": Text(""), - "table header | TH": Text(""), - "table row | tee are": Text(""), - #Forms - "button": Text("")+ Key("left/10:9"), - "data list": Text("")+ Key("enter")+ Text("")+ Key("up"), - "field set": Text("
    ")+ Key("enter")+ Text("
    ")+ Key("up"), - "field set close": Text(""), - "form": Text("")+ Key("enter")+ Text("")+ Key("up"), - "input": Text("")+ Key("left/10:1"), - "keygen": Text("")+ Key("left/10:1"), - "label": Text(""), - "legend": Text(""), - "meter": Text("")+ Key("left/10:1"), - "meter close": Text(""), - "opt group": Text("")+ Key("enter")+ Text("")+ Key("up"), - "option": Text(""), - "output": Text("")+ Key("left/10:1"), - "output close": Text(""), - "progress": Text("")+ Key("left/10:1"), - "select": Text("")+ Key("up"), - "text area": Text(""), - #Interactive elements - "details": Text("
    "), - "dialog": Text(""), - "menu": Text(""), - "menu item": Text(""), - "summary": Text(""), - #Web Components: As defined in (W3C) - "content": Text(""), - "decorator": Text(""), - "element": Text(""), - "shadow": Text(""), - "template": Text("
    "), - "table head | thead": Text("