Update editor.js

pull/1/head
yann300 6 years ago committed by GitHub
parent a27b0ccd72
commit 63fad50dfb
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 26
      src/app/editor/editor.js

@ -14,6 +14,9 @@ require('brace/ext/language_tools')
require('brace/ext/searchbox')
var langTools = ace.acequire('ace/ext/language_tools')
require('ace-mode-solidity/build/remix-ide/mode-solidity')
require('brace/mode/javascript')
require('brace/mode/python')
require('brace/mode/json')
var styleGuide = require('../ui/styles-guide/theme-chooser')
var styles = styleGuide.chooser()
@ -101,6 +104,14 @@ function Editor (opts = {}, localRegistry) {
var currentSession
var emptySession = createSession('')
var modes = {
'sol': 'ace/mode/solidity',
'js': 'ace/mode/javascript',
'py': 'ace/mode/python',
'txt': 'ace/mode/text',
'json': 'ace/mode/json',
'abi': 'ace/mode/json',
}
editor.on('guttermousedown', function (e) {
var target = e.domEvent.target
@ -142,8 +153,9 @@ function Editor (opts = {}, localRegistry) {
}
}
function createSession (content) {
var s = new ace.EditSession(content, 'ace/mode/solidity')
function createSession (content, mode) {
var s = new ace.EditSession(content)
s.setMode(mode || 'ace/mode/text')
s.setUndoManager(new ace.UndoManager())
s.setTabSize(4)
s.setUseSoftTabs(true)
@ -157,9 +169,15 @@ function Editor (opts = {}, localRegistry) {
editor.focus()
}
function getMode (path) {
var ext = path.indexOf('.') !== -1 ? /[^.]+$/.exec(path) : null
if (ext) ext = ext[0]
return ext && modes[ext] ? modes[ext] : modes['txt']
}
this.open = function (path, content) {
if (!sessions[path]) {
var session = createSession(content)
var session = createSession(content, getMode(path))
sessions[path] = session
readOnlySessions[path] = false
} else if (sessions[path].getValue() !== content) {
@ -170,7 +188,7 @@ function Editor (opts = {}, localRegistry) {
this.openReadOnly = function (path, content) {
if (!sessions[path]) {
var session = createSession(content)
var session = createSession(content, getMode(path))
sessions[path] = session
readOnlySessions[path] = true
}

Loading…
Cancel
Save