Skip to content

Releases: shackra/backpack

Backpack Emacs v0.4.0

02 Apr 07:52

Choose a tag to compare

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 read function -- 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/conflicts levels), required fonts, example gear! snippets, and pinned package versions
  • Features a Doom Emacs-inspired UI with a header bar, nerd-icons support (with graceful fallback), cursor-face highlighting, 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-a cycles between first non-whitespace character and beginning of line
  • :editing emacs-lisp -- Emacs Lisp support with lispy and let-completion
    Improvements
  • :doctor keyword 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.org replaced with README.md. The manual feature listing is replaced by a reference to backpack-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-list calls passing wrong type
  • Fix yaml-mode activation for .yml files

Full Changelog: v0.3.0...v0.4.0

v0.3.0

02 Feb 02:53
a939d95

Choose a tag to compare

What's Changed

  • new: [vibe code] Improve usage of elpaca, add new command and more by @shackra in #8

Full Changelog: v0.2.1...v0.3.0

v0.2.1: Fast initialization times

13 Oct 21:29
v0.2.1
92b452c

Choose a tag to compare

What's Changed

  • chg: Reduce startup time of GNU Emacs by @shackra in #6

Full Changelog: v0.2.0...v0.2.1

v0.2.0

10 Oct 18:31
v0.2.0

Choose a tag to compare

What's Changed

  • chg: Rename pouch :programming to :editing by @shackra in #3
  • new: Completion with Vertico, turned on by default by @shackra in #4

Full Changelog: v0.1.0...v0.2.0

v0.1.0

08 Oct 07:47
v0.1.0
a5b099f

Choose a tag to compare

What's Changed

New Contributors

Full Changelog: https://github.com/shackra/backpack/commits/v0.1.0