annotate src/editor.tp @ 69:ba032565c7a5

Fix handling of variable style access to self and parent object messages defined with lambdas. Improve test case for this bug to include parent object access as well as self object access.
author Mike Pavone <pavone@retrodev.com>
date Sat, 14 Jul 2012 19:24:04 -0700
parents 668f533e5284
children 648659961e0e
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
11
5447cff52da6 Use tabletproglang in editor
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
1 #{
5447cff52da6 Use tabletproglang in editor
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
2 //mquery functions
5447cff52da6 Use tabletproglang in editor
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
3 q <- foreign: :query {}
5447cff52da6 Use tabletproglang in editor
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
4 qall <- foreign: :query {}
5447cff52da6 Use tabletproglang in editor
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
5 each <- foreign: :iterable fun {}
5447cff52da6 Use tabletproglang in editor
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
6 addClass <- foreign: :node className {}
5447cff52da6 Use tabletproglang in editor
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
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
5447cff52da6 Use tabletproglang in editor
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
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
5447cff52da6 Use tabletproglang in editor
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
17 //js builtins
5447cff52da6 Use tabletproglang in editor
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
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
5447cff52da6 Use tabletproglang in editor
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
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
5447cff52da6 Use tabletproglang in editor
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
25
17
7400bb42e0c9 Add direct file edit link support
Mike Pavone <pavone@retrodev.com>
parents: 14
diff changeset
26 //kernel definitions
31
668f533e5284 Add initial version of C backend
Mike Pavone <pavone@retrodev.com>
parents: 30
diff changeset
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
4d87c38404d6 List literals, fixes to implicit self property lookup, import statement and editor improvements
Mike Pavone <pavone@retrodev.com>
parents: 24
diff changeset
29 //editor code
17
7400bb42e0c9 Add direct file edit link support
Mike Pavone <pavone@retrodev.com>
parents: 14
diff changeset
30 editFile <- :path {
7400bb42e0c9 Add direct file edit link support
Mike Pavone <pavone@retrodev.com>
parents: 14
diff changeset
31 get: path :request {
7400bb42e0c9 Add direct file edit link support
Mike Pavone <pavone@retrodev.com>
parents: 14
diff changeset
32 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
33 src <- request responseText
17
7400bb42e0c9 Add direct file edit link support
Mike Pavone <pavone@retrodev.com>
parents: 14
diff changeset
34 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
35 ast populateSymbols: (foreign: null)
17
7400bb42e0c9 Add direct file edit link support
Mike Pavone <pavone@retrodev.com>
parents: 14
diff changeset
36 ast toHTML: (q: "#src")
7400bb42e0c9 Add direct file edit link support
Mike Pavone <pavone@retrodev.com>
parents: 14
diff changeset
37 }
7400bb42e0c9 Add direct file edit link support
Mike Pavone <pavone@retrodev.com>
parents: 14
diff changeset
38 }
7400bb42e0c9 Add direct file edit link support
Mike Pavone <pavone@retrodev.com>
parents: 14
diff changeset
39
25
4d87c38404d6 List literals, fixes to implicit self property lookup, import statement and editor improvements
Mike Pavone <pavone@retrodev.com>
parents: 24
diff changeset
40 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
41 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
42 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
43 }
4d87c38404d6 List literals, fixes to implicit self property lookup, import statement and editor improvements
Mike Pavone <pavone@retrodev.com>
parents: 24
diff changeset
44 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
45 }
4d87c38404d6 List literals, fixes to implicit self property lookup, import statement and editor improvements
Mike Pavone <pavone@retrodev.com>
parents: 24
diff changeset
46
4d87c38404d6 List literals, fixes to implicit self property lookup, import statement and editor improvements
Mike Pavone <pavone@retrodev.com>
parents: 24
diff changeset
47 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
48 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
49 }
4d87c38404d6 List literals, fixes to implicit self property lookup, import statement and editor improvements
Mike Pavone <pavone@retrodev.com>
parents: 24
diff changeset
50
4d87c38404d6 List literals, fixes to implicit self property lookup, import statement and editor improvements
Mike Pavone <pavone@retrodev.com>
parents: 24
diff changeset
51 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
52 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
53 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
54 }
4d87c38404d6 List literals, fixes to implicit self property lookup, import statement and editor improvements
Mike Pavone <pavone@retrodev.com>
parents: 24
diff changeset
55 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
56 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
57 }
4d87c38404d6 List literals, fixes to implicit self property lookup, import statement and editor improvements
Mike Pavone <pavone@retrodev.com>
parents: 24
diff changeset
58 }
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 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
61 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
62 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
63 }
4d87c38404d6 List literals, fixes to implicit self property lookup, import statement and editor improvements
Mike Pavone <pavone@retrodev.com>
parents: 24
diff changeset
64 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
65 }
4d87c38404d6 List literals, fixes to implicit self property lookup, import statement and editor improvements
Mike Pavone <pavone@retrodev.com>
parents: 24
diff changeset
66
4d87c38404d6 List literals, fixes to implicit self property lookup, import statement and editor improvements
Mike Pavone <pavone@retrodev.com>
parents: 24
diff changeset
67 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
68 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
69 inscope innerHTML!: ""
24
fe3533494ce9 Display symbols order first by depth. Eliminate extraneous setter symbols
Mike Pavone <pavone@retrodev.com>
parents: 23
diff changeset
70 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
71 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
72 textContent <- 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
73 onclick <- { 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
74 })
068d63627b16 Populate in scope symbol buttons when clicking on a symbol in the source
Mike Pavone <pavone@retrodev.com>
parents: 21
diff changeset
75 }
068d63627b16 Populate in scope symbol buttons when clicking on a symbol in the source
Mike Pavone <pavone@retrodev.com>
parents: 21
diff changeset
76 }
068d63627b16 Populate in scope symbol buttons when clicking on a symbol in the source
Mike Pavone <pavone@retrodev.com>
parents: 21
diff changeset
77
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
78 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
79 console log: astnode
4d87c38404d6 List literals, fixes to implicit self property lookup, import statement and editor improvements
Mike Pavone <pavone@retrodev.com>
parents: 24
diff changeset
80 selectNode: domnode
4d87c38404d6 List literals, fixes to implicit self property lookup, import statement and editor improvements
Mike Pavone <pavone@retrodev.com>
parents: 24
diff changeset
81 popInscope: ((astnode symbols) allSymbols) onClick: :key {
4d87c38404d6 List literals, fixes to implicit self property lookup, import statement and editor improvements
Mike Pavone <pavone@retrodev.com>
parents: 24
diff changeset
82 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
83 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
84 }
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
85 event stopPropagation
25
4d87c38404d6 List literals, fixes to implicit self property lookup, import statement and editor improvements
Mike Pavone <pavone@retrodev.com>
parents: 24
diff changeset
86 }
4d87c38404d6 List literals, fixes to implicit self property lookup, import statement and editor improvements
Mike Pavone <pavone@retrodev.com>
parents: 24
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 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
89 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
90 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
91 symtable <- astnode symbols
4d87c38404d6 List literals, fixes to implicit self property lookup, import statement and editor improvements
Mike Pavone <pavone@retrodev.com>
parents: 24
diff changeset
92 syms <- filter: (symtable allSymbols) :sym {
4d87c38404d6 List literals, fixes to implicit self property lookup, import statement and editor improvements
Mike Pavone <pavone@retrodev.com>
parents: 24
diff changeset
93 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
94 }
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
95 popInscope: syms onClick: {}
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
96 event stopPropagation
25
4d87c38404d6 List literals, fixes to implicit self property lookup, import statement and editor improvements
Mike Pavone <pavone@retrodev.com>
parents: 24
diff changeset
97 }
4d87c38404d6 List literals, fixes to implicit self property lookup, import statement and editor improvements
Mike Pavone <pavone@retrodev.com>
parents: 24
diff changeset
98
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
99 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
100 symbolClick: domnode astnode event
28
93bbc4c8be95 Allow selection of lambda
Mike Pavone <pavone@retrodev.com>
parents: 25
diff changeset
101 }
93bbc4c8be95 Allow selection of lambda
Mike Pavone <pavone@retrodev.com>
parents: 25
diff changeset
102
11
5447cff52da6 Use tabletproglang in editor
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
103 main <- {
30
608eb70fe261 Fix some compiler bugs and do initial work on module import
Mike Pavone <pavone@retrodev.com>
parents: 29
diff changeset
104 get: "/src/" :data {
608eb70fe261 Fix some compiler bugs and do initial work on module import
Mike Pavone <pavone@retrodev.com>
parents: 29
diff changeset
105 fakeEl <- newEl: "div" #{
608eb70fe261 Fix some compiler bugs and do initial work on module import
Mike Pavone <pavone@retrodev.com>
parents: 29
diff changeset
106 innerHTML <- data response
608eb70fe261 Fix some compiler bugs and do initial work on module import
Mike Pavone <pavone@retrodev.com>
parents: 29
diff changeset
107 }
608eb70fe261 Fix some compiler bugs and do initial work on module import
Mike Pavone <pavone@retrodev.com>
parents: 29
diff changeset
108 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
109 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
110 nel <- newEl: "a" #{
608eb70fe261 Fix some compiler bugs and do initial work on module import
Mike Pavone <pavone@retrodev.com>
parents: 29
diff changeset
111 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
112 textContent <- el textContent
608eb70fe261 Fix some compiler bugs and do initial work on module import
Mike Pavone <pavone@retrodev.com>
parents: 29
diff changeset
113 }
608eb70fe261 Fix some compiler bugs and do initial work on module import
Mike Pavone <pavone@retrodev.com>
parents: 29
diff changeset
114 nel onclick!: :event {
608eb70fe261 Fix some compiler bugs and do initial work on module import
Mike Pavone <pavone@retrodev.com>
parents: 29
diff changeset
115 link <- foreign: this
608eb70fe261 Fix some compiler bugs and do initial work on module import
Mike Pavone <pavone@retrodev.com>
parents: 29
diff changeset
116 path <- link href
608eb70fe261 Fix some compiler bugs and do initial work on module import
Mike Pavone <pavone@retrodev.com>
parents: 29
diff changeset
117 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
118 editFile: path
608eb70fe261 Fix some compiler bugs and do initial work on module import
Mike Pavone <pavone@retrodev.com>
parents: 29
diff changeset
119 foreign: false
608eb70fe261 Fix some compiler bugs and do initial work on module import
Mike Pavone <pavone@retrodev.com>
parents: 29
diff changeset
120 }
608eb70fe261 Fix some compiler bugs and do initial work on module import
Mike Pavone <pavone@retrodev.com>
parents: 29
diff changeset
121 li <- newEl: "li"
608eb70fe261 Fix some compiler bugs and do initial work on module import
Mike Pavone <pavone@retrodev.com>
parents: 29
diff changeset
122 li appendChild: nel
608eb70fe261 Fix some compiler bugs and do initial work on module import
Mike Pavone <pavone@retrodev.com>
parents: 29
diff changeset
123 (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
124 }
12
6e4851a204a5 Add ability to load code into editor
Mike Pavone <pavone@retrodev.com>
parents: 11
diff changeset
125 }
6e4851a204a5 Add ability to load code into editor
Mike Pavone <pavone@retrodev.com>
parents: 11
diff changeset
126 }
6e4851a204a5 Add ability to load code into editor
Mike Pavone <pavone@retrodev.com>
parents: 11
diff changeset
127
6e4851a204a5 Add ability to load code into editor
Mike Pavone <pavone@retrodev.com>
parents: 11
diff changeset
128 //bind handlers for editor buttons
6e4851a204a5 Add ability to load code into editor
Mike Pavone <pavone@retrodev.com>
parents: 11
diff changeset
129 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
130 el onclick!: :event {
11
5447cff52da6 Use tabletproglang in editor
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
131 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
132 srcel textContent!: (srcel textContent) + (el textContent)
11
5447cff52da6 Use tabletproglang in editor
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
133 }
5447cff52da6 Use tabletproglang in editor
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
134 }
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
135 (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
136 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
137 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
138 }
11
5447cff52da6 Use tabletproglang in editor
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
139 }
5447cff52da6 Use tabletproglang in editor
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
140
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 path <- (window location) pathname
17
7400bb42e0c9 Add direct file edit link support
Mike Pavone <pavone@retrodev.com>
parents: 14
diff changeset
142 if: (path indexOf: "/edit/") = 0 {
7400bb42e0c9 Add direct file edit link support
Mike Pavone <pavone@retrodev.com>
parents: 14
diff changeset
143 editFile: (path substr: 5)
18
4dd99fde5f63 Tiny bit of cleanup
Mike Pavone <pavone@retrodev.com>
parents: 17
diff changeset
144 } else: {}
11
5447cff52da6 Use tabletproglang in editor
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
145 }
5447cff52da6 Use tabletproglang in editor
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
146
5447cff52da6 Use tabletproglang in editor
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
147 }