RSSAmplifier

Blog

Emacs Dwelling

emacs.dyerdwelling.familyRSS feed ↗20 posts

Latest posts

Borrowing from Jasspa MicroEmacs : Dired Sort Keybindings

I've been exploring Jasspa MicroEmacs lately - a lightweight Emacs like editor with a surprisingly thoughtful set of defaults, its footprint is surprisingly small, 1-2MB on your disk, useful for a portable Emacs or in my case allows me to run up an Emacs like editor on my work laptop (as it blocks GNU Emacs). No installation, just a single very small executable and it comes in many different…

VC Shuttle: Advice-Based Git Sync for Air-Gapped Emacs

I work on an air-gapped VM, which is to say, a virtual machine with no network access at all. You copy code in via USB or a shared folder, develop, and then you need to get that code back out to the host machine. Git is running inside the VM, of course, it's the sensible thing to do for version control, but git push wants a remote, and there is no remote. What you actually need is a file copy…

That Moment Dired Eats Your File and why Trash Saves You

I was working on my diff-minimap package, deep in the weeds of fringe indicators and search highlights, and I did the thing. You know the thing. I was in Dired, accidentally, for some reason hit D to delete a filename (probably some malfunctioning muscle memory) and it was gone! Except it was my own source file. diff-minimap.el. The one I had been hacking on for the last hour. The one with all…

The Hidden Git Stash Keys in Emacs VC Directory Mode

My ongoing journey with vc-dir and vc-mode led me into wanting to delete a stash (not to pop). There are "z" keybindings in vc-dir : z c vc-git-stash z p vc-git-stash-pop z s vc-git-stash-snapshot but what about delete?, and are there any others? In vc-dir you get a rather nice little Stash section tacked on at the bottom listing all your stashes: I genuinely assumed I was missing something…

Stashing a Single File, and Why I Was Too Quick to Blame vc-mode!

In my last post I wrote about finally caving in and adding Magit to my config after years of being a contented vc-mode loyalist (VC-Mode Meets Magit - or Why I Finally Gave In!). My conclusion then was that the two complement each other nicely, Magit for repo-level operations, vc-mode for the everyday file-level stuff, commit a single file, a blame, a quick diff, C-x v and away you go. Well, I…

VC-Mode Meets Magit - or Why I Finally Gave In!

I have been a VC-mode loyalist for years, it is built in, it is simple, it covers the basics - commit, push, pull, diff, all there with C-x v bindings. I never really felt the need for Magit, honestly. VC-mode just works, right? Until it does not. Or rather, until you need something that is not quite available. As vc-mode is source code control agnostic then there were always going to be some…

A Tiny Nohup: Keeping Media Alive When Emacs Exits

