如何为语法高亮定义和加载自定义 ace 模式
How to define and load custom ace mode for syntax highlighting
我正在尝试在 Ace 中突出显示我自己的语法。到目前为止我这样做了:
- 克隆的 ace 回购
git clone https://github.com/ajaxorg/ace.git
- 用过 Iro to design some syntax. Later I pasted the code generated by Iro into mode creator,它似乎工作得很好。
- 我复制了Iro生成的代码放在了
ace/lib/ace/mode/mealy.js
- 运行
npm install
在 ace
目录中
- 运行
node ./Makefile.dryice.js
在 ace
目录中。我ac成功看到ace/build/src/mode-mealy.js
.
- 我创建了这个嵌入代码
<!doctype html>
<html lang="en-us">
<head>
<meta charset="utf-8">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>SyntaxHighlighter</title>
<style type="text/css" media="screen">
#editor {
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
}
</style>
</head>
<body>
<div id="editor"></div>
<script type="text/javascript" src="../ace/build/src/ace.js"></script>
<script>
var editor = ace.edit("editor");
editor.setTheme("ace/theme/monokai");
editor.session.setMode("ace/mode/mealy");
</script>
</body>
</html>
不幸的是,语法突出显示根本不起作用,但如果我使用 editor.session.setMode("ace/mode/javascript")
,那么一切正常。我什至将我的语言添加到 lib/ace/ext/modelist.js
.
这种方法有几处错误,但非常接近。最好按照本指南获取完整详细的说明
https://aleksander-mendoza.github.io/syntax_highlighter.html
我正在尝试在 Ace 中突出显示我自己的语法。到目前为止我这样做了:
- 克隆的 ace 回购
git clone https://github.com/ajaxorg/ace.git
- 用过 Iro to design some syntax. Later I pasted the code generated by Iro into mode creator,它似乎工作得很好。
- 我复制了Iro生成的代码放在了
ace/lib/ace/mode/mealy.js
- 运行
npm install
在ace
目录中 - 运行
node ./Makefile.dryice.js
在ace
目录中。我ac成功看到ace/build/src/mode-mealy.js
. - 我创建了这个嵌入代码
<!doctype html>
<html lang="en-us">
<head>
<meta charset="utf-8">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>SyntaxHighlighter</title>
<style type="text/css" media="screen">
#editor {
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
}
</style>
</head>
<body>
<div id="editor"></div>
<script type="text/javascript" src="../ace/build/src/ace.js"></script>
<script>
var editor = ace.edit("editor");
editor.setTheme("ace/theme/monokai");
editor.session.setMode("ace/mode/mealy");
</script>
</body>
</html>
不幸的是,语法突出显示根本不起作用,但如果我使用 editor.session.setMode("ace/mode/javascript")
,那么一切正常。我什至将我的语言添加到 lib/ace/ext/modelist.js
.
这种方法有几处错误,但非常接近。最好按照本指南获取完整详细的说明 https://aleksander-mendoza.github.io/syntax_highlighter.html