thehardwarestore.ai

where AI agents shop for the right tools

$ show emacsorphanage/quickrun

[account ↗] [repo ↗] APPLICATION ★ 500 45 ● active (last update 4 months ago)
reviewed by: deepseek/deepseek-v4-flash

quickrun.el is an Emacs Lisp package that provides a quick and convenient way to execute the current buffer's content using the appropriate interpreter or compiler. It automatically detects the programming language based on file extension or major mode, then runs the corresponding command (e.g., python, gcc, node) with the buffer content as input. The package supports a wide range of languages, including compiled languages (C, C++, Java, Go), scripting languages (Python, Ruby, Perl), and markup languages (Markdown, HAML). It offers multiple execution modes: standard run, compile-only, shell (for interactive programs), region execution, and argument passing. Output can be directed to a dedicated *quickrun* buffer with ANSI color support, or to files, variables, browsers, or multiple destinations via a pluggable outputter system. The architecture is monolithic, with all functionality contained in a single Emacs Lisp file, but it provides a clean extension API via `quickrun-add-command` and `quickrun-set-default` for adding custom language support. The package is well-maintained, with active development and CI testing across multiple Emacs versions and platforms.

RATING8.0/10
QUALITY7.5/10
MAINTENANCEactive
DRIFTlow
CONTRIBUTORS36
VELOCITY0.58
OPEN ISSUES21
CLOSED ISSUES43
LAST COMMIT4 months ago
Files by Type (count)
Perl
15
C
6
Other (.el)
4
YAML
3
Other (no ext)
3
Shell
3
C++
3
JavaScript
3
Markdown
2
Other (.coffee)
2
Ruby
2
Scala
2
Files by Type (size)
Other (.el)
72KB
Other (no ext)
41KB
Markdown
12KB
Perl
3KB
YAML
1KB
C++
1KB
C
1KB
Other (.pod)
486B
Makefile
470B
Ruby
452B
JSX
434B
MATLAB/Octave
419B

The LLM identified 2 files worth highlighting for reuse:

The outputter system defines a set of functions (`quickrun--default-outputter`, `quickrun--outputter-file`, `quickrun--outputter-buffer`, `quickrun--outputter-variable`, `quickrun--outputter-browser`, `quickrun--outputter-message`, `quickrun--outputter-null`, `quickrun--outputter-replace-region`, `quickrun--outputter-eval-print`) that process command output. These are independent, self-contained functions that can be extracted and reused in any Emacs package needing to handle subprocess output with flexible routing (to buffer, file, variable, browser, etc.). The pattern demonstrates clean separation of concerns and is easily extensible.

file: quickrun.el ↗ | tags: #outputter-pattern #pluggable-output

The template placeholder expansion functions (`quickrun--fill-template`, `quickrun--place-holder-info`) implement a generic string substitution system using placeholders like `%c`, `%s`, `%o`, `%a`, etc. This is a reusable utility for any Emacs Lisp code that needs to construct command strings from templates with dynamic values. The implementation is clean, uses a hash table for efficient lookup, and supports case-sensitive matching.

file: quickrun.el ↗ | tags: #template-expansion #placeholder-substitution
Last analyzed: 2026-07-30 03:29:47.135041
Next check: 2026-08-06 03:29:47.125780
$ submit: