Mercurial > repos > tabletprog
comparison editor.js @ 26:fe593c1df568
Display receiver arg in editor. Improve formatting in editor.
author | Mike Pavone <pavone@retrodev.com> |
---|---|
date | Wed, 04 Apr 2012 23:15:00 -0700 |
parents | 4d87c38404d6 |
children | 93bbc4c8be95 |
comparison
equal
deleted
inserted
replaced
25:4d87c38404d6 | 26:fe593c1df568 |
---|---|
12 | 12 |
13 lambda.prototype.toHTML = function(node) { | 13 lambda.prototype.toHTML = function(node) { |
14 var el = newEl('div', { | 14 var el = newEl('div', { |
15 className: 'lambda' | 15 className: 'lambda' |
16 }); | 16 }); |
17 var args = newEl('div', { | |
18 className: 'args' | |
19 }); | |
17 for (var i in this.args) { | 20 for (var i in this.args) { |
18 this.args[i].toHTML(el); | 21 this.args[i].toHTML(args); |
19 } | 22 } |
20 var body = newEl('div', { | 23 var body = newEl('div', { |
21 className: 'lambdabody' | 24 className: 'lambdabody' |
22 }); | 25 }); |
23 for (var i in this.expressions) { | 26 for (var i in this.expressions) { |
24 this.expressions[i].toHTML(body); | 27 this.expressions[i].toHTML(body); |
25 } | 28 } |
29 el.appendChild(args); | |
26 el.appendChild(body); | 30 el.appendChild(body); |
27 node.appendChild(el); | 31 node.appendChild(el); |
28 }; | 32 }; |
29 | 33 |
30 assignment.prototype.toHTML = function(node) { | 34 assignment.prototype.toHTML = function(node) { |
77 funcall.prototype.toHTML = function(node) { | 81 funcall.prototype.toHTML = function(node) { |
78 var astNode = this; | 82 var astNode = this; |
79 var base = newEl('div', { | 83 var base = newEl('div', { |
80 className: 'funcall' | 84 className: 'funcall' |
81 }); | 85 }); |
86 if (this.receiver) { | |
87 this.receiver.toHTML(base); | |
88 } | |
82 var parts = this.name.split(':'); | 89 var parts = this.name.split(':'); |
83 for (var i in parts ) { | 90 for (var i in parts ) { |
84 if(parts[i]) { | 91 if(parts[i]) { |
85 base.appendChild(newEl('span', { | 92 base.appendChild(newEl('span', { |
86 textContent: parts[i] + ':', | 93 textContent: parts[i] + (this.receiver && parts.length == 1 ? '' : ':'), |
87 className: 'funpart', | 94 className: 'funpart', |
88 onclick: function() { | 95 onclick: function() { |
89 return mainModule.funClick(this, astNode); | 96 return mainModule.funClick(this, astNode); |
90 }})); | 97 }})); |
91 if (this.args[i]) { | 98 if (this.args[i]) { |