aboutsummaryrefslogtreecommitdiff
path: root/modules/prog-general.el
Commit message (Collapse)AuthorAgeFilesLines
* refactor: Replace doom-modeline with mood-line and remove deprecated tree-sitterCraig Jennings2025-11-031-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | 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].
* fix(dirvish): move deadgrep from D to G, preserve dired-do-delete on DCraig Jennings2025-10-291-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* feat(dirvish): add file duplication with 'd' key, move deadgrep to 'D'Craig Jennings2025-10-291-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* refactor:prog-general: Simplify yasnippet configurationCraig Jennings2025-10-281-6/+2
| | | | | | | 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.
* feat:which-key: Add descriptive labels for custom keymapsCraig Jennings2025-10-271-0/+9
| | | | | | | | | | | | 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.
* feat:programming: Enhance language-specific keybindings and setupCraig Jennings2025-10-201-1/+36
| | | | | | | | | 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.
* feat: prog-general: integrate LSP for improved code intelligenceCraig Jennings2025-10-201-0/+44
| | | | | | | 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.
* feat: prog-general: Pin Go grammar version for Emacs compatibilityCraig Jennings2025-10-201-3/+11
| | | | | | 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.
* refactor: prog/python: Remove defers and update symbolsCraig Jennings2025-10-201-18/+37
| | | | | | | - 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.
* changing repositoriesCraig Jennings2025-10-121-0/+299