Mercurial > repos > tabletprog
annotate src/editor.tp @ 108:5099c1a96e3f
Mostly fix clicking on the function name in a funcall expression
author | Mike Pavone <pavone@retrodev.com> |
---|---|
date | Sat, 13 Apr 2013 15:54:53 -0700 |
parents | 152b6cfb98b6 |
children | a647cdad620b |
rev | line source |
---|---|
11 | 1 #{ |
2 //mquery functions | |
3 q <- foreign: :query {} | |
4 qall <- foreign: :query {} | |
5 each <- foreign: :iterable fun {} | |
6 addClass <- foreign: :node className {} | |
7 removeClass <- foreign: :node className {} | |
12
6e4851a204a5
Add ability to load code into editor
Mike Pavone <pavone@retrodev.com>
parents:
11
diff
changeset
|
8 get <- foreign: :url onSuccess onFail onOther {} |
23
068d63627b16
Populate in scope symbol buttons when clicking on a symbol in the source
Mike Pavone <pavone@retrodev.com>
parents:
21
diff
changeset
|
9 newEl <- foreign: :tagname props {} |
11 | 10 |
14
85fb6ba15bc6
Start turning AST into HTML in editor
Mike Pavone <pavone@retrodev.com>
parents:
12
diff
changeset
|
11 //TP Parser |
85fb6ba15bc6
Start turning AST into HTML in editor
Mike Pavone <pavone@retrodev.com>
parents:
12
diff
changeset
|
12 parser <- foreign: #{ |
85fb6ba15bc6
Start turning AST into HTML in editor
Mike Pavone <pavone@retrodev.com>
parents:
12
diff
changeset
|
13 parse <- foreign: :str {} |
85fb6ba15bc6
Start turning AST into HTML in editor
Mike Pavone <pavone@retrodev.com>
parents:
12
diff
changeset
|
14 } |
25
4d87c38404d6
List literals, fixes to implicit self property lookup, import statement and editor improvements
Mike Pavone <pavone@retrodev.com>
parents:
24
diff
changeset
|
15 isLambda <- foreign: :astnode {} |
14
85fb6ba15bc6
Start turning AST into HTML in editor
Mike Pavone <pavone@retrodev.com>
parents:
12
diff
changeset
|
16 |
11 | 17 //js builtins |
18 console <- foreign: #{ | |
23
068d63627b16
Populate in scope symbol buttons when clicking on a symbol in the source
Mike Pavone <pavone@retrodev.com>
parents:
21
diff
changeset
|
19 log <- foreign: :val {} |
11 | 20 } |
25
4d87c38404d6
List literals, fixes to implicit self property lookup, import statement and editor improvements
Mike Pavone <pavone@retrodev.com>
parents:
24
diff
changeset
|
21 window <- foreign: #{} |
23
068d63627b16
Populate in scope symbol buttons when clicking on a symbol in the source
Mike Pavone <pavone@retrodev.com>
parents:
21
diff
changeset
|
22 Object <- foreign: #{ |
068d63627b16
Populate in scope symbol buttons when clicking on a symbol in the source
Mike Pavone <pavone@retrodev.com>
parents:
21
diff
changeset
|
23 keys <- foreign: :object {} |
068d63627b16
Populate in scope symbol buttons when clicking on a symbol in the source
Mike Pavone <pavone@retrodev.com>
parents:
21
diff
changeset
|
24 } |
11 | 25 |
17
7400bb42e0c9
Add direct file edit link support
Mike Pavone <pavone@retrodev.com>
parents:
14
diff
changeset
|
26 //kernel definitions |
104 | 27 //import: kernel |
25
4d87c38404d6
List literals, fixes to implicit self property lookup, import statement and editor improvements
Mike Pavone <pavone@retrodev.com>
parents:
24
diff
changeset
|
28 |
108
5099c1a96e3f
Mostly fix clicking on the function name in a funcall expression
Mike Pavone <pavone@retrodev.com>
parents:
107
diff
changeset
|
29 filter <- :arr pred { |
5099c1a96e3f
Mostly fix clicking on the function name in a funcall expression
Mike Pavone <pavone@retrodev.com>
parents:
107
diff
changeset
|
30 output <- arr slice: 0 0 |
5099c1a96e3f
Mostly fix clicking on the function name in a funcall expression
Mike Pavone <pavone@retrodev.com>
parents:
107
diff
changeset
|
31 each: arr :idx el { |
5099c1a96e3f
Mostly fix clicking on the function name in a funcall expression
Mike Pavone <pavone@retrodev.com>
parents:
107
diff
changeset
|
32 if: (pred: el) { |
5099c1a96e3f
Mostly fix clicking on the function name in a funcall expression
Mike Pavone <pavone@retrodev.com>
parents:
107
diff
changeset
|
33 output push: el |
5099c1a96e3f
Mostly fix clicking on the function name in a funcall expression
Mike Pavone <pavone@retrodev.com>
parents:
107
diff
changeset
|
34 } else: {} |
5099c1a96e3f
Mostly fix clicking on the function name in a funcall expression
Mike Pavone <pavone@retrodev.com>
parents:
107
diff
changeset
|
35 } |
5099c1a96e3f
Mostly fix clicking on the function name in a funcall expression
Mike Pavone <pavone@retrodev.com>
parents:
107
diff
changeset
|
36 output |
5099c1a96e3f
Mostly fix clicking on the function name in a funcall expression
Mike Pavone <pavone@retrodev.com>
parents:
107
diff
changeset
|
37 } |
5099c1a96e3f
Mostly fix clicking on the function name in a funcall expression
Mike Pavone <pavone@retrodev.com>
parents:
107
diff
changeset
|
38 |
25
4d87c38404d6
List literals, fixes to implicit self property lookup, import statement and editor improvements
Mike Pavone <pavone@retrodev.com>
parents:
24
diff
changeset
|
39 //editor code |
17
7400bb42e0c9
Add direct file edit link support
Mike Pavone <pavone@retrodev.com>
parents:
14
diff
changeset
|
40 editFile <- :path { |
7400bb42e0c9
Add direct file edit link support
Mike Pavone <pavone@retrodev.com>
parents:
14
diff
changeset
|
41 get: path :request { |
7400bb42e0c9
Add direct file edit link support
Mike Pavone <pavone@retrodev.com>
parents:
14
diff
changeset
|
42 addClass: (q: "body") "editorMode" |
21
6c8ae6b47ab5
Small improvements to property support and elimination of setP and getP functions as they are no longer needed
Mike Pavone <pavone@retrodev.com>
parents:
18
diff
changeset
|
43 src <- request responseText |
17
7400bb42e0c9
Add direct file edit link support
Mike Pavone <pavone@retrodev.com>
parents:
14
diff
changeset
|
44 ast <- parser parse: src |
23
068d63627b16
Populate in scope symbol buttons when clicking on a symbol in the source
Mike Pavone <pavone@retrodev.com>
parents:
21
diff
changeset
|
45 ast populateSymbols: (foreign: null) |
17
7400bb42e0c9
Add direct file edit link support
Mike Pavone <pavone@retrodev.com>
parents:
14
diff
changeset
|
46 ast toHTML: (q: "#src") |
7400bb42e0c9
Add direct file edit link support
Mike Pavone <pavone@retrodev.com>
parents:
14
diff
changeset
|
47 } |
7400bb42e0c9
Add direct file edit link support
Mike Pavone <pavone@retrodev.com>
parents:
14
diff
changeset
|
48 } |
7400bb42e0c9
Add direct file edit link support
Mike Pavone <pavone@retrodev.com>
parents:
14
diff
changeset
|
49 |
25
4d87c38404d6
List literals, fixes to implicit self property lookup, import statement and editor improvements
Mike Pavone <pavone@retrodev.com>
parents:
24
diff
changeset
|
50 selectNode <- :node { |
4d87c38404d6
List literals, fixes to implicit self property lookup, import statement and editor improvements
Mike Pavone <pavone@retrodev.com>
parents:
24
diff
changeset
|
51 each: (qall: ".selected") :idx el { |
4d87c38404d6
List literals, fixes to implicit self property lookup, import statement and editor improvements
Mike Pavone <pavone@retrodev.com>
parents:
24
diff
changeset
|
52 removeClass: el "selected" |
4d87c38404d6
List literals, fixes to implicit self property lookup, import statement and editor improvements
Mike Pavone <pavone@retrodev.com>
parents:
24
diff
changeset
|
53 } |
4d87c38404d6
List literals, fixes to implicit self property lookup, import statement and editor improvements
Mike Pavone <pavone@retrodev.com>
parents:
24
diff
changeset
|
54 addClass: node "selected" |
4d87c38404d6
List literals, fixes to implicit self property lookup, import statement and editor improvements
Mike Pavone <pavone@retrodev.com>
parents:
24
diff
changeset
|
55 } |
4d87c38404d6
List literals, fixes to implicit self property lookup, import statement and editor improvements
Mike Pavone <pavone@retrodev.com>
parents:
24
diff
changeset
|
56 |
4d87c38404d6
List literals, fixes to implicit self property lookup, import statement and editor improvements
Mike Pavone <pavone@retrodev.com>
parents:
24
diff
changeset
|
57 selectQuery <- :selector { |
4d87c38404d6
List literals, fixes to implicit self property lookup, import statement and editor improvements
Mike Pavone <pavone@retrodev.com>
parents:
24
diff
changeset
|
58 selectQuery: selector in: (foreign: undefined) |
4d87c38404d6
List literals, fixes to implicit self property lookup, import statement and editor improvements
Mike Pavone <pavone@retrodev.com>
parents:
24
diff
changeset
|
59 } |
4d87c38404d6
List literals, fixes to implicit self property lookup, import statement and editor improvements
Mike Pavone <pavone@retrodev.com>
parents:
24
diff
changeset
|
60 |
4d87c38404d6
List literals, fixes to implicit self property lookup, import statement and editor improvements
Mike Pavone <pavone@retrodev.com>
parents:
24
diff
changeset
|
61 selectQuery:in <- :selector :context { |
4d87c38404d6
List literals, fixes to implicit self property lookup, import statement and editor improvements
Mike Pavone <pavone@retrodev.com>
parents:
24
diff
changeset
|
62 each: (qall: ".selected") :idx el { |
4d87c38404d6
List literals, fixes to implicit self property lookup, import statement and editor improvements
Mike Pavone <pavone@retrodev.com>
parents:
24
diff
changeset
|
63 removeClass: el "selected" |
4d87c38404d6
List literals, fixes to implicit self property lookup, import statement and editor improvements
Mike Pavone <pavone@retrodev.com>
parents:
24
diff
changeset
|
64 } |
4d87c38404d6
List literals, fixes to implicit self property lookup, import statement and editor improvements
Mike Pavone <pavone@retrodev.com>
parents:
24
diff
changeset
|
65 each: (qall: selector context) :idx el { |
4d87c38404d6
List literals, fixes to implicit self property lookup, import statement and editor improvements
Mike Pavone <pavone@retrodev.com>
parents:
24
diff
changeset
|
66 addClass: el "selected" |
4d87c38404d6
List literals, fixes to implicit self property lookup, import statement and editor improvements
Mike Pavone <pavone@retrodev.com>
parents:
24
diff
changeset
|
67 } |
4d87c38404d6
List literals, fixes to implicit self property lookup, import statement and editor improvements
Mike Pavone <pavone@retrodev.com>
parents:
24
diff
changeset
|
68 } |
4d87c38404d6
List literals, fixes to implicit self property lookup, import statement and editor improvements
Mike Pavone <pavone@retrodev.com>
parents:
24
diff
changeset
|
69 |
4d87c38404d6
List literals, fixes to implicit self property lookup, import statement and editor improvements
Mike Pavone <pavone@retrodev.com>
parents:
24
diff
changeset
|
70 selectParent <- :node { |
4d87c38404d6
List literals, fixes to implicit self property lookup, import statement and editor improvements
Mike Pavone <pavone@retrodev.com>
parents:
24
diff
changeset
|
71 each: (qall: ".selectParent") :idx el { |
4d87c38404d6
List literals, fixes to implicit self property lookup, import statement and editor improvements
Mike Pavone <pavone@retrodev.com>
parents:
24
diff
changeset
|
72 removeClass: el "selected" |
4d87c38404d6
List literals, fixes to implicit self property lookup, import statement and editor improvements
Mike Pavone <pavone@retrodev.com>
parents:
24
diff
changeset
|
73 } |
4d87c38404d6
List literals, fixes to implicit self property lookup, import statement and editor improvements
Mike Pavone <pavone@retrodev.com>
parents:
24
diff
changeset
|
74 addClass: (node parentNode) "selectParent" |
4d87c38404d6
List literals, fixes to implicit self property lookup, import statement and editor improvements
Mike Pavone <pavone@retrodev.com>
parents:
24
diff
changeset
|
75 } |
4d87c38404d6
List literals, fixes to implicit self property lookup, import statement and editor improvements
Mike Pavone <pavone@retrodev.com>
parents:
24
diff
changeset
|
76 |
4d87c38404d6
List literals, fixes to implicit self property lookup, import statement and editor improvements
Mike Pavone <pavone@retrodev.com>
parents:
24
diff
changeset
|
77 popInscope:onClick <- :syms :handler { |
23
068d63627b16
Populate in scope symbol buttons when clicking on a symbol in the source
Mike Pavone <pavone@retrodev.com>
parents:
21
diff
changeset
|
78 inscope <- q: "#inscope" |
068d63627b16
Populate in scope symbol buttons when clicking on a symbol in the source
Mike Pavone <pavone@retrodev.com>
parents:
21
diff
changeset
|
79 inscope innerHTML!: "" |
24
fe3533494ce9
Display symbols order first by depth. Eliminate extraneous setter symbols
Mike Pavone <pavone@retrodev.com>
parents:
23
diff
changeset
|
80 each: syms :idx key { |
23
068d63627b16
Populate in scope symbol buttons when clicking on a symbol in the source
Mike Pavone <pavone@retrodev.com>
parents:
21
diff
changeset
|
81 inscope appendChild: (newEl: "li" #{ |
068d63627b16
Populate in scope symbol buttons when clicking on a symbol in the source
Mike Pavone <pavone@retrodev.com>
parents:
21
diff
changeset
|
82 textContent <- key |
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.
Mike Pavone <pavone@retrodev.com>
parents:
105
diff
changeset
|
83 onclick <- :Event { handler: key } |
23
068d63627b16
Populate in scope symbol buttons when clicking on a symbol in the source
Mike Pavone <pavone@retrodev.com>
parents:
21
diff
changeset
|
84 }) |
068d63627b16
Populate in scope symbol buttons when clicking on a symbol in the source
Mike Pavone <pavone@retrodev.com>
parents:
21
diff
changeset
|
85 } |
068d63627b16
Populate in scope symbol buttons when clicking on a symbol in the source
Mike Pavone <pavone@retrodev.com>
parents:
21
diff
changeset
|
86 } |
068d63627b16
Populate in scope symbol buttons when clicking on a symbol in the source
Mike Pavone <pavone@retrodev.com>
parents:
21
diff
changeset
|
87 |
29
18cec540238a
Prevent event bubbling so lambda click handler doesn't get called when clicking on an element inside it
Mike Pavone <pavone@retrodev.com>
parents:
28
diff
changeset
|
88 symbolClick <- :domnode astnode event { |
25
4d87c38404d6
List literals, fixes to implicit self property lookup, import statement and editor improvements
Mike Pavone <pavone@retrodev.com>
parents:
24
diff
changeset
|
89 selectNode: domnode |
105
35006a6e1c47
Fixed more editor coderot and improved syntax/selection coloring a bit.
Mike Pavone <pavone@retrodev.com>
parents:
104
diff
changeset
|
90 popInscope: ((astnode symbols) allSymbols: (foreign: undefined)) onClick: :key { |
25
4d87c38404d6
List literals, fixes to implicit self property lookup, import statement and editor improvements
Mike Pavone <pavone@retrodev.com>
parents:
24
diff
changeset
|
91 domnode textContent!: key |
4d87c38404d6
List literals, fixes to implicit self property lookup, import statement and editor improvements
Mike Pavone <pavone@retrodev.com>
parents:
24
diff
changeset
|
92 astnode name!: key |
4d87c38404d6
List literals, fixes to implicit self property lookup, import statement and editor improvements
Mike Pavone <pavone@retrodev.com>
parents:
24
diff
changeset
|
93 } |
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.
Mike Pavone <pavone@retrodev.com>
parents:
105
diff
changeset
|
94 event stopPropagation: (foreign: undefined) |
25
4d87c38404d6
List literals, fixes to implicit self property lookup, import statement and editor improvements
Mike Pavone <pavone@retrodev.com>
parents:
24
diff
changeset
|
95 } |
4d87c38404d6
List literals, fixes to implicit self property lookup, import statement and editor improvements
Mike Pavone <pavone@retrodev.com>
parents:
24
diff
changeset
|
96 |
29
18cec540238a
Prevent event bubbling so lambda click handler doesn't get called when clicking on an element inside it
Mike Pavone <pavone@retrodev.com>
parents:
28
diff
changeset
|
97 funClick <- :domnode astnode event { |
25
4d87c38404d6
List literals, fixes to implicit self property lookup, import statement and editor improvements
Mike Pavone <pavone@retrodev.com>
parents:
24
diff
changeset
|
98 selectParent: domnode |
4d87c38404d6
List literals, fixes to implicit self property lookup, import statement and editor improvements
Mike Pavone <pavone@retrodev.com>
parents:
24
diff
changeset
|
99 selectQuery: ".selectParent > .funpart" in: (domnode parentNode) |
4d87c38404d6
List literals, fixes to implicit self property lookup, import statement and editor improvements
Mike Pavone <pavone@retrodev.com>
parents:
24
diff
changeset
|
100 symtable <- astnode symbols |
108
5099c1a96e3f
Mostly fix clicking on the function name in a funcall expression
Mike Pavone <pavone@retrodev.com>
parents:
107
diff
changeset
|
101 syms <- filter: (symtable allSymbols: (foreign: undefined)) :sym { |
25
4d87c38404d6
List literals, fixes to implicit self property lookup, import statement and editor improvements
Mike Pavone <pavone@retrodev.com>
parents:
24
diff
changeset
|
102 isLambda: ((symtable find: sym) def) |
4d87c38404d6
List literals, fixes to implicit self property lookup, import statement and editor improvements
Mike Pavone <pavone@retrodev.com>
parents:
24
diff
changeset
|
103 } |
29
18cec540238a
Prevent event bubbling so lambda click handler doesn't get called when clicking on an element inside it
Mike Pavone <pavone@retrodev.com>
parents:
28
diff
changeset
|
104 popInscope: syms onClick: {} |
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.
Mike Pavone <pavone@retrodev.com>
parents:
105
diff
changeset
|
105 event stopPropagation: (foreign: undefined) |
25
4d87c38404d6
List literals, fixes to implicit self property lookup, import statement and editor improvements
Mike Pavone <pavone@retrodev.com>
parents:
24
diff
changeset
|
106 } |
4d87c38404d6
List literals, fixes to implicit self property lookup, import statement and editor improvements
Mike Pavone <pavone@retrodev.com>
parents:
24
diff
changeset
|
107 |
29
18cec540238a
Prevent event bubbling so lambda click handler doesn't get called when clicking on an element inside it
Mike Pavone <pavone@retrodev.com>
parents:
28
diff
changeset
|
108 lambdaClick <- :domnode astnode event { |
18cec540238a
Prevent event bubbling so lambda click handler doesn't get called when clicking on an element inside it
Mike Pavone <pavone@retrodev.com>
parents:
28
diff
changeset
|
109 symbolClick: domnode astnode event |
28 | 110 } |
111 | |
11 | 112 main <- { |
30
608eb70fe261
Fix some compiler bugs and do initial work on module import
Mike Pavone <pavone@retrodev.com>
parents:
29
diff
changeset
|
113 get: "/src/" :data { |
608eb70fe261
Fix some compiler bugs and do initial work on module import
Mike Pavone <pavone@retrodev.com>
parents:
29
diff
changeset
|
114 fakeEl <- newEl: "div" #{ |
608eb70fe261
Fix some compiler bugs and do initial work on module import
Mike Pavone <pavone@retrodev.com>
parents:
29
diff
changeset
|
115 innerHTML <- data response |
608eb70fe261
Fix some compiler bugs and do initial work on module import
Mike Pavone <pavone@retrodev.com>
parents:
29
diff
changeset
|
116 } |
608eb70fe261
Fix some compiler bugs and do initial work on module import
Mike Pavone <pavone@retrodev.com>
parents:
29
diff
changeset
|
117 each: (qall: "a" fakeEl) :idx el { |
608eb70fe261
Fix some compiler bugs and do initial work on module import
Mike Pavone <pavone@retrodev.com>
parents:
29
diff
changeset
|
118 if: ((el textContent) = "../") {} else: { |
608eb70fe261
Fix some compiler bugs and do initial work on module import
Mike Pavone <pavone@retrodev.com>
parents:
29
diff
changeset
|
119 nel <- newEl: "a" #{ |
608eb70fe261
Fix some compiler bugs and do initial work on module import
Mike Pavone <pavone@retrodev.com>
parents:
29
diff
changeset
|
120 href <- "/edit/src/" + (el textContent) |
608eb70fe261
Fix some compiler bugs and do initial work on module import
Mike Pavone <pavone@retrodev.com>
parents:
29
diff
changeset
|
121 textContent <- el textContent |
608eb70fe261
Fix some compiler bugs and do initial work on module import
Mike Pavone <pavone@retrodev.com>
parents:
29
diff
changeset
|
122 } |
608eb70fe261
Fix some compiler bugs and do initial work on module import
Mike Pavone <pavone@retrodev.com>
parents:
29
diff
changeset
|
123 nel onclick!: :event { |
608eb70fe261
Fix some compiler bugs and do initial work on module import
Mike Pavone <pavone@retrodev.com>
parents:
29
diff
changeset
|
124 link <- foreign: this |
608eb70fe261
Fix some compiler bugs and do initial work on module import
Mike Pavone <pavone@retrodev.com>
parents:
29
diff
changeset
|
125 path <- link href |
608eb70fe261
Fix some compiler bugs and do initial work on module import
Mike Pavone <pavone@retrodev.com>
parents:
29
diff
changeset
|
126 path <- path substr: (path indexOf: "/edit/") + 5 |
608eb70fe261
Fix some compiler bugs and do initial work on module import
Mike Pavone <pavone@retrodev.com>
parents:
29
diff
changeset
|
127 editFile: path |
608eb70fe261
Fix some compiler bugs and do initial work on module import
Mike Pavone <pavone@retrodev.com>
parents:
29
diff
changeset
|
128 foreign: false |
608eb70fe261
Fix some compiler bugs and do initial work on module import
Mike Pavone <pavone@retrodev.com>
parents:
29
diff
changeset
|
129 } |
608eb70fe261
Fix some compiler bugs and do initial work on module import
Mike Pavone <pavone@retrodev.com>
parents:
29
diff
changeset
|
130 li <- newEl: "li" |
608eb70fe261
Fix some compiler bugs and do initial work on module import
Mike Pavone <pavone@retrodev.com>
parents:
29
diff
changeset
|
131 li appendChild: nel |
608eb70fe261
Fix some compiler bugs and do initial work on module import
Mike Pavone <pavone@retrodev.com>
parents:
29
diff
changeset
|
132 (q: "#browser ul") appendChild: li |
608eb70fe261
Fix some compiler bugs and do initial work on module import
Mike Pavone <pavone@retrodev.com>
parents:
29
diff
changeset
|
133 } |
12
6e4851a204a5
Add ability to load code into editor
Mike Pavone <pavone@retrodev.com>
parents:
11
diff
changeset
|
134 } |
6e4851a204a5
Add ability to load code into editor
Mike Pavone <pavone@retrodev.com>
parents:
11
diff
changeset
|
135 } |
6e4851a204a5
Add ability to load code into editor
Mike Pavone <pavone@retrodev.com>
parents:
11
diff
changeset
|
136 |
6e4851a204a5
Add ability to load code into editor
Mike Pavone <pavone@retrodev.com>
parents:
11
diff
changeset
|
137 //bind handlers for editor buttons |
6e4851a204a5
Add ability to load code into editor
Mike Pavone <pavone@retrodev.com>
parents:
11
diff
changeset
|
138 each: (qall: ".controls li") :idx el { |
21
6c8ae6b47ab5
Small improvements to property support and elimination of setP and getP functions as they are no longer needed
Mike Pavone <pavone@retrodev.com>
parents:
18
diff
changeset
|
139 el onclick!: :event { |
11 | 140 srcel <- (q: "#src") |
21
6c8ae6b47ab5
Small improvements to property support and elimination of setP and getP functions as they are no longer needed
Mike Pavone <pavone@retrodev.com>
parents:
18
diff
changeset
|
141 srcel textContent!: (srcel textContent) + (el textContent) |
11 | 142 } |
143 } | |
21
6c8ae6b47ab5
Small improvements to property support and elimination of setP and getP functions as they are no longer needed
Mike Pavone <pavone@retrodev.com>
parents:
18
diff
changeset
|
144 (q: "#ops_button") onclick!: :event { |
25
4d87c38404d6
List literals, fixes to implicit self property lookup, import statement and editor improvements
Mike Pavone <pavone@retrodev.com>
parents:
24
diff
changeset
|
145 each: (qall: ".controls") :idx el { |
4d87c38404d6
List literals, fixes to implicit self property lookup, import statement and editor improvements
Mike Pavone <pavone@retrodev.com>
parents:
24
diff
changeset
|
146 addClass: el "showops" |
4d87c38404d6
List literals, fixes to implicit self property lookup, import statement and editor improvements
Mike Pavone <pavone@retrodev.com>
parents:
24
diff
changeset
|
147 } |
11 | 148 } |
149 | |
21
6c8ae6b47ab5
Small improvements to property support and elimination of setP and getP functions as they are no longer needed
Mike Pavone <pavone@retrodev.com>
parents:
18
diff
changeset
|
150 path <- (window location) pathname |
17
7400bb42e0c9
Add direct file edit link support
Mike Pavone <pavone@retrodev.com>
parents:
14
diff
changeset
|
151 if: (path indexOf: "/edit/") = 0 { |
7400bb42e0c9
Add direct file edit link support
Mike Pavone <pavone@retrodev.com>
parents:
14
diff
changeset
|
152 editFile: (path substr: 5) |
18 | 153 } else: {} |
11 | 154 } |
155 | |
156 } |