from joy.gui.textwidget import TextViewerWidget, tk, get_font
from joy.gui.world import StackDisplayWorld
-from joy.library import initialize
+from joy.library import initialize, DefinitionWrapper
from joy.utils.stack import stack_to_string
os.path.commonprefix((repo.controldir(), path))
)
-
def commands():
# pylint: disable=unused-variable
LOG_FN = os.path.join(JOY_HOME, 'log.txt')
D = initialize()
D.update(commands())
+DefinitionWrapper.load_definitions(os.path.join(JOY_HOME, 'definitions.txt'), D)
world = StackDisplayWorld(repo, STACK_FN, REL_STACK_FN, dictionary=D)
defaults = dict(width=80, height=25)
t = TextViewerWidget(world, **defaults)
_log.info('Adding definition %s := %s', F.name, expression_to_string(F.body))
dictionary[F.name] = F
+ @classmethod
+ def load_definitions(class_, filename, dictionary):
+ with open(filename) as f:
+ lines = [line for line in f if '==' in line]
+ for line in lines:
+ class_.add_def(line, dictionary)
+
def _text_to_defs(text):
return (line.strip() for line in text.splitlines() if '==' in line)