gpt4 book ai didi

javascript - 如何向 CodeMirror 添加关键字(并更改其颜色)?

转载 作者:行者123 更新时间:2023-11-30 05:30:58 26 4
gpt4 key购买 nike

我目前正在使用 Brackets(代码编辑器)创建一些 C 源文件。它使用 CodeMirror 来处理语法突出显示,我现在已经尝试了一段时间,尝试向它添加关键字。

我设法通过修改 this code here 将“printf”添加为关键字并在关键字中添加“printf”。但是,我想改变它的颜色,但没能做到。我怎么能这样做?

此外,与行注释(例如“//”)突出显示整行的方式相同,如果行以“#”开头,我也想这样做,同时更改颜色。

我很确定我需要修改“clike.js”文件以添加新关键字和一些其他 .css 文件以更改颜色,但我似乎无法解决。

感谢您的帮助。

最佳答案

解决了。

首先我改变了the 'clike.js' file添加以下“if” block 来处理我想要的更改。

function tokenBase(stream, state) {
var ch = stream.next();
if (ch == "#") {
if (stream.eat("i")) {
stream.skipTo(" ")
return "include";
}
else if (stream.eat("p")) {
stream.skipToEnd();
return "pragma";
}
}
...

因此,在解析文件时,外部 block 会检查“#”。当检测到一个字母时,它会检查下一个字母是“i”还是“p”。
这是因为我想强调:

#include ...

#pragma ...

如果下一个字符是“i”,我会使用 stream.skipTo("") 跳到下一个空格,这样只有 #include 是突出显示。
如果找到“p”,我将改为使用 stream.skipToEnd() 以便突出显示整行。

return 语句然后返回一个字符串,该字符串与已找到的内容相关,主题 .css 文件中的相应样式指定诸如颜色或样式之类的内容。
例如,在我的例子中,括号默认灯光主题位于 Brackets.app/Contents/www/extensions/default/LightTheme/main.less
在此文件中,我添加了以下几行:

.cm-pragma {color: #a50000;}
.cm-include {color: #A0522D;}

然后指定您希望该文本的颜色,但我假设也可以指定其他内容,例如粗体、斜体、可能是字体等。

如果你想创建一个新的返回类型 'test',你可以在你的 javascript 文件中 return "test"; 并且你的主题文件中的相应样式将被命名为 .cm -包括{...};

希望这对其他想做同样事情的人有所帮助。

关于javascript - 如何向 CodeMirror 添加关键字(并更改其颜色)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27093527/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com