Skip to content

Commit 48a8f38

Browse files
committed
fix corner case in EDN file generating; alpha release
1 parent 5a293a0 commit 48a8f38

File tree

7 files changed

+35
-31
lines changed

7 files changed

+35
-31
lines changed

.gitattributes

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11

2-
ir.edn -diff
2+
33
yarn.lock -diff linguist-generated

package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "stack-editor",
3-
"version": "0.4.0-a1",
3+
"version": "0.4.0-a2",
44
"description": "Stack editor",
55
"main": "index.js",
66
"scripts": {

shadow-cljs.edn

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
[cljs-ajax "0.8.0"]
1111
[cumulo/shallow-diff "0.1.3"]
1212
[fipp "0.6.22"]
13-
[cirru/edn "0.0.8"]
13+
[cirru/edn "0.0.9-a1"]
1414
[cirru/sepal "0.2.7"]
1515
[mvc-works/polyfill "0.1.1"]
1616
]

src/app/comp/brief_file.cljs

+14-12
Original file line numberDiff line numberDiff line change
@@ -20,15 +20,6 @@
2020
(fn [e dispatch!]
2121
(dispatch! :collection/edit {:kind :procs, :ns ns-text, :extra nil, :focus []})))
2222

23-
(defn on-input [e d! m!] (m! (:value e)))
24-
25-
(defn on-keydown [ns-text def-text]
26-
(fn [e d! m!]
27-
(println "event")
28-
(if (= keycode/key-enter (:key-code e))
29-
(if (not (string/blank? def-text))
30-
(do (d! :collection/add-definition [ns-text def-text]) (m! ""))))))
31-
3223
(defn on-remove [ns-text] (fn [e d! m!] (d! :collection/remove-file ns-text)))
3324

3425
(def style-file {:padding "16px", :font-size 16, :line-height 1.6})
@@ -38,12 +29,12 @@
3829
(defcomp
3930
comp-brief-file
4031
(states ns-text file)
41-
(let [state (or (:data states) "")]
32+
(let [cursor (:cursor states), state (or (:data states) "")]
4233
(div
4334
{:style style-file}
4435
(div
4536
{:style ui/row}
46-
(<> span ns-text nil)
37+
(<> ns-text nil)
4738
(=< 16 nil)
4839
(span {:inner-text "ns", :style style-link, :on-click (on-edit-ns ns-text)})
4940
(=< 16 nil)
@@ -57,7 +48,11 @@
5748
{:value state,
5849
:placeholder "new def",
5950
:style widget/input,
60-
:on {:input on-input, :keydown (on-keydown ns-text state)}}))
51+
:on-input (fn [e d!] (d! cursor (:value e))),
52+
:on-keydown (fn [e d!]
53+
(if (= keycode/key-enter (:key-code e))
54+
(if (not (string/blank? state))
55+
(do (d! :collection/add-definition [ns-text state]) (d! cursor "")))))}))
6156
(list->
6257
{}
6358
(->> (:defs file)
@@ -70,3 +65,10 @@
7065
{:inner-text (str def-text ""),
7166
:style style-link,
7267
:on-click (on-edit-def ns-text def-text)})]))))))))
68+
69+
(defn on-keydown [ns-text def-text]
70+
(fn [e d! m!]
71+
(println "event")
72+
(if (= keycode/key-enter (:key-code e))
73+
(if (not (string/blank? def-text))
74+
(do (d! :collection/add-definition [ns-text def-text]) (m! ""))))))

src/app/page.cljs

+1-1
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
assets (read-string (slurp "dist/assets.edn"))]
2323
(make-page
2424
html-content
25-
(merge base-info {:styles [], :scripts (map (fn [x] (:output-name x)) assets)}))))
25+
(merge base-info {:scripts (map (fn [x] (:output-name x)) assets)}))))
2626

