我无法想象如何向codemirror添加表。我有sql-hint.js,并为关键字工作,但不明白如何添加表和列...
答案 0 :(得分:19)
可悲的是,这似乎没有记录在任何地方。
通过一些试验和错误,我能够发现你可以在调用hinter时传递一个表和列名结构作为选项,如下所示:
CodeMirror.commands.autocomplete = function(cm) {
CodeMirror.showHint(cm, CodeMirror.hint.sql, {
tables: {
"table1": [ "col_A", "col_B", "col_C" ],
"table2": [ "other_columns1", "other_columns2" ]
}
} );
}
答案 1 :(得分:18)
我知道这个问题有些陈旧但是..我找到了一个有趣的方法,在4.3版本中有效(我对旧版本一无所知):只需添加“CodeMirror.hint.sql”值(不带引号) ,作为一个函数)作为“提示”选项,并将“tables”对象添加为“hintOptions”对象中定义的子对象。
类似的东西:
CodeMirror.fromTextArea(document.getElementsByTagName("textarea")[0], {
mode: "text/x-sql",
extraKeys: {"Ctrl-Space": "autocomplete"}, // To invoke the auto complete
hint: CodeMirror.hint.sql,
hintOptions: {
tables: {
"table1": [ "col_A", "col_B", "col_C" ],
"table2": [ "other_columns1", "other_columns2" ]
}
}
});
就是这样。请注意,绝对不需要“extraKeys”,但我发现更容易测试自动完成功能非常棒。 =)
祝你好运。 :)