Releases: shackra/backpack
Releases · shackra/backpack
Backpack Emacs v0.4.0
This release introduces the self-documenting inventory browser, a major new feature that makes Backpack fully self-documenting. It also adds support for 8 new programming languages and file formats, a refreshed README, and numerous quality-of-life improvements.
Highlights
Self-Documenting Inventory Browser (M-x backpack-inventory)
Backpack is now self-documenting. Press C-h B or run M-x backpack-inventory to browse all available pouches, gears and flags interactively. The inventory:
- Discovers pouches and gears automatically from the filesystem
- Parses gear source files on demand using Emacs's
readfunction -- no annotations or metadata files required - Shows three navigable levels: pouch listing -> gear listing -> gear detail
- Displays enabled/disabled/default-on status, flags, external tool requirements (with
required/optional/conflictslevels), required fonts, examplegear!snippets, and pinned package versions - Features a Doom Emacs-inspired UI with a header bar,
nerd-iconssupport (with graceful fallback),cursor-facehighlighting, and tooltips - Opens in a right side window by default (configurable via
backpack-inventory-display-action)
New Language & File Format Support
- Haskell (
:editing haskell) -- with LSP, tree-sitter, and org-babel integration - Rust (
:editing rust) -- with LSP, tree-sitter, cargo integration, and org-babel support - TOML (
:editing toml) -- with tree-sitter support - YAML (
:editing yaml) -- with tree-sitter support - Terraform (
:editing terraform) -- with LSP and tree-sitter support - Markdown (
:editing markdown) -- major mode for Markdown files - reStructuredText (
:editing rst) -- major mode for rST files - LaTeX (
:editing latex) -- AUCTeX with tree-sitter support
New Default Features
- which-key is now enabled by default in
:config default-- displays available keybindings in a popup as you type. Uses the built-in version on Emacs 30+, installs the package on Emacs 29.x. Disable with-which-key. *Help*buffers now open in a right side window (40% width) instead of splitting the current window.
New Gears & Tools
:tools cool-motions-- smart motions:C-acycles between first non-whitespace character and beginning of line:editing emacs-lisp-- Emacs Lisp support with lispy and let-completion
Improvements:doctorkeyword extended -- now supports requirement levels:required,optional(default), and(conflicts "other-binary"). The inventory groups tools by level when a gear uses mixed levels.- Package display -- gear detail view now shows all pinned packages with short refs and GitHub repo info where applicable.
- Tree-sitter fixes -- correctly set hooks and remap major modes to tree-sitter modes across all language gears.
- WSL clipboard fix -- killed/copied text now correctly reaches the Windows clipboard under WSL.
- saveplace enabled -- remembers cursor position in previously visited files.
- savehist location -- history file moved to the nonessential cache directory.
- Elpaca ref updates -- elpaca now properly updates repositories when the pinned ref changes in a leaf block.
- Lexical binding -- enabled on all files that were missing it.
- Magit and friends updated -- bumped to latest pinned refs.
Documentation
- AGENTS.md -- comprehensive documentation for AI coding agents, covering architecture, boot sequence, gear file conventions, the
gear!/gearp!macro system, naming conventions, the inventory system, testing, and all project rules. - README converted to Markdown --
README.orgreplaced withREADME.md. The manual feature listing is replaced by a reference tobackpack-inventory, since the starter kit is now self-documenting.
Bug Fixes
- Fix mu4e header lengths
- Fix hard-coded paths replaced with variables
- Fix
add-to-listcalls passing wrong type - Fix yaml-mode activation for
.ymlfiles
Full Changelog: v0.3.0...v0.4.0
v0.3.0
v0.2.1: Fast initialization times
What's Changed
Full Changelog: v0.2.0...v0.2.1