1 # Clojurecember 2 3 In which I attempt to learn at least a little bit of Clojure with the end goal 4 of writing a text editor, even if it's just about one standard library data 5 structure, each day of December. 6 7 ## DEC01 8 9 Installed Clojure and followed the [Clojure Syntax Learning 10 Guide](https://www.clojure.org/guides/learn/syntax). 11 12 ## DEC02 13 14 Continued following the Clojure Guide with 15 [Functions](https://www.clojure.org/guides/learn/functions). 16 17 ## DEC03 18 19 Finished up with Functions in Clojure and moved on to 20 [Sequential](https://www.clojure.org/guides/learn/sequential_colls) and 21 [Hashed](https://www.clojure.org/guides/learn/hashed_colls) collections. 22 23 ## DEC04 24 25 Moved onto learning Clojure [Flow 26 Control](https://www.clojure.org/guides/learn/flow) and 27 [Namespaces](https://www.clojure.org/guides/learn/namespaces) which finishes 28 off learning the basics of Clojure. 29 30 ## DEC05 31 32 Installed [leiningen](https://codeberg.org/leiningen/leiningen) which is 33 apparently Clojure's version of `pip`, `npm`, etc. Created a new project which 34 uses [Seesaw](https://github.com/clj-commons/seesaw/) and made a basic program 35 that spawns a window that lets you type text in. 36 37 ## DEC06 38 39 Added a menu bar with some basic actions (File -> [New, Open, Save, Quit]), 40 (Edit -> [Copy, Cut, Paste]), and (Help -> [About]) to the text editor. 41 42 ## DEC07 43 44 Improved the save features of the text editor: added a Save As and made the New 45 option make an entirely new file, instead of just blanking the text area. Also 46 added some labels for the current file and some feedback when a file was saved, 47 opened, etc. 48 49 ## DEC21 50 51 Played around with trying to get a line count side-bar thing (like vim's `numbers`). 52 53 ## DEC22 54 55 Made progress on the line count functionality, decided that it was not really possible or would be too awkward with (how I understand this) GUI framework. What kind of text editor needs a line count anyways?