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.
My spacemacs configuration file is published as a gist
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
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.