javascript - 无法让折叠装订线以 xml 模式显示在 CodeMirror 中

标签 javascript xml codemirror

我正在尝试为一些显示折叠间距的 XML 内容创建一个 CodeMirror 编辑器。我正在加载一堆 codemirror 库代码(3.18 版):

<script src="js/lib/codemirror.js"></script>
<script src="js/lib/foldcode.js"></script>
<script src="js/lib/xml-fold.js"></script>
<script src="js/lib/foldgutter.js"></script>
<script src="js/lib/xml.js"></script>
<script src="js/lib/sparql.js"></script>

然后我创建编辑器对象:

var showCodeMirrorResult = function( code, count, mode ) {
  var editor = CodeMirror( $("#results").get(0), {
    value: code,
    mode: mode,
    lineNumbers: true,
    extraKeys: {"Ctrl-Q": function(cm){ cm.foldCode(cm.getCursor()); }},
    foldGutter: true,
    gutters: ["CodeMirror-linenumbers", "CodeMirror-foldgutter"]
  } );
};

其中 code 是编码 XML 文档的字符串,modeapplication/xml。这一切都有效——我得到了一个语法高亮的 CodeMirror 编辑器,我可以使用 ctl-Q 来折叠和展开 XML 节点,一切都很好。但是,我无法显示装订线,向用户表明他们可以在此编辑器中进行折叠。我期待 something like this - 注意左侧装订线中的三 Angular 形以指示折叠点。无论我尝试什么,我都无法让它们出现。

最佳答案

你添加了 CSS 吗?

 .CodeMirror-foldmarker {    
    font-family: arial;
  }
 .CodeMirror-foldgutter {
    width: .7em;
  }
  .CodeMirror-foldgutter-open,
  .CodeMirror-foldgutter-folded {
    color: #555;
    cursor: pointer;
  }
  .CodeMirror-foldgutter-open:after {
    content: "\25BE";
  }
  .CodeMirror-foldgutter-folded:after {
    content: "\25B8";
  }

关于javascript - 无法让折叠装订线以 xml 模式显示在 CodeMirror 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19006207/

相关文章:

XML XPathResult 获取图像 url

javascript - 在 Codemirror 中获取选定范围

javascript - CodeMirror.js 在哪里?

javascript - 将数组从代码隐藏例程传递到 javascript

android - AlignParentBottom 按钮与 Scroll/Focus 上的 Textview 重叠

Javascript:将逗号替换为 ### - 仅在双引号中(匹配内部双引号的事件)

c# - 如何使用 XML 阅读器反序列化 XML 片段

javascript - 如何更改所选文本的颜色?

javascript - 如何将 DRY 原则应用于评论?

javascript - 保持 md-select 打开直到在外部单击 - AngularJS