# HG changeset patch # User Mike Pavone # Date 1333606500 25200 # Node ID fe593c1df568e362c42e431b1a821b13b9f6b24c # Parent 4d87c38404d616fd3dbdc75e2247ce8f452c3e0e Display receiver arg in editor. Improve formatting in editor. diff -r 4d87c38404d6 -r fe593c1df568 editor.css --- a/editor.css Mon Apr 02 22:28:48 2012 -0700 +++ b/editor.css Wed Apr 04 23:15:00 2012 -0700 @@ -11,6 +11,11 @@ margin: 0; } +* +{ + vertical-align: top; +} + .controls { width: 15%; @@ -18,7 +23,6 @@ display: inline-block; padding: 0; margin: 0; - vertical-align: top; } #src @@ -123,37 +127,51 @@ display: inline-block; } +.object +{ + display: inline; +} + +.object > * +{ + margin-left: 2em; +} .object:before { - content: '#'; + content: '#{'; +} + +.object:after +{ + content: '}'; + display: block; } .lambda { - padding-left: 2em; -} - -.lambda > * -{ - vertical-align: top; + display: inline; } .lambdabody { - display: inline-block; + display: block; margin-left: 2em; } - -.lambdabody:before +.args +{ + display: inline-block; +} +.args:after { content: '{'; } -.lambda:after +.lambdabody:after { display: block; content: '}'; + margin-left: -2em; } .funcall > .funcall, .assignment > .funcall @@ -175,3 +193,8 @@ { color: #FF1030; } + +.op > div +{ + display: inline-block; +} diff -r 4d87c38404d6 -r fe593c1df568 editor.js --- a/editor.js Mon Apr 02 22:28:48 2012 -0700 +++ b/editor.js Wed Apr 04 23:15:00 2012 -0700 @@ -14,8 +14,11 @@ var el = newEl('div', { className: 'lambda' }); + var args = newEl('div', { + className: 'args' + }); for (var i in this.args) { - this.args[i].toHTML(el); + this.args[i].toHTML(args); } var body = newEl('div', { className: 'lambdabody' @@ -23,6 +26,7 @@ for (var i in this.expressions) { this.expressions[i].toHTML(body); } + el.appendChild(args); el.appendChild(body); node.appendChild(el); }; @@ -79,11 +83,14 @@ var base = newEl('div', { className: 'funcall' }); + if (this.receiver) { + this.receiver.toHTML(base); + } var parts = this.name.split(':'); for (var i in parts ) { if(parts[i]) { base.appendChild(newEl('span', { - textContent: parts[i] + ':', + textContent: parts[i] + (this.receiver && parts.length == 1 ? '' : ':'), className: 'funpart', onclick: function() { return mainModule.funClick(this, astNode);