File tree Expand file tree Collapse file tree 5 files changed +24
-58
lines changed
bettercodeserver/src/bettercodeserver
bettercode/src/bettercode Expand file tree Collapse file tree 5 files changed +24
-58
lines changed Original file line number Diff line number Diff line change 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 [_]
Original file line number Diff line number Diff line change 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))
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" )
Original file line number Diff line number Diff line change 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))}))
Original file line number Diff line number Diff line change 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
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]
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
Load Diff This file was deleted.
You can’t perform that action at this time.
0 commit comments