Skip to content

Commit ed788a1

Browse files
committed
got text-edit sending and responding successfully
1 parent ff133ce commit ed788a1

File tree

5 files changed

+24
-58
lines changed

5 files changed

+24
-58
lines changed

bettercode/src/bettercode/core.clj

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,14 +39,16 @@
3939
:file-path ""
4040
:text-editor ""
4141
:anchor-pos 0
42-
:caret-pos 0}
42+
:caret-pos 0
43+
:dir-contents {:dir-path ""
44+
:directories []
45+
:files []}}
4346
#(cache/lru-cache-factory % :threshold 4096))))
4447

4548
;create file opening screen
4649
(defn -main []
4750
(Platform/setImplicitExit true)
4851
(let [c @(client "localhost" 8080)]
49-
(println @(s/put! c "made connection"))
5052
(fx/create-app *context
5153
:event-handler bettercode.events/handle-event
5254
:desc-fn (fn [_]

bettercode/src/bettercode/events.clj

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010

1111
(defmethod handle-event ::type-text [{:keys [fx/event fx/context tclient]}]
1212
@(s/put! tclient (str "text-edit " (fx/sub-val context :file-path) " " (fx/sub-val context :caret-pos) " " (.getCharacter event)))
13+
(println @(s/take! tclient))
1314
{:context (fx/swap-context context
1415
assoc
1516
:anchor-pos (.getAnchor (.getSource event))
@@ -24,16 +25,13 @@
2425
:anchor-pos (.getAnchor (.getSource event))
2526
:caret-pos (.getCaretPosition (.getSource event)))})
2627

27-
(defmethod handle-event ::open-file [{:keys [fx/event fx/context tclient file-path]}]
28+
(defmethod handle-event ::open-file [{:keys [fx/event fx/context tclient]}]
2829
(println "getting file")
29-
@(s/put! tclient (str "open-file " file-path))
30-
{:context (fx/swap-context (fx/swap-context context
31-
assoc
32-
:text-editor
33-
@(s/take! tclient))
30+
@(s/put! tclient (str "open-file " (fx/sub-val context :file-path)))
31+
{:context (fx/swap-context context
3432
assoc
35-
:file-name
36-
file-path)})
33+
:text-editor
34+
@(s/take! tclient))})
3735

3836
(defmethod handle-event ::close-file [{:keys [fx/event fx/context tclient]}]
3937
(println "requesting close file")
Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
11
(ns bettercodeserver.filenav
22
(:require [me.raynes.fs :as fs]))
33

4-
(defn get-folder-contents [folder])
4+
(defn get-folder-contents
5+
([] (get-folder-contents fs/*cwd*))
6+
([folder-path] {:dirs (filter fs/directory? (fs/list-dir folder-path))
7+
:files (filter fs/file? (fs/list-dir folder-path))}))

bettercodeserver/src/bettercodeserver/server.clj

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,8 @@
66
[gloss.core :as gloss]
77
[clojure.edn :as edn]
88
[clojure.string :as str]
9-
[bettercodeserver.buffer :as buffer]))
9+
[bettercodeserver.buffer :as buffer]
10+
[bettercodeserver.filenav :as fnav]))
1011

1112
(def protocol
1213
(gloss/compile-frame
@@ -24,13 +25,16 @@
2425
(io/decode-stream s protocol))))
2526

2627
(defn parse-request [message agent-name]
27-
(let [split-req (conj [] (str/split message #" "))]
28+
(let [split-req (str/split message #" ")]
29+
(println message)
30+
(println (split-req 0))
2831
(case (split-req 0)
2932
"text-edit" (buffer/text-edit agent-name (split-req 1) (split-req 3) (split-req 2))
3033
"open-file" (buffer/add-file agent-name (split-req 1))
3134
"close-file" (buffer/remove-file agent-name (split-req 1))
3235
"save-file" (buffer/save-file agent-name (split-req 1))
33-
"save-all" (buffer/save-all-files agent-name))))
36+
"save-all" (buffer/save-all-files agent-name)
37+
"get-dir" (fnav/get-folder-contents (split-req 1)))))
3438

3539
(defn event-loop [f files-agent]
3640
(fn [s info]
@@ -39,7 +43,9 @@
3943
(d/let-flow [msg (s/take! s ::none)]
4044
(when-not (= ::none msg)
4145
(d/let-flow [msg-two (d/future (f msg files-agent))
42-
result (s/put! s msg-two)]
46+
result (cond
47+
(= (class "") (class msg-two)) @(s/put! s msg-two)
48+
:else @(s/put! s true))]
4349
(when result
4450
(d/recur)))))
4551
(d/catch

makefile

Lines changed: 0 additions & 43 deletions
This file was deleted.

0 commit comments

Comments
 (0)