This post is simply about some more yak shaving and there was this one niggle that I just kept putting off, because it never really annoyed me enough, but recently I started watching a lot more video content from within dired and it finally got to me. The problem. I press W in dired, which is bound to dired-do-async-shell-command , type mpv (or accept the default guess that my…

A Zoomed in vc dir for the Current Directory in dired

I almost always reach for project-vc-dir when I want a VC status overview, and most of the time this is exactly what I want, the whole project laid out in one buffer, every modified, added and unregistered file in the repo sitting right there, ready to be diffed or committed. But every so often, particularly when I am deep inside a big repository and I only really care about a single…

A Tiny Header line Tweak: Image Dimensions in image mode

I have been doing a lot of fiddling with images lately, mostly through dired and image-dired, and one little thing has been bugging me for a while. When I open an image in Emacs, image-mode happily shows me the picture, but it never tells me the one bit of information I actually want to know, how big is the thing?, width, height, file size, that sort of thing. You can of course bounce out to a…

Highlighting git changes in a buffer with diff-hl

Lately I’ve found myself wanting a better, more fine-grained view of what’s going on in a file under git . For some reason, my default workflow has been to keep jumping in and out of project-vc-dir to check changes. It gets the job done, but honestly it’s a bit of a hassle What I really wanted was something right there in the buffer. Not a full-on inline diff (that gets messy fast I would guess),…

Emacs-DIYer: A Built-in dired-collapse Replacement

I have been slowly chipping away at my Emacs-DIYer project, which is basically my ongoing experiment in rebuilding popular Emacs packages using only what ships with Emacs itself, no external dependencies, no MELPA, just the built-in pieces bolted together in a literate README.org that tangles to init.el . The latest addition is a DIY version of dired-collapse from the dired-hacks family, which is…

Wiring Flymake Diagnostics into a Follow Mode

Flymake has been quietly sitting in my config for years doing exactly what it says on the tin, squiggly lines under things that are wrong, and I mostly left it alone. But recently I noticed I was doing the same little dance over and over: spot a warning, squint at the modeline counter, run `M-x flymake-show-buffer-diagnostics`, scroll through the list to find the thing I was actually looking at,…

Simply Annotate 0.9.8: Threaded Conversations on Your Code

I have been busy improving my annotation package! Simply Annotate , the latest release is 0.9.8 and I have put in a bunch of new features, so it felt like a good time to step back and show what the package actually does at this point, because honestly, quite a lot has changed since I last wrote about it. There are annotation packages out there already, annotate.el being the most established. And…

Ollama Buddy - Seven Lines to Any LLM Provider

Ever found yourself wanting to add a new AI provider to ollama-buddy? (probably not I would guess 🙂), only to realise you'd need to write an entire Elisp module? Or perhaps you're running a local inference server that speaks the OpenAI API, but can't be bothered with the ceremony of creating a dedicated provider file? Fair question. That's exactly why I built ollama-buddy-provider-create — a…

Ollama Buddy - In-Buffer LLM Streaming

There is now an in-buffer replace feature in ollama-buddy , so now an ollama response can work directly on your text, streaming the replacement in real-time, and giving you a simple accept/reject choice!, I have also added an smerge diff inline if desired to show the differences and give the user the ability to accept or reject Here is how it works : https://www.youtube.com/watch?v=Po7Wqpk0sqY The…

Ollama Buddy - Web Search Integration

One of the fundamental limitations of local LLMs is their knowledge cutoff - they don't know about anything that happened after their training data ended. The new web search integration in ollama-buddy solves this by fetching current information from the web and injecting it into your conversation context. Ollama has a specific API web search section, so it has now been activated! Here is a…

Ollama Buddy v2.5 - RAG (Retrieval-Augmented Generation) Support

One of the things that has always slightly bothered me about chatting with a local LLM is that it only knows what it was trained on (although I suppose most LLMs are like that) . Ask it about your own codebase, your org notes, your project docs - and it's just guessing. Well, not anymore! Ollama Buddy now ships with proper Retrieval Augmented Generation support built-in What even is RAG? If you…

Ollama Buddy v2.0 - LLMs can now call Emacs functions!

Tool calling has landed in ollama-buddy!, it's originally not something I really thought I would end up doing, but as ollama has provided tool enabled models and an API for this feature then I felt obliged to add it. So now LLMs through ollama can now actually do things inside Emacs rather than just talk about them, my original "do things only in the chat buffer and copy and paste" might have gone…

Automatically Syncing Emacs Tab Bar Styling With Your Theme

If you've ever enabled a new theme and noticed your tab-bar faces stubbornly hanging onto old colours or custom tweaks, I have found often that the tab-bar , tab-bar-tab , and tab-bar-tab-inactive faces don’t always blend cleanly with freshly loaded themes - especially of the older variety (a bit like me) and especially ones that came out before the tab bar was introduced into Emacs. So how about…

Spent a bit of free time polishing ollama-buddy - github Copilot is now onboard!

I've had a little free time recently (figuring out this baby stuff!) and thought I would spend time revisiting and refining my AI assistant ollama-buddy I've been playing around with agentic coding and keeping up-to-date on the rapid development of the Emacs AI package landscape and I think I have refined in my own mind my idea of what I would like to see in an Emacs AI assistant. The headline…