Endless Parentheses

Concise ramblings on Emacs productivity.

Embedding Youtube videos with org-mode links

If you’re a frequent reader, no doubt you noticed an embedded Youtube video on a post a couple of weeks ago. Youtube makes it pretty simple to embed videos, they give you the entire iframe HTML code to use, but this wouldn’t really be Emacs if we couldn’t make things just a little bit easier. Just add the snippet below to your init file, and you’re good to go. [...]

Fixing DOuble CApitals as you type

This is something that’s bothered me for a very long time. My pinky is slow when it comes to releasing the Shift key, and frequently leads to typos. MOst typos (hitting letters in the wrong order) are already covered by auto-correction, but there’s another common typo that it doesn’t fix. EVery now and then, I’ll start a sentence with two uppercase letters. [...]

You won’t believe this simple trick for using Emacs with Java!

Install JDEE! Ok, maybe that’s an overstatement. JDEE is far from simple, and it hasn’t been able to keep up very well since Java 1.4. However, thanks to Stephen Leake & folks, that might be starting to change. JDEE is now on Github, and it could definitely use your help. [...]

Debugger improvements in Cider 0.10.0

Over the last couple of weeks I had a few more days to work on the Cider debugger, and it’s getting a slew of improvements on the next release (0.10.0). This starts with a complete rewrite, so it now supports almost everything, and ends with some small features and UI improvements. Without further delay, here’s a video. [...]

Applying Markup to Strings in org-mode

Normally, org-mode ignores your attempts to markup text that starts with " or '. That’s probably a safe measure because "~/" is a very common string to write but ~ is one of Org’s markup elements. [...]

Fine-tuning subtree visibility in org-mode

Org is one of those packages that you can use for a lifetime and still not know all of its features. One of the first things you learn is how to use the #+STARTUP header to define the initial visibility of headlines when you first open an org-mode file. But did you know you can also use that on a per headline basis? [...]

How I blog: One year of posts in a single org file

When this blog was conceived, I decided that I wanted it to be entirely contained in a single org file, and that this would also be my Emacs init file. On the blog’s very first post I explained how to implement the latter, an init file that also serves other purposes. Today, Endless Parentheses turns 1 year old, and it’s time to explain the former, how to turn a file into a blog. [...]

Create Github PRs from Emacs with Magit (again)

I don’t usually dedicate an entire post to something I’ve already done in a previous one, but this nugget is so useful it deserves the attention. Remember how you can create Github PRs straight from Magit? Magit 2.1.0 is barely two weeks away, and it brings so many (awesome) changes that our little snippet is going to break. [...]

Better compile command

Having to confirm-before-save buffers every time you call compile is nearly as outrageous as having no key bound to compile in the first place. This snippet takes care of both and, as a bonus, makes the compilation window follow a predetermined size and ensures that point will follow the output. [...]

New in Emacs 25.1: Archive priorities and downgrading packages

This is the feature I’ve been wanting to show off the most. Anyone who’s configured Emacs to use more than one package archive knows this problem. The package menu displays countless redundant entries, as it must list a package once for each archive that offers it. Even worse, if you install a package from one archive, the package menu will gladly upgrade it to a newer version on another archive, clueless to the fact that it may be giving you unstable code. [...]

New in Emacs 25.1: Filtering by status and archive

For several reasons, the Package Menu’s f key has always flown a bit under the radar for me. Though the package-menu-filter command is great in principle, in practice its usefulness falls a little short for several reasons. [...]

New in Emacs 25.1: Asynchronous Package Menu

It was six months ago, to the day, when I alluded to the fact that Emacs’ package menu needed to go async. The time it took to do a simple list-packages bothered me the most, closely followed by having to go play Minesweeper every time I did a package upgrade. The latter was partially addressed when I added asynchronous package transactions to Paradox, but the former took a bit more work. In Emacs 25.1, at last, the package menu is going async. [...]

New in Emacs 25.1: User-selected packages

In Thurday's post on dependency management, I briefly mentioned that package.el now keeps track of which packages the user explicitly requested, and which were pulled in as dependencies. But there’s a bit more to this feature, so it deserves some time in the spolight. [...]

New in Emacs 25.1: Better dependency management

Package.el has gotten a series of improvements after the release of 24.4. Since I’ve found that people like to read about upcoming features, I’m starting a new series exclusively about our favorite package manager. Today, we talk dependencies. [...]

Proof general configuration for the Coq Software Foundations tutorial

Proof-general is a powerful client for the Coq proof assistant, and Software Foundations is great interactive tutorial for the language. As I was following the tutorial, I felt the need to speed things up a little bit. Today’s post is just some configuration code I wrote for that effect. [...]