Mercurial > repos > tabletprog
comparison src/editor.tp @ 107:152b6cfb98b6
Click-to-select no longer selects the whole lambda when it shouldn't and no longer replaces the selected code with a single symbol.
author | Mike Pavone <pavone@retrodev.com> |
---|---|
date | Fri, 12 Apr 2013 19:27:33 -0700 |
parents | 35006a6e1c47 |
children | 5099c1a96e3f |
comparison
equal
deleted
inserted
replaced
106:76a21129e8f5 | 107:152b6cfb98b6 |
---|---|
68 inscope <- q: "#inscope" | 68 inscope <- q: "#inscope" |
69 inscope innerHTML!: "" | 69 inscope innerHTML!: "" |
70 each: syms :idx key { | 70 each: syms :idx key { |
71 inscope appendChild: (newEl: "li" #{ | 71 inscope appendChild: (newEl: "li" #{ |
72 textContent <- key | 72 textContent <- key |
73 onclick <- { handler: key } | 73 onclick <- :Event { handler: key } |
74 }) | 74 }) |
75 } | 75 } |
76 } | 76 } |
77 | 77 |
78 symbolClick <- :domnode astnode event { | 78 symbolClick <- :domnode astnode event { |
79 selectNode: domnode | 79 selectNode: domnode |
80 popInscope: ((astnode symbols) allSymbols: (foreign: undefined)) onClick: :key { | 80 popInscope: ((astnode symbols) allSymbols: (foreign: undefined)) onClick: :key { |
81 domnode textContent!: key | 81 domnode textContent!: key |
82 astnode name!: key | 82 astnode name!: key |
83 } | 83 } |
84 event stopPropagation | 84 event stopPropagation: (foreign: undefined) |
85 } | 85 } |
86 | 86 |
87 funClick <- :domnode astnode event { | 87 funClick <- :domnode astnode event { |
88 selectParent: domnode | 88 selectParent: domnode |
89 selectQuery: ".selectParent > .funpart" in: (domnode parentNode) | 89 selectQuery: ".selectParent > .funpart" in: (domnode parentNode) |
90 symtable <- astnode symbols | 90 symtable <- astnode symbols |
91 syms <- filter: (symtable allSymbols) :sym { | 91 syms <- filter: (symtable allSymbols) :sym { |
92 isLambda: ((symtable find: sym) def) | 92 isLambda: ((symtable find: sym) def) |
93 } | 93 } |
94 popInscope: syms onClick: {} | 94 popInscope: syms onClick: {} |
95 event stopPropagation | 95 event stopPropagation: (foreign: undefined) |
96 } | 96 } |
97 | 97 |
98 lambdaClick <- :domnode astnode event { | 98 lambdaClick <- :domnode astnode event { |
99 symbolClick: domnode astnode event | 99 symbolClick: domnode astnode event |
100 } | 100 } |