如何在codemirror中使用tern为我的编辑器中的每个单词添加我的特殊文本?

时间:2016-12-31 10:15:38

标签: codemirror tern

我想使用tern(为我自己的语言添加每个单词的类型)所以我添加到我的html页面:

   <link rel="stylesheet" href="plugin/codemirror/addon/tern/tern.css">
     <link rel="stylesheet" href="plugin/codemirror/addon/dialog/dialog.css">
<script src="plugin/codemirror/addon/tern/tern.js"></script>
<script src="plugin/codemirror/addon/dialog/dialog.js"></script>

我尝试的内容: 我尝试了很多但没什么工作:(, 我试着写:

"Ctrl-I": function(cm) { CodeMirror.tern.getServer(cm).showType(cm); }, but not work

我试着像demo一样写:

<script>
  function getURL(url, c) {
    var xhr = new XMLHttpRequest();
    xhr.open("get", url, true);
    xhr.send();
    xhr.onreadystatechange = function() {
      if (xhr.readyState != 4) return;
      if (xhr.status < 400) return c(null, xhr.responseText);
      var e = new Error(xhr.responseText || "No response");
      e.status = xhr.status;
      c(e);
    };
  }

  var server;
  getURL("//ternjs.net/defs/ecma5.json", function(err, code) {
    if (err) throw new Error("Request for ecma5.json: " + err);
    server = new CodeMirror.TernServer({defs: [JSON.parse(code)]});
    editor.setOption("extraKeys", {
      "Ctrl-Space": function(cm) { server.complete(cm); },
      "Ctrl-I": function(cm) { server.showType(cm); },
      "Ctrl-O": function(cm) { server.showDocs(cm); },
      "Alt-.": function(cm) { server.jumpToDef(cm); },
      "Alt-,": function(cm) { server.jumpBack(cm); },
      "Ctrl-Q": function(cm) { server.rename(cm); },
      "Ctrl-.": function(cm) { server.selectName(cm); }
    })
    editor.on("cursorActivity", function(cm) { server.updateArgHints(cm); });
  });

  var editor = CodeMirror.fromTextArea(document.getElementById("code"), {
    lineNumbers: true,
    mode: "javascript"
  });

但没有任何作用

所以任何身体都可以帮助我,我必须打电话给我自己的话添加我自己的燕鸥?

0 个答案:

没有答案