Clojure development with Spacemacs
This is an introduction to developing Clojure applications using Emacs, specifically based on the Spacemacs configuration for Emacs and CIDER. The aim is to help you be productive with those tools as quickly as possible.
Spacemacs is a community-driven project that provides a simple way to add lots of extra functionality to Emacs, without having to manage packages yourself or spend time writing common configuration code.
This workshop will cover the following topics:
- Adding the Clojure layer
- Running the REPL & evaluating code
- Running tests & test reports
- Structural editing (smartparens/paredit fun)
- Emacs common commands
- Emacs cool stuff (multiple cursors, kill-ring / visual undo
- Clojure docs, auto-completion, snippets
- Clojure refactoring with clj-refactor
- Clojurescript development, figwheel and chestnut template
- Org-mode for project documentation, literate programming & presentations
- debugging basics (I rarely use the debugger so if anyone is willing to show how they use the debugger, please speak up).
This is not a guide to customising Emacs for Clojure development, except were there are useful additions to be made to Spacemacs and the Clojure layer.
Fixme work in progress, no git repository available as yet.
Any customisations made to the standard Spacemacs install are contained in the Github repository Spacemacs configuration
To get a copy of the repository, use the following git clone command which creates a new directory called clojure-webapps-example that contains the cloned code.
git clone https://github.com/practicalli/spacemacs-configuration.git
- Spacemacs ABC - screencast walk-through of features in alphabetical order
- SimpleTutorials: Spacemacs
- Example spacemacs.el with emms and external packages bongo
- Learn Spacemacs in 30 days - build up your Vim skills
Note: I use bongo for music now... added as an external package
Clojure Getting Started
- ClojureBridge London curiculum
- Clojure through code - many examples of basic Clojure code
- Getting started with Clojure - a general guide to Clojure (work in progress)
- 4Clojure exercises & 4Clojure Google group
- Lighttable Koans - exercises to help you discover Clojure
- Brave Clojure - a Clojure tutorial (using Emacs)
- Getting started with Clojure on Heroku
- Clojure.org, features and rational
- Clojure documentation
- Clojure cheetsheet
- Official Google group
- CrossClj - cross-referencing the Clojure ecosystem
Books & Tutorials
| Author | Last update | | -- | -- | |John Stevenson | 7th January 2017 |
This work is licensed under a Creative Commons Attribution 4.0 ShareAlike License (including images & stylesheets).
Spacemacs, Practicalli by John Stevenson is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
Based on a work at Spacemacs, Practicalli on Gitub.
Permissions beyond the scope of this license may be available at @jr0cket.