Last active
January 4, 2016 12:49
-
-
Save mkaminsky11/8624455 to your computer and use it in GitHub Desktop.
ace control
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
$(window).bind('contextmenu', function(e) { | |
// do stuff here instead of normal context menu | |
if(!yes_context){ | |
return false; | |
} | |
}); | |
function getHint(){ | |
editor.execCommand("startAutocomplete"); | |
yes_context = false; //this temporarily disables the context menu | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
var editor = ace.edit("content"); | |
ace.require("ace/ext/language_tools"); | |
editor.on("change", function(e){ | |
setState("unsaved"); | |
checkUndo(); //can you undo? | |
yes_context = true; | |
}); | |
editor.session.setUseWrapMode(true); | |
editor.session.setWrapLimitRange(); | |
editor.setShowFoldWidgets(true); | |
editor.setShowPrintMargin(false); | |
editor.getSession().selection.on('changeCursor', function(e){ //cursor position indicator | |
var display = editor.getCursorPosition().column + "|" + editor.getCursorPosition().row; | |
$("#indicator").html(display); | |
}); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* | |
Line numbers, line wrap, autocomplete | |
*/ | |
var line_number = true; | |
function line_numbers() { | |
if(line_number){ | |
editor.renderer.setShowGutter(false); | |
line_number = false; | |
} | |
else{ | |
editor.renderer.setShowGutter(true); | |
line_number = true; | |
} | |
} | |
function line_wrap() { | |
if(editor.session.getUseWrapMode()){ | |
editor.session.setUseWrapMode(false); | |
} | |
else{ | |
editor.session.setUseWrapMode(true); | |
editor.session.setWrapLimitRange(); | |
} | |
} | |
function auto_bind(){ | |
if(autoC === true){ | |
autoC = false; | |
} | |
else{ | |
autoC = true; | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//intitialize modes | |
var supportedModes = { | |
ABAP: ["abap"], | |
ActionScript:["as"], | |
ADA: ["ada|adb"], | |
Apache_Conf: ["^htaccess|^htgroups|^htpasswd|^conf|htaccess|htgroups|htpasswd"], | |
AsciiDoc: ["asciidoc"], | |
Assembly_x86:["asm"], | |
AutoHotKey: ["ahk"], | |
BatchFile: ["bat|cmd"], | |
C9Search: ["c9search_results"], | |
C_Cpp: ["cpp|c|cc|cxx|h|hh|hpp"], | |
Cirru: ["cirru|cr"], | |
Clojure: ["clj"], | |
Cobol: ["CBL|COB"], | |
coffee: ["coffee|cf|cson|^Cakefile"], | |
ColdFusion: ["cfm"], | |
CSharp: ["cs"], | |
CSS: ["css"], | |
Curly: ["curly"], | |
D: ["d|di"], | |
Dart: ["dart"], | |
Diff: ["diff|patch"], | |
Dot: ["dot"], | |
Erlang: ["erl|hrl"], | |
EJS: ["ejs"], | |
Forth: ["frt|fs|ldr"], | |
FTL: ["ftl"], | |
Gherkin: ["feature"], | |
Glsl: ["glsl|frag|vert"], | |
golang: ["go"], | |
Groovy: ["groovy"], | |
HAML: ["haml"], | |
Handlebars: ["hbs|handlebars|tpl|mustache"], | |
Haskell: ["hs"], | |
haXe: ["hx"], | |
HTML: ["html|htm|xhtml"], | |
HTML_Ruby: ["erb|rhtml|html.erb"], | |
INI: ["ini|conf|cfg|prefs"], | |
Jack: ["jack"], | |
Jade: ["jade"], | |
Java: ["java"], | |
JavaScript: ["js|jsm"], | |
JSON: ["json"], | |
JSONiq: ["jq"], | |
JSP: ["jsp"], | |
JSX: ["jsx"], | |
Julia: ["jl"], | |
LaTeX: ["tex|latex|ltx|bib"], | |
LESS: ["less"], | |
Liquid: ["liquid"], | |
Lisp: ["lisp"], | |
LiveScript: ["ls"], | |
LogiQL: ["logic|lql"], | |
LSL: ["lsl"], | |
Lua: ["lua"], | |
LuaPage: ["lp"], | |
Lucene: ["lucene"], | |
Makefile: ["^Makefile|^GNUmakefile|^makefile|^OCamlMakefile|make"], | |
MATLAB: ["matlab"], | |
Markdown: ["md|markdown"], | |
MEL: ["mel"], | |
MySQL: ["mysql"], | |
MUSHCode: ["mc|mush"], | |
Nix: ["nix"], | |
ObjectiveC: ["m|mm"], | |
OCaml: ["ml|mli"], | |
Pascal: ["pas|p"], | |
Perl: ["pl|pm"], | |
pgSQL: ["pgsql"], | |
PHP: ["php|phtml"], | |
Powershell: ["ps1"], | |
Prolog: ["plg|prolog"], | |
Properties: ["properties"], | |
Protobuf: ["proto"], | |
Python: ["py"], | |
R: ["r"], | |
RDoc: ["Rd"], | |
RHTML: ["Rhtml"], | |
Ruby: ["rb|ru|gemspec|rake|^Guardfile|^Rakefile|^Gemfile"], | |
Rust: ["rs"], | |
SASS: ["sass"], | |
SCAD: ["scad"], | |
Scala: ["scala"], | |
Smarty: ["smarty|tpl"], | |
Scheme: ["scm|rkt"], | |
SCSS: ["scss"], | |
SH: ["sh|bash|^.bashrc"], | |
SJS: ["sjs"], | |
Space: ["space"], | |
snippets: ["snippets"], | |
Soy_Template:["soy"], | |
SQL: ["sql"], | |
Stylus: ["styl|stylus"], | |
SVG: ["svg"], | |
Tcl: ["tcl"], | |
Tex: ["tex"], | |
Text: ["txt"], | |
Textile: ["textile"], | |
Toml: ["toml"], | |
Twig: ["twig"], | |
Typescript: ["ts|typescript|str"], | |
VBScript: ["vbs"], | |
Velocity: ["vm"], | |
Verilog: ["v|vh|sv|svh"], | |
XML: ["xml|rdf|rss|wsdl|xslt|atom|mathml|mml|xul|xbl"], | |
XQuery: ["xq"], | |
YAML: ["yaml|yml"] | |
}; | |
//javascript = 40 | |
var nameOverrides = { | |
ObjectiveC: "Objective-C", | |
CSharp: "C#", | |
golang: "Go", | |
C_Cpp: "C/C++", | |
coffee: "CoffeeScript", | |
HTML_Ruby: "HTML (Ruby)", | |
FTL: "FreeMarker" | |
}; | |
var modesByName = {}; | |
var modes = new Array(); | |
var modeNames = []; | |
var extensions = []; | |
for (var name in supportedModes) { | |
var data = supportedModes[name]; //the data | |
extensions.push(data); | |
var displayName = (nameOverrides[name] || name).replace(/_/g, " "); | |
modeNames.push(displayName); | |
var filename = name.toLowerCase(); | |
var mode = require("ace/mode/" + filename).Mode; | |
modesByName[filename] = mode; | |
modes.push(mode); | |
var onclick_name = "stuff." + data[0].split("|")[0]; | |
var onclick_html = new String("checkFileName('" + onclick_name + "')"); | |
var new_html = "<li class='list-group-item' onclick=\"" + onclick_html + "\">" + displayName + "</li>"; | |
$(".mode_ul").html($(".mode_ul").html() + new_html); | |
} | |
//set the file name | |
function checkFileName(fileName){ | |
$(".run-button").addClass("hide"); | |
$("#console_toggle").addClass("hide"); | |
//BASIC AUTOCOMPLETE | |
basicAuto(); | |
/* | |
JAVASCRIPT | |
*/ | |
if(fileName.indexOf(".js") !== -1){ | |
//javascript | |
$(".run-button").removeClass("hide"); | |
$("#console_toggle").removeClass("hide"); | |
} | |
else{ | |
if(console_open){ | |
closeConsole(); | |
} | |
} | |
var e = exten(fileName); | |
if(e !== "docx" && e !== "jpg" && e !== "png" && e !== "pptx" && e !== "jpeg" && e !== "xls"){ | |
for(var a = 0; a < extensions.length; a++){ | |
for(var b = 0; b < extensions[a].length; b++){ | |
var s = extensions[a][b].split("|"); | |
for(var c= 0; c < s.length; c++){ | |
if(s[c] === e){ | |
editor.getSession().setMode(new modes[a]()); | |
sendMessage("Mode changed!", "success"); | |
} | |
} | |
} | |
} | |
} | |
else{ | |
badType(); | |
} | |
} | |
function basicAuto(){ | |
editor.setOptions({ | |
enableBasicAutocompletion: true | |
}); | |
} | |
function badType(){ | |
window.location="https://codeyourcloud.com/error/file"; | |
} | |
function exten(string){ | |
var ret = "none"; | |
if(string.indexOf(".") !== -1){ | |
var sp = string.split("."); | |
ret = sp[sp.length-1]; | |
} | |
return ret; | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
function updatePreview() { | |
var previewFrame = document.getElementById('preview'); | |
var preview = previewFrame.contentDocument || previewFrame.contentWindow.document; | |
preview.open(); | |
preview.write(editor.getValue()); | |
preview.close(); | |
} | |
setInterval(function(){ | |
updatePreview(); | |
}, 3000); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* | |
Initialize themes | |
*/ | |
var themeData = [ | |
["Chrome"], | |
["Clouds"], | |
["Crimson Editor"], | |
["Dawn"], | |
["Dreamweaver"], | |
["Eclipse"], | |
["GitHub"], | |
["Solarized Light"], | |
["TextMate"], | |
["Tomorrow"], | |
["XCode"], | |
["Kuroir"], | |
["KatzenMilch"], | |
["Ambiance","ambiance"], | |
["Chaos","chaos"], | |
["Clouds Midnight","clouds_midnight"], | |
["Cobalt","cobalt"], | |
["idle Fingers","idle_fingers"], | |
["krTheme","kr_theme"], | |
["Merbivore","merbivore" ], | |
["Merbivore Soft","merbivore_soft"], | |
["Mono Industrial","mono_industrial"], | |
["Monokai","monokai"], | |
["Pastel on dark","pastel_on_dark"], | |
["Solarized Dark","solarized_dark"], | |
["Terminal","terminal"], | |
["Tomorrow Night","tomorrow_night"], | |
["Tomorrow Night Blue","tomorrow_night_blue"], | |
["Tomorrow Night Bright","tomorrow_night_bright"], | |
["Tomorrow Night 80s","tomorrow_night_eighties"], | |
["Twilight","twilight"], | |
["Vibrant Ink","vibrant_ink"] | |
]; | |
for(var i = 0; i < themeData.length; i++){ | |
var theme_name = ""; | |
var theme_formal_name = ""; | |
if(themeData[i].length == 2){ | |
theme_name = themeData[i][0]; | |
theme_formal_name = themeData[i][1]; | |
} | |
else{ | |
theme_name = themeData[i][0]; | |
theme_formal_name = themeData[i][0].toLowerCase(); | |
} | |
var theme_html = "<li class='list-group-item' onclick=\"setTheme('" + theme_formal_name + "')\">" + theme_name + "</li>" | |
$(".theme_ul").html($(".theme_ul").html() + theme_html); | |
} | |
setTheme("merbivore_soft"); | |
function setTheme(theme_name){ | |
editor.setTheme("ace/theme/" + theme_name); | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* | |
Undo/redo | |
*/ | |
function navUndo() { | |
if(editor.getSession().getUndoManager().hasUndo()){ | |
editor.undo(); | |
} | |
else{ | |
addClass("undoB", "disabled"); | |
} | |
checkUndo(); | |
} | |
function checkUndo(){ | |
if(editor.getSession().getUndoManager().hasUndo()){ | |
removeClass("undoB", "disabled"); | |
} | |
else{ | |
addClass("undoB", "disabled"); | |
} | |
if(editor.getSession().getUndoManager().hasRedo()){ | |
removeClass("redoB", "disabled"); | |
} | |
else{ | |
addClass("redoB", "disabled"); | |
} | |
} | |
function navRedo() { | |
if(editor.getSession().getUndoManager().hasRedo()){ | |
editor.redo(); | |
} | |
else{ | |
addClass("redoB", "disabled"); | |
} | |
checkUndo(); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment