pastefile1
@@ -0,0 +1,110 @@
+from dragonfly import (Grammar, Dictation, Repeat)
+
+from castervoice.lib import control
+from castervoice.lib import settings
+from castervoice.lib.dfplus.additions import IntegerRefST
+from castervoice.lib.dfplus.merge import gfilter
+from castervoice.lib.dfplus.merge.mergerule import MergeRule
+from castervoice.lib.dfplus.state.short import R
+from castervoice.lib.context import AppContext
+from castervoice.lib.actions import (Key, Text)
+
+
+class VisualStudioRule(MergeRule):
+ pronunciation = "visual studio"
+
+ mapping = {
+ "next tab [<n>]":
+ R(Key("ca-pgdown"), rdescript="Visual Studio: Next Tab")*Repeat(extra="n"),
+ "prior tab [<n>]":
+ R(Key("ca-pgup"), rdescript="Visual Studio: Previous Tab")*Repeat(extra="n"),
+ "close tab [<n>]":
+ 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": R(Key("c-/")),
+ "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 [<n>]":
+ 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": ""}
+
+
+#---------------------------------------------------------------------------
+
+context = AppContext(executable="devenv")
+grammar = Grammar("Visual Studio", context=context)
+
+if settings.SETTINGS["apps"]["visualstudio"]:
+ if settings.SETTINGS["miscellaneous"]["rdp_mode"]:
+ control.nexus().merger.add_global_rule(VisualStudioRule())
+ else:
+ rule = VisualStudioRule(name="visualstudio")
+ gfilter.run_on(rule)
+ grammar.add_rule(rule)
+ grammar.load()