Octopress 3.0

Can’t wait for Octopress 3.0 to be released! Octopress 2 is killing me and I was seriously considering going back to a plain Jekyll blog, before I saw 3.0 is right around the corner.

Any day now…

Introducing Inf-clojure - a Better Basic Clojure REPL for Emacs

At Clojure/conj I had the chance to shake Rich Hickey’s hand and exchange a few words with him. When I asked him whether he currently uses CIDER or Cursive for Clojure development he replied that he preferred a simpler solution – clojure-mode & inferior-lisp-mode. I was a bit surprised because clojure-mode’s integration with inferior-lisp-mode sucks (big time). It has always been extremely limited and was never really improved/extended. It has no Clojure specific features and no code completion. I felt that Rich and all the people using inferior-lisp-mode deserved something better, so I quickly put together inf-clojure.

inf-clojure provides some Clojure specific features like showing a var’s doc or source, derives some core functionality from clojure-mode and even features basic code-completion (and company-mode support). That’s not much admittedly, but it’s a good start. Extending inf-clojure is super easy and I expect that we’ll add a bit more features to it along the way (e.g. macroexpansion).

inf-clojure is available in MELPA and will eventually replace completely inferior-lisp-mode when clojure-mode 4.0 is released.

Keep in mind that inf-clojure is nothing like CIDER and will never be. CIDER will always be the powertool for Clojure programming in Emacs. I do understand, however, that some people are overwhelmed by CIDER and some people simply don’t need anything sophisticated. I hope they’ll enjoy inf-clojure!

A CIDER Unsession at Clojure/conj

I’ll be talking about the evolution of CIDER at the conj, but I won’t be able to show much (in terms of features) during my talk. Luckily, however, beside the talks we also have the option for unsessions. Here’s my proposal for one such unsession…

I’d like to do a more extensive demonstration of the general workflow with CIDER and all the cool things we’ve done recently and I’d also like discuss with our users (and potential users) existing problems, ideas for improvements and the future direction of the project. If you like my idea you can show your support for it here.

Feedback is important and I’d like to get as much as possible to make CIDER better!

The Road to CIDER 0.8

I’m planning to release the long overdue CIDER 0.8 at clojure/conj 2014. I’ll be giving a talk there that will be mostly about CIDER, so this seems like a pretty good idea to me.

I’d like to ask you to do a bit of extra testing to the current snapshot builds, so we can deliver a solid release (if we’re lucky - the most solid ever). Guess you should pay extra attention to the new features.

If you want to get some issue fixed in time for 0.8 you’d better get started right away.

Thanks in advance for your help!

clojure-mode 3.0

clojure-mode 3.0 is out!

It’s one of the most ambitious releases in recent times and brings much improved font-locking across the board. Other notable changes include dropping support for Emacs 23 (CIDER doesn’t support it either) and removing some deprecated features (most notably the functionality for switching between code and its test; see Projectile for an awesome replacement of the old feature).

An extensive list of the changes is available here.

This version also marks the introduction of an automated test suite (currently it consists mostly of font-lock tests), which should make it easier to do changes in the future.

Next step - indentation improvements and decoupling clojure-mode from lisp-mode. Both tasks are related. We’ve been deriving much from lisp-mode since day 1 and this has worked reasonably well so far, but the truth is that Clojure is not Common Lisp (or Emacs Lisp for that matter) and would benefit from a more refined syntax table, indentation rules, etc.

When will this happen? Sadly, I have no idea… Help is definitely welcome!

That’s all for now, folks! Enjoy the new clojure-mode!