Mercurial > repos > tabletprog
comparison src/editor.tp @ 119:77f7cd65e121
Add selection of number and string literals. Support inward navigation of lambdas.
author | Mike Pavone <pavone@retrodev.com> |
---|---|
date | Wed, 17 Apr 2013 00:23:05 -0700 |
parents | 0a66fe3a368a |
children | d5dc9507d612 |
comparison
equal
deleted
inserted
replaced
118:0a66fe3a368a | 119:77f7cd65e121 |
---|---|
127 inscope appendChild: (newEl: "li" #{ | 127 inscope appendChild: (newEl: "li" #{ |
128 textContent <- key | 128 textContent <- key |
129 onclick <- :Event { handler: key } | 129 onclick <- :Event { handler: key } |
130 }) | 130 }) |
131 } | 131 } |
132 } | |
133 | |
134 scalarClick <- :domnode astnode event { | |
135 selectNode: domnode | |
136 setSelection: astnode | |
137 event stopPropagation: (foreign: undefined) | |
138 //TODO: set focus | |
132 } | 139 } |
133 | 140 |
134 symbolClick <- :domnode astnode event { | 141 symbolClick <- :domnode astnode event { |
135 selectNode: domnode | 142 selectNode: domnode |
136 popInscope: ((astnode symbols) allSymbols: (foreign: undefined)) onClick: :key { | 143 popInscope: ((astnode symbols) allSymbols: (foreign: undefined)) onClick: :key { |
219 } | 226 } |
220 event stopPropagation: (foreign: undefined) | 227 event stopPropagation: (foreign: undefined) |
221 } | 228 } |
222 | 229 |
223 lambdaClick <- :domnode astnode event { | 230 lambdaClick <- :domnode astnode event { |
224 symbolClick: domnode astnode event | 231 selectNode: domnode |
232 popInscope: ((astnode symbols) allSymbols: (foreign: undefined)) onClick: :key { | |
233 domnode textContent!: key | |
234 astnode name!: key | |
235 } | |
236 inner <- if: ((astnode args) length) > 0 { | |
237 (astnode args) getEl: 0 | |
238 } else: { | |
239 (astnode expressions) getEl: 0 | |
240 } | |
241 setSelection: astnode withInNode: inner | |
242 event stopPropagation: (foreign: undefined) | |
225 } | 243 } |
226 | 244 |
227 visible <- "showops" | 245 visible <- "showops" |
228 | 246 |
229 showOps <- { | 247 showOps <- { |