Exemplo n.º 1
0
        "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())
Exemplo n.º 2
0
        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())
Exemplo n.º 3
0
        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())
Exemplo n.º 4
0
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":
Exemplo n.º 5
0
        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())
Exemplo n.º 6
0
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")