我想在SublimeREPL中使用Prolog。
我在SublimeREPL的配置文件中正确设置了解释器(swipl或gprolog),一切正常,除了一件事:该行的the start character "?-"
永远不会显示,如果获得像"X=1"
这样的结果当我按下Enter键时,终端中发生的事情是打印一个点"X=1."
并创建一个以"?-".
开头的新行。在SublimeREPL中没有点,新行不会以任何内容开头。
是否存在具有终端相同行为的解决方案?
答案 0 :(得分:0)
通过使用以下Main.sublime-menu
文件内容,我在MacOS X上运行Sublime Text 2取得了部分成功:
[
{
"id": "tools",
"children":
[{
"caption": "SublimeREPL",
"mnemonic": "r",
"id": "SublimeREPL",
"children":
[
{"command": "repl_open",
"caption": "Prolog",
"id": "repl_prolog",
"mnemonic": "l",
"args": {
"type": "subprocess",
"encoding": "utf8",
"cmd": ["gprolog"],
"cwd": "$file_path",
"external_id": "prolog",
"syntax": "Packages/Logtalk/Logtalk.tmLanguage"
}
}
]
}]
}
]
我获得了GNU Prolog启动横幅,我可以输入查询并获取查询结果。但是有一个问题我还没有通过处理新行来解决:当键入;
向Prolog解释器询问下一个证据时,我无法得到最后一个。例如:
GNU Prolog 1.4.4 (64 bits)
Compiled Apr 23 2013, 17:24:33 with /opt/local/bin/gcc-apple-4.2
By Daniel Diaz
Copyright (C) 1999-2013 Daniel Diaz
| ?- member(X, [1,2,3]).
X = 1 ? ;
;
X = 2 ?
yes
| ?-
似乎是处理回声和换行的问题。第一个;
被回显,但在获得第二个解决方案后,我没有机会输入第二个;
。