在线编码器 codeMirror

CodeMirror是一款在线的支持语法高亮的代码编辑器。官网: http://codemirror.net/

下载后,解压开得到的文件夹中,lib下是放的是核心库和核心css,mode下放的是各种支持语言的语法定义,theme目录下是支持的主题样式。一般在开发中,添加lib下的引用和mode点击打开链接下的引用就够了。




var editor = $(element).find('.textarea')[0];
//解决异步加载bug
$timeout(function () {
scope.codeMirror = CodeMirror.fromTextArea(editor, {
theme: 'erlang-dark',
mode: 'shell',
lineNumbers: true,
readOnly: false,
extraKeys: {
"F11": function(cm) {
cm.setOption("fullScreen", !cm.getOption("fullScreen"));
},
"Esc": function(cm) {
if (cm.getOption("fullScreen")) cm.setOption("fullScreen", false);
}
}
});
$(element).find('.code-type').data('codeMirror',scope.codeMirror);
});
//全屏展示
$(element).find('.icon-size-fullscreen').on('click',function(){
var escTip =  $('<div style="z-index:10000;font-size:16px;color:#f05050;position: fixed;top: 10px;left:50%;text-align: center;opacity: 1;font-weigth:bold;background-color: #e7fff8;padding:5px;width:400px;margin-left:-200px;">您现在处于全屏模式,按ESC键可以退出全屏!</div>');
$(document.body).append(escTip);
escTip.animate({
opacity : '0'
},5000,function(){
escTip.remove();
});
scope.codeMirror.setOption("fullScreen", true);
});
//选择本地脚本
$('.file').on('change', function () {
var data = $(this)[0].files[0];
$('#getNameFile').val(data.name)
//对文件大小和类型进行过滤
var arr = data.name.split('.');
if (['txt', 'sh', 'py', 'bat', 'pl','json','yaml'].indexOf(arr[arr.length - 1]) == -1) {
scope.$apply(function () {
$rootScope.pop('请上传脚本类型的文件,【.txt,.sh,.py,.bat,.pl,.json,.yaml】', 'error');
});
return;
}
if (data.size > 1024 * 1024) {
scope.$apply(function () {
$rootScope.pop('文件大小超过1M', 'error');
});
return;
}
if (data) {
//将文件进行转码,转换为text
var reader = new FileReader();
reader.readAsText(data);
reader.onload = function (f) {
scope.codeMirror.setValue(this.result);
}
}
});

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值