javascript - 嵌入 HTML 的 Orion 文本编辑器中 C 代码的语法突出显示

标签 javascript html eclipse-orion

我正在尝试让 C 语法突出显示为我的 HTML 应用程序工作。

我正在嵌入 Orion 编辑器。目前只有 JavaScript 语法高亮可用,但我认为 C 也应该可以高亮显示,因为 git 存储库位于 https://github.com/eclipse/orion/tree/master/editor/releases/latest/stylers。还具有适用于 Java 和 C 的“样式器”。

这是我的设置代码:

<link rel="stylesheet" type="text/css" href="http://eclipse.org/orion/editor/releases/latest/built-editor.css"/>
<script src="http://eclipse.org/orion/editor/releases/latest/built-editor.js"></script>
<script>
if (window.addEventListener) {
    window.addEventListener('load', function() {
        require(["orion/editor/edit"], function(edit) {
            edit({className: "editor"});
        });
    }, false);
}
</script>
<style>
pre.editor{
    padding: 0px;
    border: 1px solid lightgrey;
}
</style>

此标记代码成功创建了一个带有 JavaScript 高亮显示的编辑框:

<pre class="editor" data-editor-lang="js">
// JavaScript
function() { }
</pre>

这是 C 的代码,它不起作用(data-editor-lang="c" 属性是一个猜测,找不到相关文档):

<pre class="editor" data-editor-lang="c">
// C/C++
int main() {
    volatile float x = 12.f;
}
</pre>

这是 Java 版本(但如果我将 orion/editor/releases/latest/ 更改为 orion/editor/releases/5.0/,它就可以工作):

<pre class="editor" data-editor-lang="java">
// Java
class X extends Y {}
</pre>

我在测试此 HTML 时收到这些错误消息:

Error: undefined missing orion/editor/stylers/c/syntax built-editor.js:297
Error: undefined missing orion/editor/stylers/text_x-java-source/syntax built-editor.js:297

最佳答案

经过一些尝试和错误后,我在仅使用 Orion 客户端时得到了 javascript 的语法高亮显示。同样的策略可能对你有用:

 requirejs.config({                 
    baseUrl : '.',
    paths: {          
        'orion/editor': 'lib/orion',      
        'jquery': 'bower_components/jquery/dist/jquery.min'
    }
  }); 

-

require(['orion/editor/built-editor', 'orion/editor/stylers/application_javascript/syntax'], function(edit, syntax) {  

    var deferred = new $.Deferred();
    deferred.resolve(syntax);

    edit({
          className: "editor",
          lang:'js',
          grammarProvider: function(){                    
             return deferred.promise();                 
          }
   });
}); 

另一种选择可能是使用 built-codeEdit 而不是客户端的 build-editor。另见

https://wiki.eclipse.org/Orion/How_Tos/Code_Edit

关于javascript - 嵌入 HTML 的 Orion 文本编辑器中 C 代码的语法突出显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25714760/

相关文章:

javascript - 在 javascript 中真的有一个很好的理由从不检查 boolean true || false 例如 if(var){}else{}?

java - 如何将Eclipse升级到SimRel版本

javascript - Angular2 版本的 knockout 的 computed observable

Javascript + 从选择框中打印值

html - 导航栏和定位后面的背景图片

html - 如何正确居中对齐拆分为 2 :1 ratio 的两个相邻框的内容

java - Eclipse、Orion、OSGi 开发环境设置 (Maqetta)

eclipse - 从 ANT 启动 Eclipse 运行配置

javascript - 改变 redux 状态但也保留一些旧的状态值

php - 将链接连接到 2 个 php 页面