- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个文本区域表单字段。我希望 ace 编辑器能够一次性突出显示所有出现的某些预定义单词。像这样将它们传递到数组中是行不通的: editor.findAll("word1","word2","...");
我正在考虑使用正则表达式,过滤某些单独的单词。这是我的代码:
<script type="text/javascript" src="/ace/src-min/ace.js" charset="utf-8"></script>
<script>
// Hook up ACE editor to all textareas with data-editor attribute
$(function () {
$('textarea[data-editor]').each(function () {
var textarea = $(this);
var mode = textarea.data('editor');
textarea.css('visibility', 'hidden');
var editor = ace.edit(edit);
editor.renderer.setShowGutter(false);
editor.getSession().setValue(textarea.val());
editor.getSession().setMode("ace/mode/" + mode);
editor.getSession().setUseWrapMode(true); // adds vertical scrollbar
var keywords = "word1|word2";
keywords = new RegExp(keywords);
editor.findAll(keywords,{
//caseSensitive: false,
//wholeWord: true,
regExp: true
});
});
});
</script>
不幸的是它什么也没做。也许我缺少某种图书馆?我得到了与 codemirror ( http://codemirror.net/ ) 一起使用的正则表达式,但想尝试一下 ace-editor。显然这在某种程度上有效:
var highlightWords = "word1|word2|word3|phrase one|phrase number two|etc";
var keywordMapper = this.createKeywordMapper({
"highlightWords": highlightWords
}, "identifier", true);
但坦率地说,我不知道如何将所有这些部分组合在一起并使它们发挥作用。 我基本上想将预定义单词的列表传递给 ace,以便它们突出显示。如果我没有记错的话,我需要为此设置自己的突出显示规则,然后使它们与 ace-editor 一起使用。也许有人以前做过这个或者可以给我一个简单的例子?我尝试了这个文档( https://github.com/ajaxorg/ace/wiki/Creating-or-Extending-an-Edit-Mode ),但无法理解它。我什至不确定这是否是正确的起点。
最佳答案
您可以执行以下操作:
var keywords = /word1|word2/g
在 Javascript 中,正则表达式不是用引号包围的,而是用分隔符包围的(我使用了 /
),标志出现在第二个分隔符之后。
g
是全局标志,因此正则表达式将在整个编辑器中多次匹配。
您还可以通过问题中的 keywords
变量使用:
var keywords = new RegExp(keywords, 'g');
关于jquery - 如何使用 ace 编辑器突出显示多个单词?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20075167/
我正在尝试嵌入 ACE editor elements进入我的 AngularJS 项目,以便在其中允许 JSON 编辑功能。以下是到目前为止的所有配置/设置: Bower.json "depende
我正在使用 ace-builds使用 webpack 构建我的 ace 编辑器应用程序。 我需要使用自定义工作程序进行语法验证。维基页面 here建议扩展名为 mirror 的 worker 通过以下
我的文字是: My favourite singer is {Bruce Springsteen} and he was born in New Jersey. 我想以编程方式选择大括号之间的文本,包
Ace 编辑器默认选择整行.. 例如:当页面加载时,默认选择第一行。 此外,当我单击屏幕上的任意位置时,整行都被选中了.. 如何禁用此功能.. 提前致谢 最佳答案 您确定它是选择而不是事件线突出显示吗
如何使用 Ace 编辑器执行以下操作。 用户输入“@”字符 弹出自动完成 用户从下拉列表中进行选择 既然已经做出选择,“@”就会被删除 我基本上希望 @ 作为自动完成的触发器,但我不希望它在之后徘徊。
我正在尝试在 Ace 编辑器中保存更改操作,然后回放它们。下面有一些伪代码 - 要点是 applyDeltas API 似乎没有为我的编辑器做任何事情。我绑定(bind)到编辑器更改事件,将更改增量推
是否可以选择向 ACE 编辑器窗口添加句柄以设置编辑器窗口的大小 最终用户可以更改吗?我尝试使用 interactjs.io 并将 resizable(true) 应用于 .ace_content 类
我想在当前内容的最后一行插入文本。它就像文件中的追加操作。我只找到 editor.insert(text) 方法。此方法在光标后添加文本。有没有办法把文本追加到最后一行? 最佳答案 使用 editor
我正在 Ace 编辑器中开发实时协作编辑器,但找不到关于在编辑器中的某个位置(也就是其他用户键入的位置)插入文本的任何文档。有什么想法吗? 最佳答案 要在当前位置插入,您可以使用(假设这可能是您正在寻
在使用 ACE 编辑器时,我观察到在编辑器的中心显示了一条神秘的线。我该如何解决? 最佳答案 该行称为打印边距,包括 editor.setShowPrintMargin(false); 在你的代码中。
我的问题与 set focus on ace editor 有关 这次我想在出现验证错误时删除内容。 我用过像这样的模式 /^[0-4]$/ and /^([1-9][0-9]{0,3}|[1-5][
我一直在尝试将语法突出显示添加到我的网络应用程序并找到了 ace。但是,在使用文档中提供的解决方案后,我仍然无法更改编辑器主题。有谁知道该怎么做? 到目前为止,我只是用下面的代码初始化了元素 var
我想用自定义语言的模式来扩展 ace。据我所知,大致流程是: 下载 ace 源代码。 为您的自定义语言创建一个新的 lib/ace/mode/foo.js。 运行“make build”(或类似命令)
我正在研究 Ace,看看它是否具有我需要的所有功能。我之前只使用过 CodeMirror,而 CodeMirror 对我来说至关重要的功能之一是 addLineWidget,它基本上会在编辑器中的某一
我想使用 Ace Editor 将代码片段嵌入到页面中,如所示 here . 但是,由于这些片段是从较大的文件中提取的,因此我希望装订线中的行号能够反射(reflect)代码的原始行号。换句话说,我希
我正在使用 ACE 编辑器,并使用下面的代码启用自动完成功能,但这似乎只是通过文档中的任何单词给我自动完成功能。这看起来很奇怪。我希望它的行为更像 Visual Studio,因为它只列出函数/变量而
这个问题是关于ACE mutexes的使用。下面是一个相当冗长的最小示例,其工作方式如下: 代码启动多个线程并在 10 秒后停止它们。每个线程都尝试获取一个互斥锁并保持它直到它终止。有两种线程。第一种
我已经将编辑器设置为只读,它是只读的,但它显示了一个光标。我想以编程方式隐藏光标(除非以编程方式,否则不通过样式)。 最佳答案 以下是建议答案的作用,用于视觉比较: 这是以前的样子: 添加: edit
我有一个用例,用户单击按钮在当前光标位置插入文本。 但是在使用 session.insert(cursorPosition, textToAdd) 插入文本之后, 光标位置移动到第一个字符。 我尝试使
我在 Ace 编辑器中找到了美化扩展,但我没有看到任何如何使用它的示例。这是我到目前为止所拥有的: var beautiful = ace.require("ace/ext/beautify"); b
我是一名优秀的程序员,十分优秀!