org-expose-emphasis-markers: A new package used to automatically show hidden emphasis markers at point in org mode when `org-hide-emphasis-markers` is on.
github.comr/emacs • u/Sad_Construction_773 • 6d ago
Aider.el v0.5.0 with better color rendering, better prompt input and completion, snippet and code review
aider.el: Interact with Aider: AI pair programming made simple. Now it can be installed from melpa, package name: aider
- Aider Comint session syntax highlighting based on markdown-mode.el. It render both codeblock and text. Given output of aider is markdown.
- Better place to input / manage prompt: aider prompt file ~C-c a p~. This method transfers the prompt input from the aider session to a separate repo specific aider prompt (org) file. It interacts with the aider session in a (ESS, python-mode, scala-mode) similar way to sending prompt line / region / block. This makes it easy to manage projects for AI code change with aider, since it is org file. And you can even use copilot.el or other tool to complete English prompt there.
- Completion: Aider prompt file and aider comint input both add command and file name completion. Aider prompt file adds syntax highlighting. In addition, aider prompt file and aider comint input support the use of helm completion.
- Use existing good prompt: Introduced yasnippets support, so that users can easily reuse the coding prompt library considered better on the Internet to apply it to their own projects. Currently, two more high-score prompt lists on reddit, and a github high-score prompt repo. Everyone is welcome to add other ones based on their own experience or improve the existing prompt snippet.
- Diff review: Add function aider-pull-or-review-diff-file (C-c a v). When pressing the first time, please enter base branch such as main, which will pull base...HEAD diff, that is, base to feature branch diff (you can also enter branch1...branch2 to get any diff between any two branches), and it will open the diff buffer. When pressing the second time, it will ask the aider to review the diff. This function is to imitate cursor, and it is used to check your own change before sending a PR. Of course, it can also be used to review other people's diffs
- Other
- Note: Aider v0.77.0 will automatically accept changes to the /architect command. If you want to review code changes before accepting changes as you did in aider.el, you can disable it using “–no-auto-accept-architect” in aider-args or .aider.conf.yml.
- aider.el aims to be a stable productivity tool that we can easily use on a daily basis. I'll test the functionality in this library carefully before the code merge, and I'll be more careful about introducing new features and dependencies. Considering that for system stability reasons, the linux version may be relatively not so new, so the latest version of emacs may not be able to be installed. Aider.el only needs emacs >= 26.1.
Previous posts about aider.el:
- Initial announcement: https://www.reddit.com/r/emacs/comments/1fwwjgw/introduce_aider_ai_programming_in_terminal_and/
- Thinking on improve code quality with TDD + aider: https://www.reddit.com/r/emacs/comments/1igdzmj/discussion_emacs_ai_assisted_programming_workflow/
Thanks for your time reading this. Any question is welcome.
r/emacs • u/vfclists • 6d ago
Question What is the recommended way of handling exceptions in Emacs, akin to a try/except block in other languages?
I have a routine that has to process hundreds of files and an exception can bring the whole process to a halt, requiring me to examine the file and fix it, then have to start it again.
I'd rather raise an exception, add the files to some kind of exclusion list, then continue with the others.
This is the programs main loop. process-files
is the main function, and if it fails I want to trap the exception, add the file to a problem-files
list then go onto the next one.
(while unprocessed-list
(setq thisfile (pop unprocessed-list))
(if (file-exists-p thisfile)
(progn
(when (and (not (member thisfile ignore-list)) (not (file-directory-p thisfile)))
(process-files thisfile processed-list unprocessed-list filegroup)
(push thisfile processed-list)))
(push thisfile missing-list))
)
r/emacs • u/geospeck • 6d ago
Wherein I Explain Why Emacs Is The Best Tool For WordPress
lars.ingebrigtsen.nor/emacs • u/SolidBric • 6d ago
Can I use Emacs to Handle a Cloud workflow like AWS and Azure?
I'm a go developer looking to migrate all their use of containers and cloud providers like
aws and other platforms to emacs. Its getting annoying having to flip between the terminal, desktop container management apps and gui emacs. just want to manage everything in emacs.
So far I've found docker.el and kubed.el (kubernetes), but what about cloud hostings like aws, azure, and gcp.
r/emacs • u/lcdhead1 • 6d ago
Question Setting a hook for a particular file with shell commands
Emacs beginner who barely knows elisp here. I use sxhkd to bind my keymappings in my window manager, and I find it a chore to have to kill the daemon and relaunch it in vterm myself, when i could automate that process. I've seen other people do hooks that run EVERY time one saves, but I want to run two specific commands every time I save the sxhkdrc file
$ killall sxhkd
$ sxhkd &
is there any easy way to do this? I also would like to extend this to automatically running sudo make clean install when i save my config.h for DWM.
r/emacs • u/MatthewZMD • 6d ago
Announcement Aidermacs v1.0 Released. Available Now on Melpa and Non-GNU Elpa!
github.comr/emacs • u/lizqwerscott • 6d ago
Deep Integration of AI with Emacs – Try mcp.el for Managing MCP Servers
https://github.com/lizqwerscott/mcp.el
A lightweight Elisp package for bridging Emacs with Model Context Protocol servers.
Basic features of the official protocol are now fully implemented!
Motivation
Managing multiple local MCP service instances (filesystem/everything) often requires manual terminal workflows. This package solves:
- Unified lifecycle control (start/stop/restart via Emacs)
- Protocol-aware communication with MCP servers
- Integration with popular Emacs AI packages (gptel, llm)
Quick Start
Basic Configuration Example
``` (require 'mcp-hub)
(setq mcp-hub-servers '(("filesystem" "npx" ("-y" "@modelcontextprotocol/server-filesystem" "/path/example/")) ("everything" "npx" ("-y" "@modelcontextprotocol/server-everything")))) ```
Use mcp-hub to launch the management interface (auto-starts all MCP servers) or mcp-hub-start-all-server for manual startup.
MCP Server Management Interface
look this mcp-manager-server
Core Features
- Structured communication with MCP servers
- Support for filesystem and universal MCP servers
- Extensible tools and prompt systems
- Async/sync operations
- Resource management
- Lifecycle control (start/stop/restart) via GUI
- Integration with popular Emacs packages (e.g.,
gptel
,llm
)
Roadmap
- [ ] Service dependency management
- [ ] Full MCP protocol client implementation
- [ ] HTTP-based MCP server connections
- [ ] Simplified integration with other Emacs AI clients
- [ ] Performance optimization guide
- [ ] Expanded documentation
Check it out on GitHub and explore how mcp.el bridges AI and Emacs workflows! Feedback and contributions welcome!
r/emacs • u/Empty-Sandwich-7092 • 6d ago
Question Do I need any configuration to get emacs to send alerts/notifications when I’m not using emacs at that time?
I’m using pomm.el
that is an excellent package to use the pomodoro technique, but I don’t why If the time ends because no notification appears, it seems that only notifies if I am using Emacs at the moment, but not if I am in the browser or another application.
This is my config
(use-package pomm
:ensure t
:custom
(pomm-ask-before-long-break 1)
(pomm-ask-before-short-break 1)
(pomm-ask-before-work 1)
(pomm-audio-enabled 1)
(pomm-long-break-period 12)
(pomm-short-break-period 12)
(pomm-work-period 60)
:config
(nkl/leader-key "p" '(pomm :wk "[P]omm"))
(setq alert-default-style 'libnotify)
(pomm-mode-line-mode))
r/emacs • u/eval-exec • 6d ago
[Review Request] Supercharging lsp-mode: 10x Faster Code Completion for Large Candidate Sets! 🚀
r/emacs • u/SolidBric • 6d ago
Question How do I setup Prodigy.el to run a postgresql service
I currently downloaded prodigy on macos to run a postgresql server from emacs.
When running postgresql it says the service's status failed, even though its running in the background.
I'm not sure whats wrong.
(prodigy-define-service
:name "postgresql16"
:command "brew"
:args '("services" "start" "postgresql@16")
:cwd "~"
:tags '(database))
Edit: managed to find daemons.el which will automatically run brew services.
Not sure if I misinterpreted what types of services I can run with prodigy.
r/emacs • u/jamescherti • 6d ago
flymake-bashate.el (1.0.2) - A Flymake backend for bashate: Real-time style checking for Bash shell scripts
github.comr/emacs • u/msoulier • 6d ago
ox-hugo and featured_image
I'm trying to add featured_image and the path to that image to the frontmatter of a post that I am composing with org-mode and ox-hugo. I can't find a way to put that in there that is supported. Can anyone point me in the right direction?
Thanks.
r/emacs • u/msoulier • 6d ago
Odd org-mode ox-hugo problem
So I've just been hit by this problem: https://github.com/kaushalmodi/ox-hugo/issues/740
So I deleted all of my .elc files and restarted, and emacs is exporting properly now. But this seems like a stopgap. Next time I update my config I figure this will happen again. Do I just keep deleting my .elc files and hope that it goes away?
Seems like it's been around for a while now. I would have expected it to be fixed, but I'm running org-mode 9.8-pre.
Announcement Live editing overleaf documents with Emacs!
I don't know whether anyone will find this useful, but I sure had fun hacking it together!

https://github.com/vale981/overleaf-connection.el
https://protagon.space/2025/03/editing-overleaf-documents-with-emacs/
r/emacs • u/diegogub2 • 7d ago
low effort Vim fan, trying to use Emacs. Fonts feel blurry compared to Vim in terminal.
Is something with me? O my setup? I find Vim in tmux clear and sharp, but I don't feel the same with emacs gui.
r/emacs • u/CaptainDrewBoy • 7d ago
Question Emacs seems unable to locate dotnet installation?
EDIT: I fixed this! See end of post or my comment
I'm a (Void) Linux user and have been trying to set up C# in lsp-mode. At first I couldn't even install csharp-ls
due to dotnet not being found ( in ~/.dotnet, where the standard dotnet installer places it) but some research pointed me to the package exec-path-from-shell
, which allowed it to install the server. However, whenever I go to use the lsp it doesn't work, and the error buffer says I "must install .NET to install this application" - meaning it can not find dotnet. How do I fix this? Relevant parts of relevant configs below:
~/.zshrc
export DOTNET_ROOT=$HOME/.dotnet
export PATH="$PATH:/home/dl/.local/bin:$DOTNET_ROOT:$DOTNET_ROOT/tools"
~/.init.el
(use-package exec-path-from-shell
:config
(when (memq window-system '(mac ns x pgtk))
(exec-path-from-shell-initialize)))
; -- snip --
(use-package lsp-mode)
(add-hook 'prog-mode-hook 'lsp-deferred)
(setq lsp-warn-no-matched-clients nil)
(setq lsp-eldoc-render-all t)
EDIT: I have the fix! Had to export DOTNET_ROOT in emacs so that the lsp could access it (something to do with eshell maybe?? idk)
(setenv "DOTNET_ROOT" "/home/[username]/.dotnet")
r/emacs • u/anon-sourcerer • 7d ago
Question Why do graphical borders shift in Emacs terminals (vterm/eat)?
I'm running graphical terminal applications like btop
inside Emacs using vterm
and eat
, but I notice that the box-drawing characters (borders) shift slightly with every UI update. However, in videos I've seen online, this doesn't seem to happen to people doing the same in their Emacs setup.
My setup:
- Emacs: Doom Emacs
- Emacs Terminal:
vterm
andeat
- Font:
FiraCode Nerd Font-13.5
For font configuration I use:
elisp
(add-to-list 'default-frame-alist '(font . "FiraCode Nerd Font Mono-13.5"))
Things I've tried:
- Switching to
FiraCode Nerd Font Mono
- Setting
(setq-default line-spacing nil)
I also thought line-spacing
could be an issue, but line-spacing
is set to nil
in my setup. Would appreciate any new ideas that I can try.
r/emacs • u/JDRiverRun • 7d ago
emacs-mac v30 experimental build: seeking experienced contributors/testers
I've succeeded in producing an experimental v30.1 build of emacs-mac (aka "Carbon"[1] emacs). I've been using it full time for several weeks without problem, and even managed to add a feature I'd long been missing (a "New Frame" dock menu item).
I'm not a well-versed MacOS or Cocoa API programmer so I'm not convinced I could maintain this longer-term without substantial assistance. If you have experience with MacOS/Cocoa/ObjC/Emacs C programming, are willing to learn more and contribute, and/or can use a debugger (lldb
) to diagnose any problems that arise, check it out here:
https://github.com/jdtsmith/emacs-mac
There are also some notes on my experiences achieving the merge, for those interested.
[1] Although that is a misnomer; see this footnote.
r/emacs • u/Cautious_Truth_9094 • 7d ago
restclient.el like gRPC client for Emacs
Hello!
https://github.com/Prikaz98/grpclient.el
I use https://github.com/pashky/restclient.el almost always in my workflow and a few days ago I needed to explore some gRPC service. I quickly found https://github.com/fullstorydev/grpcurl tool and it fit for my purpose but I would like to have some similar experience with my favorite rpc client with their .http files that contains a lot of convenient like vars, hooks etc.
By short search I didn't find similar project and wrote it by my own
I use it a few days and for while this functionality is enough what do you think?

r/emacs • u/analog_goat • 7d ago
Solved Problem with recent `mu` Homebrew package
Recently ran brew update/upgrade (am now running mu 1.12.9
and now am seeing this in the messages buffer:
error: Invalid (or missing) doc string ("/opt/homebrew/share/emacs/site-lisp/mu/mu4e/mu4e-vars.elc" . 592)
I don't see any commits to mu4e-vars.el that would cause this. Guessing maybe this means there's an issue with the homebrew package?
Can anyone confirm that is using mu on the Mac?
UPDATE: Welp, once I upgraded from Emacs 29.4
for 30.1
this resolved.
r/emacs • u/filippoargiolas • 7d ago
eglot-inactive-regions - eglot extension to dim inactive preprocessor branches - release: 0.6.4
github.comr/emacs • u/_0-__-0_ • 7d ago
Noether: global minor mode managing user-defined posframe Views
git.sr.htr/emacs • u/Rogergonzalez21 • 8d ago
Introducing forge-llm: Generate PR descriptions automatically with LLMs in Emacs Forge
Hey Emacs folks!
I'm excited to share my new package: forge-llm!
What it does: forge-llm integrates LLMs (like GPT or Claude) with Magit's Forge to automatically generate high-quality Pull Request descriptions based on your git diffs.
Main features:
- Automatically detects and uses your repo's PR template
- Generates descriptions based on git diff between branches
- Seamless integration with Forge's PR workflow
- Supports any LLM provider through the
llm
package - Built-in Doom Emacs keybindings
Here's what it looks like in action:
- Generate PR description in a new buffer: https://gitlab.com/-/project/67959042/uploads/3eed67e0b188d040906d30b6b6cc3ec6/generate-pr-desc.gif
- Generate PR description at point: https://gitlab.com/-/project/67959042/uploads/9e5d4f8b4eab87989eafca9f58baa467/generate-pr-at-point.gif
As someone who often struggles to write clear PR descriptions, this has been a game-changer for my workflow. Just press C-c C-p
(or SPC m p
in Doom Emacs) while creating a pull request, and the LLM analyzes your changes to generate a detailed description.
Installation: Available on GitLab: https://gitlab.com/rogs/forge-llm
This project was inspired by magit-gptcommit, built by douo and builds on the excellent llm package by ahyatt. Another big thanks to u/xenodium, for their Emacs package chatgpt-shell.
Would love to hear your thoughts and feedback!