You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- Use `lein repl` command to start a REPL with Leiningen.
77
+
- Wait for it... the REPL will start and print out a message with some
78
+
useful information
79
+
- Locate the `port` and `host` information in the message. We will need this information soon.
80
+
71
81
Note:
72
82
73
83
-[Boot](http://boot-clj.com/) should be fine too, but we have not tested this project with it.
74
84
75
85
76
-
## Code Editor
86
+
## Code Editor and Tooling
77
87
78
88
Set up an editor and figure out how to evaluate Clojure code with it.
79
89
80
-
If you aren't opinionated about your Editor, yet:
90
+
### LightTable
91
+
92
+
We used LightTable for our workshop. We suggest you do so too, unless of course, you have already set up your favourite editor for Clojure development. Avoid [bikeshedding](http://catb.org/jargon/html/B/bikeshedding.html) editors. Just complete the workshop first!
93
+
94
+
- You may install LightTable from the [official website](http://lighttable.com/).
95
+
- But you must have Java 8. LightTable breaks with Java 9.
96
+
- On Mac OS, you may have to allow running the app in your security preferences to be able to open it.
97
+
98
+
Once installed:
99
+
100
+
- Use LightTable's file menu to open this project.
101
+
- In the left pane, navigate down to the first file `ex00...`, under the `src` folder.
102
+
- Under `View` menu, click `Connections`. A right pane should open.
103
+
- Under `Add Connection`, click `Clojure (remote REPL)` and complete the port number. Recall host:port information was printed to the terminal when you fired up a REPL in the previous section.
104
+
- In the `ex00..` file, scroll down a little, till you see `(+ 1 2)`.
105
+
- Place your cursor after the closing parenthesis `)` and hit Ctrl+Enter (Win/Linux), or Cmd+Enter (Mac).
106
+
- You should see `3` appear in-line. This means you successfully connected and evaluated an expression.
107
+
- Now you may start from the top of ex00 and work through the material.
108
+
109
+
Also keep [LightTable's documentation](http://docs.lighttable.com/tutorials/full/) handy in case you need editor help, as you solve the workshop material.
110
+
111
+
112
+
Optionally, add Parinfer for easier editing:
113
+
114
+
- In LightTable, go to View -> Plugin Manager and search for "parinfer".
115
+
- Install the Parinfer plugin by Maurício Szabo.
116
+
- Parinfer is an editing system for Clojure that makes it easy for you to move Clojure code around without unbalancing parentheses.
117
+
- We recommend going through the [Parinfer documentation here](https://shaunlebron.github.io/parinfer/). But don't get stuck there, just keep it handy.
118
+
119
+
120
+
### Alternative Starter Kits:
121
+
122
+
If you can't use LightTable for some reason (like can't downgrade to Java 8 from Java 9). You may try one of these. Although we haven't tested with these setups, the workshop material should work fine.
123
+
124
+
- A [snazzy setup with Atom](https://medium.com/@jacekschae/slick-clojure-editor-setup-with-atom-a3c1b528b722).
125
+
- Brave Clojure walks you through [a basic Emacs setup for learning Clojure](https://www.braveclojure.com/basic-emacs/).
126
+
81
127
82
-
-[This slick Atom setup will suffice for this workshop.](https://medium.com/@jacekschae/slick-clojure-editor-setup-with-atom-a3c1b528b722)
128
+
### Your favourite editor:
83
129
84
-
If you wish to use your favourite editor, you may find instructions
85
-
at one of these pages. But there are only so many choices. Ultimately,
86
-
you must pick your poison and run with it:
130
+
You may find instructions for your favourite editor at one of these pages. But there are only so many choices. Ultimately, you must pick your poison and run with it:
87
131
88
132
-["IDEs and Editors" at dev.clojure.org](https://dev.clojure.org/display/doc/IDEs+and+Editors)
89
133
-["Essentials" at clojure-doc.org](http://clojure-doc.org/articles/content.html#essentials)
0 commit comments