"shift click": Key("shift:down") + Mouse("left") + Key("shift:up"), } extras = [ Dictation("text"), IntegerRef("n", 1, 10), IntegerRef("n50", 1, 50), IntegerRefMF("numbers", 0, CORE["numbers_max"]), Choice("big", {CORE["capitals_prefix"]: True}), Choice("letter", CORE[_LETTERS]), Choice("punctuation", CORE["punctuation"]), Choice("repeatable_key", CORE["repeatable_keys"]), Choice("non_repeatable_key", CORE["non_repeatable_keys"]), Choice("direction", CORE[_DIRECTIONS]), Choice("modifier", CORE["modifiers"]), Choice("extreme", {CORE["extreme"]: True}), ] defaults = { "big": False, "extreme": False, "n": 1, "n50": 1, "direction": "left", "modifier": "", } control.nexus().merger.add_global_rule(core())
Text("\\%(commandnoarg)s "), BINDINGS["command_prefix"] + " my (bib resource | bibliography)": Function(lambda: tex_funcs.back_curl("addbibresource", BINDINGS[ "bibliography_path"])), BINDINGS["command_prefix"] + " quote": Function(tex_funcs.quote), # } extras = [ Choice("big", {CORE["capitals_prefix"]: True}), Choice("packopts", BINDINGS["packages"]), Choice("doc_class", BINDINGS["document_classes"]), Choice("greek_letter", BINDINGS["greek_letters"]), Choice("symbol", BINDINGS["symbols"]), Choice("misc_symbol", BINDINGS["misc_symbols"]), Choice("latex_misc", BINDINGS["latex_misc"]), Choice("accent", BINDINGS["accents"]), Choice("commandnoarg", BINDINGS["commandnoarg"]), Choice("command", BINDINGS["command"]), Choice("environment", BINDINGS["environments"]), ] defaults = { "big": False, "packopts": "", "doc_class": "", } control.nexus().merger.add_global_rule(LaTeX())
Key("%(misc_sn_keys)s"), "<misc_sn_text>": Text("%(misc_sn_text)s"), "matrix <rows> by <cols>": Function(matrix), "<numbers> <denominator>": Key("c-f") + Text("%(numbers)s") + Key("down") + Text("%(denominator)s") + Key("right"), } extras = [ IntegerRef("rows", 1, BINDINGS["max_matrix_size"]), IntegerRef("cols", 1, BINDINGS["max_matrix_size"]), IntegerRef("numbers", 0, CORE["numbers_max"]), Choice("big", {CORE["capitals_prefix"]: True}), Choice("greek_letter", BINDINGS["greek_letters"]), Choice("units", BINDINGS["units"]), Choice("symbol", BINDINGS["tex_symbols"]), Choice("accent", BINDINGS["accents"]), Choice("misc_sn_keys", BINDINGS["misc_sn_keys"]), Choice("misc_sn_text", BINDINGS["misc_sn_text"]), Choice("denominator", BINDINGS["denominators"]), ] defaults = { "big": False, } control.nexus().merger.add_app_rule(sn_mathematics())
import os, sys import logging import natlink logging.basicConfig() from mathfly.lib import control, utilities from mathfly.lib.merge.mergerule import MergeRule from mathfly.lib.merge.mergepair import MergeInf BASE_PATH = os.path.realpath(__file__).split("\\_mathfly_main.py")[0].replace( "\\", "/") sys.path.append(BASE_PATH) CORE = utilities.load_toml_relative("config/core.toml") MF_NEXUS = control.nexus() MF_NEXUS.build(True) class MainRule(MergeRule): mapping = { "configure math fly [settings]": Function(utilities.load_config, config_name="settings.toml"), "<enable> <name>": Function(MF_NEXUS.rule_changer), "reboot dragon": Function(utilities.reboot), "rebuild math fly": Function(MF_NEXUS.build), "math fly help":
Key("%(misc_lyx_keys)s"), "<command>": Function(execution.alternating_command), "matrix <rows> by <cols>": Function(matrix), "<numbers> <denominator>": Key("a-m, f, %(numbers)s, down, %(denominator)s, right"), } extras = [ IntegerRef("rows", 1, BINDINGS["max_matrix_size"]), IntegerRef("cols", 1, BINDINGS["max_matrix_size"]), IntegerRef("numbers", 0, CORE["numbers_max"]), Choice("big", {CORE["capitals_prefix"]: True}), Choice("greek_letter", BINDINGS["greek_letters"]), Choice("symbol1", BINDINGS["tex_symbols1"]), Choice("symbol2", BINDINGS["tex_symbols2"]), Choice("accent", BINDINGS["accents"]), Choice("text_modes", BINDINGS["text_modes"]), Choice("misc_lyx_keys", BINDINGS["misc_lyx_keys"]), Choice("command", BINDINGS["misc_lyx_commands"]), Choice("denominator", BINDINGS["denominators"]), ] defaults = { "big": False, } control.nexus().merger.add_global_rule(lyx_mathematics())
from dragonfly import Dictation, Choice, Text, Function, IntegerRef from mathfly.lib import utilities, control from mathfly.lib.merge.selfmodrule import SelfModifyingRule MF_NEXUS = control.nexus() class Alias(SelfModifyingRule): mapping = {"default command": ""} key = "aliases" pronunciation = "alias" def delete_all(self, key): utilities.save_toml_relative({}, "config/aliases.toml") self.refresh() def alias(self, spec): spec = str(spec) e, text = utilities.read_selected(True) if spec and text: self.refresh(spec, str(text)) def refresh(self, *args): '''args: spec, text''' aliases = utilities.load_toml_relative("config/aliases.toml") if not Alias.key in aliases: aliases[Alias.key] = {} if len(args) > 0: aliases[Alias.key][args[0]] = args[1] utilities.save_toml_relative(aliases, "config/aliases.toml")