Remove legacy dev config and consolidate to Eglot-based setup

- Delete emacs-dev-config.el (650 lines of legacy lsp-mode config)
- Update emacs-dev-config-modern.el to use Company instead of Corfu
- Remove legacy config loading from init.el and init-utils.el
- Update CLAUDE.md documentation to reflect new architecture

New structure:
- init-eglot.el: LSP support (auto-enables for programming modes)
- emacs-dev-config-modern.el: Optional extras via M-x enable-dev-mode-modern
- init-completion.el: Company completion (single source of truth)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
Jens Luedicke
2025-12-12 10:38:44 +01:00
parent ba8b24b1d9
commit c6d72d79ed
8 changed files with 64 additions and 679 deletions

View File

@@ -9,9 +9,7 @@
"Flag indicating whether modern development mode is enabled.")
(defvar dev-mode-modern-packages
'(;; Core development tools
eglot ; Only needed for Emacs < 29
corfu corfu-terminal cape ; Modern completion
'(;; Core development tools (Eglot built-in for Emacs 29+)
consult-eglot ; Consult integration with Eglot
flycheck ; Can still use alongside Flymake
yasnippet
@@ -19,26 +17,27 @@
multiple-cursors expand-region
hl-todo rainbow-delimiters
origami ; Code folding
;; Version control
magit
forge ; GitHub/GitLab integration
magit-delta ; Better diffs if delta is installed
treemacs-magit
;; Languages
clang-format
qml-mode
;; Debugging
dap-mode)
"List of packages for modern development mode.")
"List of packages for modern development mode.
Company completion is configured globally in init-completion.el.
Eglot LSP is configured in init-eglot.el.")
(defun dev-mode-modern-ensure-packages ()
"Ensure all modern development packages are installed."
(dolist (package dev-mode-modern-packages)
(unless (or (package-installed-p package)
(and (eq package 'eglot) (fboundp 'eglot))) ; Eglot is built-in for Emacs 29+
(unless (package-installed-p package)
(package-refresh-contents)
(package-install package))))
@@ -58,15 +57,14 @@
(define-key eglot-mode-map (kbd "C-c l s") 'consult-eglot-symbols))))
(defun dev-mode-modern-setup-completion ()
"Setup modern completion with Corfu."
;; Corfu is already configured in init-completion.el
;; Add development-specific configurations here
(with-eval-after-load 'corfu
;; More aggressive completion in programming modes
(add-hook 'prog-mode-hook
(lambda ()
(setq-local corfu-auto-delay 0.1)
(setq-local corfu-auto-prefix 1)))))
"Setup completion for development.
Company is configured globally in init-completion.el.
This function adds development-specific tweaks."
;; More aggressive completion in programming modes
(add-hook 'prog-mode-hook
(lambda ()
(setq-local company-idle-delay 0.1)
(setq-local company-minimum-prefix-length 1))))
(defun dev-mode-modern-setup-yasnippet ()
"Configure yasnippet for code snippets."