想象一下dunnet.el游戏、伊莱扎医生或IELM模式……;这就是在主缓冲区上评估答案并提示新问题,然后根据它们的elisp规则执行一些操作。
我想创建一个类似交互式助手的东西,但不像(交互式)那样从minibuffer中提示(不做M-x)……我需要一种REPL循环。所以我的问题是如何在工作缓冲区(主屏幕)上获得交互,就像任何文本对话/冒险一样,但要以这种方式调用我的defun‘’ed函数。
所以我需要一个基本的elisp框架,来制作一个自定义的REPL。目标是用自然语言制作一个助手,然后解析anwsers,并根据规则进行一些操作。
谢谢您抽时间见我,
史蒂夫,
发布于 2011-01-17 00:54:12
查看ielm,它是emacs附带的elisp repl。
发布于 2011-01-17 00:14:59
根据你的缓冲区中可能发生的事情,你可以只给它一个主模式,并适当地重新绑定return吗?(这个答案受到Lisp-Interaction-Mode的C-j的启发)
发布于 2011-01-24 06:12:30
你应该绑定所有用于在缓冲区中移动的键,比如C-p,C-n,向上向下箭头/页面向上/向下,只需将它们绑定到(lambda ())即可。如果光标位置在行首或行尾,则更改C-b和C-f (左、右箭头)的功能。并将返回键绑定到函数,该函数从头到尾读取当前行到可选提示(您可以使用Regex删除提示),对该字符串执行任何操作,然后转到缓冲区中的下一行并打印结果。
https://stackoverflow.com/questions/4706168
复制相似问题