comparison src/editor.tp @ 118:0a66fe3a368a

Allow selection and navigation of assignment nodes.
author Mike Pavone <pavone@retrodev.com>
date Mon, 15 Apr 2013 21:55:26 -0700
parents f4e464a17579
children 77f7cd65e121
comparison
equal deleted inserted replaced
117:f4e464a17579 118:0a66fe3a368a
62 ((astnode up) domNode) onclick: fakeEvent 62 ((astnode up) domNode) onclick: fakeEvent
63 } 63 }
64 } 64 }
65 } 65 }
66 66
67 setSelection <- :astnode {
68 fakeEvent <- #{
69 stopPropagation <- :Blah {
70 }
71 }
72 selection <- #{
73 valid? <- true
74 in <- {
75 }
76 out <- {
77 fakeEvent <- #{
78 stopPropagation <- :Blah {
79 }
80 }
81 ((astnode up) domNode) onclick: fakeEvent
82 }
83 }
84 }
85
67 editFile <- :path { 86 editFile <- :path {
68 get: path :request { 87 get: path :request {
69 addClass: (q: "body") "editorMode" 88 addClass: (q: "body") "editorMode"
70 src <- request responseText 89 src <- request responseText
71 ast <- parser parse: src 90 ast <- parser parse: src
116 selectNode: domnode 135 selectNode: domnode
117 popInscope: ((astnode symbols) allSymbols: (foreign: undefined)) onClick: :key { 136 popInscope: ((astnode symbols) allSymbols: (foreign: undefined)) onClick: :key {
118 domnode textContent!: key 137 domnode textContent!: key
119 astnode name!: key 138 astnode name!: key
120 } 139 }
140 setSelection: astnode
141 event stopPropagation: (foreign: undefined)
142 }
143
144 assignClick <- :domnode astnode event {
145 selectParent: domnode
146 selectQuery: ".selectParent > .varname" in: domnode
147 popInscope: ((astnode symbols) allSymbols: (foreign: undefined)) onClick: :key {
148 (domnode firstChild) textContent!: key
149 (astnode symbol) name!: key
150 }
151 setSelection: astnode withInNode: (astnode expression)
121 event stopPropagation: (foreign: undefined) 152 event stopPropagation: (foreign: undefined)
122 } 153 }
123 154
124 opClick <- :domnode astnode event { 155 opClick <- :domnode astnode event {
125 selectParent: domnode 156 selectParent: domnode