2727
(defn main! []
2828
(if (= js/process.env.env "dev")

src/app/updater/stack.cljs

+1-2
Original file line numberDiff line numberDiff line change
@@ -38,8 +38,7 @@
3838
(fn [entry]
3939
(let [def-deps (extract-deps
4040
(subvec (val entry) 2)
41-
ns-part
42-
file
41+
ns-part file
4342
pkg)]
4443
(contains? def-deps def-as-dep))))
4544
(map

stack.cirru

+16-13
Original file line numberDiff line numberDiff line change
@@ -22,21 +22,24 @@
2222
:ns $ [] |ns |app.comp.brief-file
2323
[] |:require ([] |[] |hsl.core |:refer $ [] |[] |hsl) ([] |[] |respo.core |:refer $ [] |[] |defcomp |div |list-> |<> |span |input) ([] |[] |clojure.string |:as |string) ([] |[] |respo-ui.core |:as |ui) ([] |[] |respo.comp.space |:refer $ [] |[] |=<) ([] |[] |app.style.widget |:as |widget) ([] |[] |app.util.keycode |:as |keycode)
2424
:defs $ {}
25-
|on-input $ [] |defn |on-input ([] |e |d! |m!) ([] |m! $ [] |:value |e)
2625
|comp-brief-file $ [] |defcomp |comp-brief-file ([] |states |ns-text |file)
2726
[] |let
28-
[] $ [] |state
29-
[] |or ([] |:data |states) (, ||)
27+
[] ([] |cursor $ [] |:cursor |states)
28+
[] |state $ [] |or ([] |:data |states) (, ||)
3029
[] |div ([] |{} $ [] |:style |style-file)
31-
[] |div ([] |{} $ [] |:style |ui/row) ([] |<> |span |ns-text |nil) ([] |=< |16 |nil)
30+
[] |div ([] |{} $ [] |:style |ui/row) ([] |<> |ns-text |nil) ([] |=< |16 |nil)
3231
[] |span $ [] |{} ([] |:inner-text ||ns) ([] |:style |style-link) ([] |:on-click $ [] |on-edit-ns |ns-text)
3332
[] |=< |16 |nil
3433
[] |span $ [] |{} ([] |:inner-text ||procs) ([] |:style |style-link) ([] |:on-click $ [] |on-edit-procs |ns-text)
3534
[] |=< |16 |nil
3635
[] |span $ [] |{} ([] |:inner-text ||Delete) ([] |:style |widget/clickable-text) ([] |:on-click $ [] |on-remove |ns-text)
3736
[] |div ([] |{})
3837
[] |input $ [] |{} ([] |:value |state) ([] |:placeholder "||new def") ([] |:style |widget/input)
39-
[] |:on $ [] |{} ([] |:input |on-input) ([] |:keydown $ [] |on-keydown |ns-text |state)
38+
[] |:on-input $ [] |fn ([] |e |d!) ([] |d! |cursor $ [] |:value |e)
39+
[] |:on-keydown $ [] |fn ([] |e |d!)
40+
[] |if ([] |= |keycode/key-enter $ [] |:key-code |e)
41+
[] |if ([] |not $ [] |string/blank? |state)
42+
[] |do ([] |d! |:collection/add-definition $ [] |[] |ns-text |state) ([] |d! |cursor ||)
4043
[] |list-> ([] |{})
4144
[] |->> ([] |:defs |file) ([] |sort |compare)
4245
[] |map $ [] |fn ([] |entry)
@@ -183,13 +186,13 @@
183186
[] $ [] |def-deps
184187
[] |extract-deps
185188
[] |subvec ([] |val |entry) (, |2)
186-
, |ns-part|file |pkg
189+
, |ns-part |file |pkg
187190
[] |contains? |def-deps |def-as-dep
188191
[] |map $ [] |fn ([] |entry)
189192
[] |{} ([] |:kind |:defs) ([] |:ns |ns-text) ([] |:extra $ [] |first |entry) ([] |:focus $ [] |[] |2)
190193
[] |let
191194
[] $ [] |proc-deps
192-
[] |extract-deps ([] |:procs |file) (, |ns-part) |file |pkg
195+
[] |extract-deps ([] |:procs |file) (, |ns-part |file |pkg)
193196
[] |if ([] |contains? |proc-deps |def-as-dep)
194197
[] |list $ [] |{} ([] |:kind |:procs) ([] |:ns |ns-text) ([] |:extra |nil) ([] |:focus $ [] |[] |0)
195198
[] |list
@@ -268,7 +271,7 @@
268271
[]
269272
[] |existed? $ [] |some?
270273
[] |get-in |files $ [] |[] ([] |:ns |dep-info) (, |:defs) ([] |:def |dep-info)
271-
[] |shorten-ns $ [] |string/replace-first ([] |:ns |dep-info) (, |pkg_) ||
274+
[] |shorten-ns $ [] |string/replace-first ([] |:ns |dep-info) (, |pkg_ ||)
272275
[] |touch-def $ [] |fn ([] |store) ([] |println ||touching |existed?)
273276
[] |if |existed? |store $ [] |-> |store
274277
[] |update-in ([] |[] |:collection |:files)
@@ -295,7 +298,7 @@
295298
[] |assoc |base-dep |:deps $ [] |let
296299
[] $ [] |def-deps
297300
[] |if ([] |some? |def-expr)
298-
[] |extract-deps ([] |subvec |def-expr |2) (, |internal-ns) |this-file |pkg
301+
[] |extract-deps ([] |subvec |def-expr |2) (, |internal-ns |this-file |pkg)
299302
, |nil
300303
[] |->> |def-deps
301304
[] |map $ [] |fn ([] |dep-info)
@@ -645,7 +648,7 @@
645648
[] |[] ([] |:ns |root-info) (, |:defs) ([] |:def |root-info)
646649
[] |pkg $ [] |get-in |store ([] |[] |:collection |:package)
647650
[] |this-file $ [] |get |files |internal-ns
648-
[] |deps-tree $ [] |expand-deps-tree |internal-ns ([] |:def |root-info) (, |files) |pkg ([] |#{})
651+
[] |deps-tree $ [] |expand-deps-tree |internal-ns ([] |:def |root-info) (, |files |pkg) ([] |#{})
649652
[] |; |println |ns-deps
650653
[] |println
651654
[] |-> |store $ [] |assoc-in ([] |[] |:graph |:tree) (, |deps-tree)
@@ -1296,8 +1299,8 @@
12961299
[] |html-content $ [] |make-string ([] |comp-container |schema/store)
12971300
[] |assets $ [] |read-string ([] |slurp ||dist/assets.edn)
12981301
[] |make-page |html-content $ [] |merge |base-info
1299-
[] |{} ([] |:styles $ [] |[])
1300-
[] |:scripts $ [] |map
1302+
[] |{} $ [] |:scripts
1303+
[] |map
13011304
[] |fn ([] |x) ([] |:output-name |x)
13021305
, |assets
13031306
|dev-page $ [] |defn |dev-page ([])
@@ -1426,7 +1429,7 @@
14261429
[] |let
14271430
[] ([] |namespace' |op-data)
14281431
[] |basic-code $ [] |[] ||ns
1429-
[] |str ([] |get-in |store $ [] |[] |:collection |:package) (, ||.) |namespace'
1432+
[] |str ([] |get-in |store $ [] |[] |:collection |:package) (, ||. |namespace')
14301433
[] |-> |store $ [] |assoc-in ([] |[] |:collection |:files |namespace')
14311434
[] |{} ([] |:ns |basic-code) ([] |:defs $ [] |{}) ([] |:procs $ [] |[])
14321435
|remove-file $ [] |defn |remove-file ([] |store |op-data |op-id)

0 commit comments

Comments
 (0)