问题标签 [codemirror-modes]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
387 浏览

codemirror - 如何在 CodeMirror 中编写带有内部 DSL 提示的新模式?

我正在尝试使用 CodeMirror 为某些内部域特定语言编写 HTML 编辑器。我需要帮助来编写模式和提示,从哪里开始?

除了 Codemirror.net 网站,还有其他文档吗?

0 投票
2 回答
1202 浏览

javascript - codemirror 的新模式:检测流中的空行

我正在尝试为 codemirror 开发一种简单的模式。此模式将以蓝色和绿色交替为段落着色。段落之间的分隔是空行或仅包含空格的行。

这是一个有效的代码版本,但最大的问题是未检测到空行:

如果我将其应用于以下文本:

它以一种颜色从第 1 行到第 4 行着色,以另一种颜色从第 5 行着色到第 6 行,这是预期的。

我正在尝试找到一种方法来更新我的代码,以便它检测到第 2 行和第 3 行之间的空行。有什么方法可以做到这一点?

0 投票
2 回答
653 浏览

javascript - 如何在 Codemirror 中使用 RegEx 匹配段落的第一个和最后一个单词?

我正在使用 Codemirror 构建一个具有一些不错功能的文本编辑器,例如语法突出显示、在简单模式下使用语言模式,以及尝试编写几个正则表达式来匹配段落的第一个和最后一个单词。例如,在:

第一个正则表达式(段落中的第一个单词)应该匹配Oneand Two,第二个正则表达式(段落中的最后一个单词)应该匹配numbersand second

我一直在尝试不同的表达方式,但最终找不到合适的表达方式。这是我得到的最接近的,但显然仍然不正确:

谁能指出我正确的方向?提前致谢。

0 投票
3 回答
1847 浏览

javascript - codemirror:按下制表符时如何缩进整行?

我正在为 codemirror 创建一个新的简单模式。

我希望当用户按下“制表符”时,整行都会缩进(而不是光标之后的行的一部分,将行“拆分”成两部分)。

最简单的方法是什么?

注意:相应的代码不必在模式中定义。任何其他方法(例如添加或配置)也可以。

0 投票
2 回答
1370 浏览

javascript - 代码镜像:使用正则表达式

我正在尝试将正则表达式用于代码镜像中的简单模式。

我测试它的最小代码:

第一遍的输出是:

如果我使用字符串“word”而不是正则表达式,它会记录“undefined”而不是“null”。

代码镜像文档(http://codemirror.net/doc/manual.html)说(功能匹配):

模式可以是字符串或以 ^ 开头的正则表达式

我不清楚(^ 表示正则表达式的“不”?)

这是我第一次使用 codemirror、正则表达式和 javascript,所以我可能会遗漏一些明显的东西。

0 投票
1 回答
1310 浏览

javascript - CodeMirror 和括号,使用 CSS 快速编辑的自定义模式

我正在制作一个 Adob​​e Brackets Extension 以添加对 Laravel Blade 语法高亮的支持。

Blade 是一个在 HTML(更具体地说是 .php 文件)之上运行的模板系统,在没有激活我的扩展程序的情况下,我可以对 css 规则名称执行 CTRL+E快速编辑以快速在 stlye.css 文件中找到该规则。但是当我激活扩展时,CTRL+E 不再工作,但 HTML 语法工作正常。

我在 text/html 上使用覆盖模式。

这是 main.js 扩展代码:

真正的问题是: 如何在我的自定义模式和 *blade.php 文件中添加对快速编辑的支持?

0 投票
1 回答
3151 浏览

javascript - 如何根据子字符串位置突出显示 CodeMirror 中的子字符串

我正在尝试使用 CodeMirror ( http://codemirror.net/ ) 作为具有一些额外功能的基本文本编辑器。其中之一是突出显示特定单词或单词组,由它们在原始字符串中的位置指定。我有一个外部结构存储我要突出显示的子字符串位置列表。此结构是一个数组,其中每个元素代表一个文本行,并包含一个对象数组,其中包含要突出显示的子字符串的位置。例如,我有这个文本字符串:

要突出显示的词是“月亮”、“苍白”、“圆”和“太阳”。因此,高亮结构是这样的:

为了实现这一点,我首先尝试编写自定义语言模式但没有成功(主要是因为我不知道如何管理CodeMirror似乎使用令牌而不是行,我显然需要知道行在哪里当前标记的位置以便从突出显示结构中检索正确的数据)。

然后我尝试编写一个外部函数,通过手动添加 SPAN 标签来应用突出显示,如下所示:

我知道这是一种非常肮脏的方法,它实际上不能 100% 工作,因为代码编辑器中的某些文本变得不可选择和其他错误,但至少我在控制突出显示方面取得了一些成功。

所以我的问题是,这样做的正确方法是什么?如果我应该坚持语言模式方法,我会怎么做?

还建议我看一下 Ace ( http://ace.c9.io/#nav=higlighter ),但它看起来不支持基于字符串位置而不是关键字列表来处理突出显示或正则表达式规则。

提前致谢。

0 投票
1 回答
653 浏览

codemirror - CodeMirror 保留空行

我正在使用 CodeMirror 来显示 JSON、XML 和纯文本输出。

JSON 和 XML 一切都很好。但是,我的纯文本输出会丢失空行。显示纯文本时,我将 CodeMirror 的mode属性设置为 null。有没有办法解决这个问题并强制 CodeMirror 保留空白行?显示纯文本时不需要任何其他格式。

谢谢你。

0 投票
2 回答
2718 浏览

css - 从哪里获取所有 JavaFX CSS 属性名称的列表?

我正在尝试构建一个CodeMirror模式文件,以便基于原始 CSS 模式为 JavaFX 风格的 CSS 提供正确的语法突出显示和完成帮助。

JavaFX CSS中,大多数属性与经典 CSS 中的相同,但有些不存在,有些不同,并且所有属性都带有前缀-fx-

所以,例如,

变成

我在哪里可以获得所有现有 JavaFX CSS 属性名称的纯文本列表,以便我可以替换 JavaScript 模式文件中的普通 CSS 属性名称?

注意:如果 CodeMirror 的这种模式文件已经存在,当然更好。但谷歌并没有提供帮助。

0 投票
1 回答
422 浏览

javascript - 如何在 html 页面上使用 codemirror 突出显示源代码

我目前正在使用谷歌的漂亮打印在我的网站上突出显示源代码,如下所示。

我已经有一些代码存档,但我只想突出显示该代码。如何使用 codemirror 突出显示相同的内容?