summaryrefslogtreecommitdiff
path: root/modules/prog-general.el
AgeCommit message (Collapse)Author
2025-11-03refactor: Replace doom-modeline with mood-line and remove deprecated tree-sitterCraig Jennings
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>
2025-10-29fix(dirvish): move deadgrep from D to G, preserve dired-do-delete on DCraig Jennings
The previous commit incorrectly moved deadgrep to 'D', which conflicts with the important dired-do-delete command (immediate delete of marked files). This commit moves deadgrep to 'G' instead. ## Changes **prog-general.el:** - Move cj/deadgrep-here from 'D' to 'G' (was dired-do-chgrp, rarely used) **dirvish-config.el:** - Updated Commentary to document both 'D' and 'G' keybindings - 'D' remains dired-do-delete (standard dired immediate delete) - 'G' is now deadgrep search ## Final Keybinding Map | Key | Binding | Purpose | |-----|-------------------------------|--------------------------------| | d | cj/dirvish-duplicate-file | Duplicate with "-copy" suffix | | D | dired-do-delete | Delete marked files (standard) | | g | dirvish-quick-access | Quick directory menu | | G | cj/deadgrep-here | Search with deadgrep | Capital G is mnemonic for "Grep" and doesn't conflict with important dired commands. dired-do-chgrp is rarely used and not a loss. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-29feat(dirvish): add file duplication with 'd' key, move deadgrep to 'D'Craig Jennings
This commit adds a convenient file duplication function to dirvish and reorganizes keybindings to avoid conflicts. ## Changes **1. New function: cj/dirvish-duplicate-file (dirvish-config.el:150)** Duplicates the file at point with "-copy" suffix before the extension: - report.pdf → report-copy.pdf - script.el → script-copy.el - README → README-copy Features: - Prevents duplicating directories (files only) - Checks if target exists and prompts to overwrite - Refreshes buffer automatically after copying - Shows clear message with old and new names **2. Keybinding changes** dirvish-config.el: - Bound 'd' to cj/dirvish-duplicate-file (was dired-flag-file-deletion) - Updated Commentary section to document new binding prog-general.el: - Moved cj/deadgrep-here from 'd' to 'D' (capital D) - More mnemonic: D for Deadgrep - Avoids conflict with new duplicate function ## Rationale The 'd' key is prime real estate in file managers, and duplicating files is a very common operation. The standard dired-flag-file-deletion is still available via 'x' or the mark-and-delete workflow. Deadgrep on 'D' is more discoverable (capital D for Deadgrep) and less likely to be pressed accidentally. ## Usage In dirvish, navigate to a file and press: - 'd' - Duplicate file with "-copy" suffix - 'D' - Search with deadgrep in current directory 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-28refactor:prog-general: Simplify yasnippet configurationCraig Jennings
Replace the `setq yas-snippet-dirs` with `list` function for better readability and add `yas-reload-all` to ensure snippets are reloaded. Remove `ivy-yasnippet` configuration as it is not required.
2025-10-27feat:which-key: Add descriptive labels for custom keymapsCraig Jennings
Enhance which-key integration by providing detailed descriptions for new key bindings across multiple modules. This improves the usability of custom keymaps by clarifying the purpose of each keybinding, making it easier for users to navigate and understand different menus and options available within the configuration. This update ensures that all custom keymaps now display a descriptive label in the which-key popup to explain their functionality, aiding users in identifying keymap purposes promptly.
2025-10-20feat:programming: Enhance language-specific keybindings and setupCraig Jennings
Add language-specific keybindings and configurations for C, Go, Python, and shell scripting panels. Introduce system utility function declarations and improve keybinding consistency across languages. Implement keybindings for debug, format, and static analysis tools tailored to each programming language, enhancing the developer experience and workflow efficiency.
2025-10-20feat: prog-general: integrate LSP for improved code intelligenceCraig Jennings
Add Language Server Protocol support for intelligent code completion and navigation across multiple languages. Configure `lsp-mode` and `lsp-ui` packages with performance optimizations and enhanced completion features.
2025-10-20feat: prog-general: Pin Go grammar version for Emacs compatibilityCraig Jennings
Add cl-lib requirement and pin Go grammar to v0.19.1 to ensure compatibility with Emacs 30.2 font-lock queries. Remove redundant hs-minor-mode hook from bicycle configuration.
2025-10-20refactor: prog/python: Remove defers and update symbolsCraig Jennings
- Remove deferred loading from various use-package declarations to streamline. - Replace deprecated `define-key` with `keymap-set` in `dired-mode-map`. - Update Python configuration to prefer `python-ts-mode` over `python-mode` and ensure associated modes and hooks work with `python-ts-mode`. - Clean up deprecated `auto-mode-alist` usage to reflect the transition to Tree-sitter based major modes.
2025-10-12changing repositoriesCraig Jennings