Ace: 添加“。” 字符前缀匹配完成者 Ref- 'ace/autocomplete/util'

创建于 2013-10-31  ·  10评论  ·  资料来源: ajaxorg/ace

审议,

文件 ext-language_Tools.js 中的模块“ace/autocomplete/util”定义了一个正则表达式,用于确定已定义完成者的前缀匹配。

var ID_REGEX = /[a-zA-Z_0-9$-]/;
用于,exports.retrievePrecedingIdentifier

由于我们定义了一个自定义完成器来支持我们的对象结构(Person.Name.First 等...),这导致了 ID_REGEX 与点字符不匹配的问题。 这可以在我们的自定义完成器中被覆盖,但它会导致 ace/ext/language_tools 中定义的完成器污染我们与整个文档范围的匹配。

修改似乎微不足道...
var ID_REGEX = /[a-zA-Z_0-9$-.]/;

language_tools

最有用的评论

@nightwing 对此有何更新?

所有10条评论

或者更确切地说,可以将 ID_REGEX 作为 ace/autocomplete/util mdoule 的选项吗?

是的,让它成为一个选项更好

我遇到了同样的问题。 我试图找到一种自定义前缀匹配的巧妙方法,但没有找到可行的方法。 有可用的解决方案吗?

我假设当前模式的 Tokenizer 将用于确定当前前缀...这将允许动态前缀查找规则...整洁? 还是我错过了什么? 这样我就可以创建自己的模式(可能不像我希望的那么微不足道,但它会适合......对吗?)

前段时间添加了对此的实验性支持https://github.com/ajaxorg/ace/blob/badade8f4e9d10194b1f802c57cc368e5fe90688/lib/ace/autocomplete.js#L220但我不确定它是否运作良好,并且仍然可能会改变。
如果在编写标记器时考虑到这一点,则使用标记器将起作用,但许多模式将不起作用,因为它们将文本类分配给未突出显示的所有内容。

这将是有帮助的,不能相信没有这个自动完成作品。

@nightwing它有效(使用结果数组中的第一项来传递正则表达式)

@antonpod你能描述一下你做了什么让它工作吗? 几个月前我打开了这个问题。

@rsmith31415在我的情况下,我不需要在发送 Ajax 请求之前知道前缀。 在获取关键字后,我只需要调整正则表达式以匹配点。
无论如何,它没有按预期工作,得到一些看起来完全随机的奇怪匹配。

@antonpod感谢您的回复。 也许@nightwing可以分享有关此功能支持的更新。

@nightwing 对此有何更新?

此页面是否有帮助?
0 / 5 - 0 等级