如何使用 Ace 对话框显示 messages/errors?
How do I use the Ace dialog to show messages/errors?
我在我的网站上使用带有 vim 键绑定的 ace 编辑器。每当有人进入正常模式并键入命令时,它就会显示在底部的对话框中。我这样定义了一个函数:
ace.config.loadModule("ace/keyboard/vim", m => {
m.CodeMirror.Vim.defineEx("write", "w", () => submitForm())
})
巧妙的是,每当该函数出错时,它都会在另一个对话框中显示错误。我的问题是,这个功能是否暴露给用户?我可以使用该对话框来显示消息,就像编辑器在函数出错时所做的那样吗?这是显示示例的屏幕截图:
正在键入命令 -
弹出错误(我用来输入命令的对话框前面的另一个对话框)-
没有关于此的记录 api,但通过判断
https://github.com/ajaxorg/ace/blob/v1.4.9/lib/ace/keyboard/vim.js#L4983,应该可以用下面的
editor.state.cm.openNotification(domNodeOrHtmlString, {bottom: true, duration: 5000})
要创建 dom 节点,您可以使用 ace 中的 buildDom 函数。
var domNode = ace.require("ace/lib/dom").buildDom(["span", {style: "color:red"}, "xxxxx"])
我在我的网站上使用带有 vim 键绑定的 ace 编辑器。每当有人进入正常模式并键入命令时,它就会显示在底部的对话框中。我这样定义了一个函数:
ace.config.loadModule("ace/keyboard/vim", m => {
m.CodeMirror.Vim.defineEx("write", "w", () => submitForm())
})
巧妙的是,每当该函数出错时,它都会在另一个对话框中显示错误。我的问题是,这个功能是否暴露给用户?我可以使用该对话框来显示消息,就像编辑器在函数出错时所做的那样吗?这是显示示例的屏幕截图:
正在键入命令 -
弹出错误(我用来输入命令的对话框前面的另一个对话框)-
没有关于此的记录 api,但通过判断 https://github.com/ajaxorg/ace/blob/v1.4.9/lib/ace/keyboard/vim.js#L4983,应该可以用下面的
editor.state.cm.openNotification(domNodeOrHtmlString, {bottom: true, duration: 5000})
要创建 dom 节点,您可以使用 ace 中的 buildDom 函数。
var domNode = ace.require("ace/lib/dom").buildDom(["span", {style: "color:red"}, "xxxxx"])