From 3f23b97e83e7d5ff997d64543f7f7cb9d113f47d Mon Sep 17 00:00:00 2001 From: surunzi Date: Mon, 9 May 2016 13:16:40 +0800 Subject: [PATCH] Dev: Log code input highlight --- src/Console/Log.es6 | 18 +++++++++++------- src/Console/Log.hbs | 2 +- src/Console/Log.scss | 3 +++ src/Elements/Elements.es6 | 2 +- src/Sources/Sources.es6 | 2 +- src/Sources/Sources.scss | 1 + src/{Sources => lib}/highlight.es6 | 0 7 files changed, 18 insertions(+), 10 deletions(-) rename src/{Sources => lib}/highlight.es6 (100%) diff --git a/src/Console/Log.es6 b/src/Console/Log.es6 index eb031d2..1239d96 100644 --- a/src/Console/Log.es6 +++ b/src/Console/Log.es6 @@ -1,4 +1,6 @@ import util from '../lib/util' +import highlight from '../lib/highlight.es6' +import beautify from 'js-beautify' require('./Log.scss'); @@ -40,7 +42,8 @@ export default class Log extends util.Emitter this._insert({ type: 'input', ignoreFilter: true, - val: transCode(jsCode) + isCode: true, + val: jsCode }); try { @@ -182,7 +185,13 @@ export default class Log extends util.Emitter times: 1 }); - if (!log.isCode && log.type != 'html') log.val = txtToHtml(log.val); + if (log.isCode) + { + log.val = highlight(beautify(log.val), 'js'); + } else if (log.type != 'html') + { + log.val = txtToHtml(log.val); + } var lastLog = this._lastLog; @@ -320,11 +329,6 @@ function transMultipleMsg(args) return ret.join(' '); } -function transCode(code) -{ - return code.replace(/\n/g, '
').replace(/ /g, ' '); -} - function txtToHtml(str) { return str.replace(/\n/g, '
') diff --git a/src/Console/Log.hbs b/src/Console/Log.hbs index 8768165..565d33c 100644 --- a/src/Console/Log.hbs +++ b/src/Console/Log.hbs @@ -3,7 +3,7 @@
  • {{#if showTimes}}{{times}}{{/if}} {{#if isCode}} -
    {{{val}}}
    +
    {{{val}}}
    {{else}} {{{val}}} {{/if}} diff --git a/src/Console/Log.scss b/src/Console/Log.scss index 154d973..1af2370 100644 --- a/src/Console/Log.scss +++ b/src/Console/Log.scss @@ -19,6 +19,9 @@ color: #fff; border-radius: 4px; } + &.input { + background: #fff; + } &.log, &.output, &.info, &.dir { border-bottom: 1px solid #b4b4b4; } diff --git a/src/Elements/Elements.es6 b/src/Elements/Elements.es6 index 5c22099..89e0e0d 100644 --- a/src/Elements/Elements.es6 +++ b/src/Elements/Elements.es6 @@ -192,7 +192,7 @@ function formatChildNodes(nodes) }); continue; } - if (child.nodeType === 1 || child.id !== 'eruda') + if (child.nodeType === 1 && child.id !== 'eruda') { ret.push({ text: formatElName(child.tagName, child.id, child.className, child.attributes), diff --git a/src/Sources/Sources.es6 b/src/Sources/Sources.es6 index 2a1fb50..f3ad01d 100644 --- a/src/Sources/Sources.es6 +++ b/src/Sources/Sources.es6 @@ -1,7 +1,7 @@ import Tool from '../DevTools/Tool.es6' import util from '../lib/util' import beautify from 'js-beautify' -import highlight from './highlight.es6' +import highlight from '../lib/highlight.es6' require('./Sources.scss'); diff --git a/src/Sources/Sources.scss b/src/Sources/Sources.scss index 08157b8..d84b0a8 100644 --- a/src/Sources/Sources.scss +++ b/src/Sources/Sources.scss @@ -5,6 +5,7 @@ overflow-y: auto; -webkit-overflow-scrolling: touch; .code { + background: #fff; padding: $common-padding; overflow-x: auto; min-height: 100%; diff --git a/src/Sources/highlight.es6 b/src/lib/highlight.es6 similarity index 100% rename from src/Sources/highlight.es6 rename to src/lib/highlight.es6