CodeMirror编辑器自动完成预定义单词
CodeMirror editor autocompletion for predefined words
我有一个网站,我使用CodeMirror编辑器来输入数据。我想添加一个非常简单的自动完成功能:我有一些单词以@symbol(@cat,@dog,@bird等)开头,我希望编辑器在用户键入@或@c时显示带有这些单词的下拉列表-我该怎么做?我看到了自动完成插件,但它们需要按ctrl+space并使用模式。。。所以,任何帮助都将是伟大的!
谢谢!
以下是如何(假设您已经加载了CodeMirror和show-hint
插件):
// Dummy mode that puts words into their own token
// (You probably have a mode already)
CodeMirror.defineMode("mylanguage", function() {
return {token: function(stream, state) {
if (stream.match(/[@'w+]/)) return "variable";
stream.next();
return null;
}};
});
// Register an array of completion words for this mode
CodeMirror.registerHelper("hintWords", "mylanguage",
["@cat", "@dog", "@bird"]);
// Create an editor
var editor = CodeMirror(document.body, {mode: "mylanguage"});
// When an @ is typed, activate completion
editor.on("inputRead", function(editor, change) {
if (change.text[0] == "@")
editor.showHint();
});
相关文章:
- 带有预定义网格的Packey JS
- SVG使用Javascript将形状平滑地变形为其他预定义的形状
- 如何在不预定义的情况下将javascript函数传递到另一个函数中
- 没有预定义宽度的固定元素最初放在引导容器中,不会从父元素继承宽度
- 用javascript为预定义对象设置原型
- AngularJS:如何按照预定义的顺序执行函数
- jqGrid - 如何通过自定义格式化程序提供多个预定义的格式化程序
- 如何使用预定义字符串列表“动态”生成 HTML 代码
- 使用预定义函数的NodeJS async.series
- 如何在HTML中用两个预定义的值绑定选择选项,以在mongodb中插入数据
- CodeMirror编辑器自动完成预定义单词
- 为什么JavaScript闭包不能与预定义的函数一起使用
- 要在html5音频中静音的预定义部分
- 如何在剑道网格中添加具有预定义数据的新行
- 如何通过colResizable设置列的预定义宽度
- ASP.NET网页-使用脚本显示由预定义日期和时间指定的图像/文本
- 在 JavaScript 中创建具有单个预定义选项的随机数组
- 将数组传递给预定义的 JavaScript 函数
- 选择下拉列表以输入具有预定义值的文本
- 如何在 Jquery/Javascript 中选择预定义选择的第一个和最后一个元素而不循环