| Age | Commit message (Collapse) | Author |
|
Updated DONE task to reflect that we built a custom modeline instead of
just switching to mood-line. Added comprehensive details about features,
architecture, and bug fixes.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
|
Changes:
- Added org-appear package to show emphasis markers only when editing
- Changed org-fontify-emphasized-text from nil to t to render bold/italic
- Updated comment for org-hide-emphasis-markers to reference org-appear
- org-appear reveals markers (* / _) only when cursor is on them
- Also shows link markup and sub/superscripts when editing
- Updated todo.org to mark org-appear task as DONE (Method 2: 3/5)
Result: Cleaner org-mode editing experience with visual emphasis while
maintaining clean appearance when not editing.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
|
Add comprehensive unit tests for various Emacs Lisp functions,
covering M3U file handling, music file validation, and contact
capture template finalization:
- Tests for appending tracks to M3U files Tests for recursive music
- collection Tests for completion table creation Tests for
- extracting M3U basenames and files Tests for M3U file parsing
- Tests for filename sanitization Tests for directory and file
- validity checks Tests for org-contacts capture template
- finalization
Each test validates normal, boundary, and error conditions. These
tests improve code reliability by verifying expected behavior across
a range of scenarios.
|
|
Two improvements for better diff experience:
1. **Upgraded cj/diff-buffer-with-file to use ediff** (custom-buffer-file.el)
- Replaced basic unified diff with ediff-current-file
- Now uses existing ediff config (horizontal split, j/k navigation)
- C-; b D now launches interactive ediff instead of text diff
- Simplified from 17 lines to 5 lines
- Removed TODO comment about difftastic integration
2. **Added difftastic for git diffs** (vc-config.el)
- Installed binary: difftastic 0.64.0 via pacman
- Added difftastic.el package integrated with magit
- Keybindings in magit-diff:
- D → difftastic-magit-diff (dwim)
- S → difftastic-magit-show
- Provides structural, language-aware diffs for git changes
- Better visualization of code structure changes
**Result:**
- Buffer vs file: Interactive ediff (can navigate, merge, revert)
- Git history: Structural difftastic (language-aware visualization)
- Right tool for each job
Serves Method 3: "Make Fixing Emacs Frictionless"
- Better diffs = easier debugging and code review
Updated todo.org: Method 1 progress 7/13 (was 5/13)
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
|
Cleanup of already-fixed issue from commit 196b289.
**Background:**
- Bug was already fixed on Nov 2, 2025 (commit 196b289)
- Original error: "void-variable go-ts-mode-map"
- Fix moved keybindings from :bind clause to hook function
- Keybindings now set after mode loads via cj/go-mode-keybindings
**This Cleanup:**
- Removed unused forward declarations (lines 34-35):
- (defvar go-ts-mode-map)
- (defvar go-mod-ts-mode-map)
- These were artifacts from the original buggy implementation
- No longer needed since keybindings use local-set-key in hook
**Testing:**
- ✓ File compiles cleanly without warnings
- ✓ No references to these variables exist in codebase
- ✓ Keybindings work correctly via hook function
Updated todo.org to mark task as complete, documenting that it was
already fixed and today's work was just cleanup.
Serves Method 1: "Make Using Emacs Frictionless"
- Quick win: ~2 minutes (just cleanup)
- Reduces code clutter
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
|
Fixes void-function error when pressing C-; v d keybinding.
**The Problem:**
- Keybinding C-; v d referenced undefined function
- Caused "Symbol's function definition is void" error
- Prevented interactive jumping to git diff hunks
**The Solution:**
- Added cj/goto-git-gutter-diff-hunks to modules/vc-config.el
- Uses consult-line with regex ^[+\-] to find diff markers
- Enables interactive selection of any changed line in buffer
- Properly documented with descriptive docstring
**Function:**
```elisp
(defun cj/goto-git-gutter-diff-hunks ()
"Jump to git-gutter diff hunks using consult.
Searches for lines starting with + or - (diff markers) and allows
interactive selection to jump to any changed line in the buffer."
(interactive)
(require 'git-gutter)
(consult-line "^[+\\-]"))
```
**Testing:**
- ✓ No linting issues (checkdoc clean)
- ✓ Compiles cleanly (byte-compile warnings are expected deferred loads)
- ✓ Function follows existing code patterns
Serves Method 1: "Make Using Emacs Frictionless"
- Quick win: estimated 15 min, actual 5 min
- Removes error and enables useful git workflow feature
Updated todo.org to mark task complete.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
|
Method 2 improvements for cleaner, faster configuration:
1. **Replaced doom-modeline with mood-line** (modules/modeline-config.el)
- Simplified from 70+ lines to ~10 lines (-40 lines net)
- mood-line is lightweight, minimal, inspired by doom-modeline
- Better performance with no dependencies
- Keeps all essential features: buffer status, major mode, VCS,
flycheck, cursor position, multiple-cursors counters
2. **Removed deprecated tree-sitter package** (modules/prog-general.el)
- Deleted `(use-package tree-sitter)`
- Now relies solely on Emacs 29+ built-in treesit with treesit-auto
- treesit-auto continues to manage grammars automatically
- No functionality lost, cleaner dependency tree
Both changes serve Method 2: "Stop Problems Before They Appear"
- Simpler code = fewer bugs
- Fewer dependencies = less maintenance
- Native features = better integration
Updated todo.org to mark both tasks complete [2/5 in Method 2].
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
|
Completed tasks:
✅ Fix video/audio recording module [#B]
✅ Add diagnostic command cj/recording-list-devices [#A]
✅ Add device selection UI [#A]
✅ Improve error messages [#B]
✅ Make device detection more flexible [#B]
✅ Add comprehensive test coverage [#A]
Work summary:
- Created 2 device selection workflows (manual + quick call setup)
- Implemented smart device grouping with Bluetooth MAC normalization
- Added diagnostic listing command
- Built comprehensive test suite (9 files, 83 tests, 100% pass)
- Refactored code for testability
- Fixed all linting warnings
Remaining open:
- Validate recording startup [#B]
- Add device testing command [#C]
- Recording status display, presets, history (all [#C])
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
|
Add interactive device selection to fix recording with multiple audio devices.
New features:
- cj/recording-list-devices (C-; r d) - Show all available audio sources
- cj/recording-select-devices (C-; r s) - Interactively select mic/monitor
- cj/recording-parse-sources - Parse pactl output into structured data
- Enhanced cj/recording-get-devices with graceful fallback to manual selection
Improvements:
- Works with PulseAudio and PipeWire
- Supports USB devices (Jabra SPEAK 510)
- Supports Bluetooth devices
- Supports built-in laptop audio
- Shows device state (RUNNING, SUSPENDED) during selection
- Better error messages with actionable suggestions
- Device selection persists across recordings
Fixes recording breakage when plugging in external audio interfaces.
Addresses Method 1 (Make Using Emacs Frictionless) from V2MOM.
Closes #[#B] Fix video/audio recording module sub-tasks:
- Add diagnostic command
- Add device selection UI
- Improve error messages
- Make device detection more flexible
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
|
Print operations are now safer and more intuitive:
Keybinding changes:
- C-; b p → copy file path (safe, common action)
- C-; b P → print to PostScript (dramatic, requires shift)
Print function improvements:
- Add y-or-n-p confirmation before printing
- C-u prefix skips confirmation and enables color printing
- Prevents accidental waste of paper/toner
Serves V2MOM Values:
- Intuitive: Dramatic actions require shift key
- Intuitive: Prevents muscle memory mistakes
- Simple: Reliability through confirmation
Also updated docs/NOTES.org with Makefile availability note.
Closes inbox items from emacs-inbox-zero session (2025-11-03).
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
|
todo.org updates:
- Added 2 new inbox items about printing keybindings
- Reordered Method 1 tasks by priority
- Removed blank lines (linter formatting)
music-config.el improvements:
- Added validation checks to cj/music--valid-file-p and cj/music--valid-directory-p
- Fixed regex escaping in cj/music--m3u-file-tracks
- Added new cj/music--append-track-to-m3u-file function for testing
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
|
Created emacs-inbox-zero session definition and validated it by
executing the workflow. Processed 5 inbox items to zero in 10 minutes.
Session Framework:
- Created docs/sessions/ directory for session definitions
- Added create-session.org (meta-workflow for creating sessions)
- Added emacs-inbox-zero.org (weekly inbox processing workflow)
- Updated NOTES.org with terminology and session tracking
Inbox Zero Results:
- Deleted 1 duplicate task (chime fix)
- Moved 2 to Method 1: org-capture performance [#B], EMMS keybindings [#D]
- Moved 2 to someday-maybe: dashboard icons, persistence files
- Recognized perfectionism pattern (V2MOM Obstacle #4)
Learnings captured in living documents:
- Save Q&A answers incrementally during session creation
- Capture useful context during triage (impact estimates, theories)
- Validation by execution catches what theory misses
Files reorganized:
- Renamed docs files to UPPERCASE for consistency
- Removed SESSION-HANDOFF-ACTIVE-PROJECT.org (replaced by NOTES.org)
V2MOM Metrics fulfilled:
- Weekly triage consistency: ✓ (2025-11-01)
- Active todo count: 29 items (working toward < 20)
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
|
|
|
- wrote a v2mom about what the config should deliver
- focused the inbox only on tasks related to the v2mom
- moved all other tasks to someday-maybe
|
|
Introduce detailed session handoff documents for Craig's Emacs
configuration project. These provide strategic clarity using the
V2MOM framework and outline current progress, project goals,
recommended actions, and key insights. This addition aims to
streamline handovers and ensure continuity between sessions,
facilitating a systematic approach to addressing identified
challenges and opportunities for improvement.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|