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

30
init.el
View File

@@ -40,20 +40,11 @@
;;; Load optional configurations
;; Development configuration - Modern version with Eglot
;; Development configuration - Eglot-based (init-eglot.el provides base LSP support)
;; Use M-x enable-dev-mode-modern for additional dev tools (yasnippet, origami, etc.)
(let ((dev-config-modern (expand-file-name "lisp/emacs-dev-config-modern.el" user-emacs-directory)))
(when (file-exists-p dev-config-modern)
(load-file dev-config-modern)
(add-hook 'emacs-startup-hook
(lambda ()
(run-with-timer 1 nil
(lambda ()
(message "Modern development mode available. Use M-x enable-dev-mode-modern to activate.")))))))
;; Legacy development configuration (lsp-mode) - kept for compatibility
(let ((dev-config (expand-file-name "lisp/emacs-dev-config.el" user-emacs-directory)))
(when (file-exists-p dev-config)
(load-file dev-config)))
(load-file dev-config-modern)))
;; SHR Configuration (for HTML rendering in mu4e, elfeed, eww)
(let ((shr-config (expand-file-name "lisp/shr-config.el" user-emacs-directory)))
@@ -77,19 +68,6 @@
(error
(message "mu4e configuration available but mu4e not installed. Install mu4e package to enable email.")))))
;; Beancount Configuration
(let ((beancount-config (expand-file-name "lisp/beancount-config.el" user-emacs-directory)))
(when (file-exists-p beancount-config)
(load-file beancount-config)
(message "Beancount portfolio tracking configuration loaded.")))
;; Portfolio Tracker Configuration
(with-eval-after-load 'tabulated-list
(let ((portfolio-tracker (expand-file-name "lisp/portfolio-tracker-v2.el" user-emacs-directory)))
(when (file-exists-p portfolio-tracker)
(load-file portfolio-tracker)
(message "Portfolio tracker with live prices loaded."))))
;; Keybinding fixes are now integrated into the respective configuration files:
;; - Elfeed fixes in lisp/elfeed-config.el
;; - Portfolio tracker fixes in portfolio-tracker-v2.el
@@ -130,8 +108,6 @@
(insert " '(diff-hl-global-modes t)\n")
(insert " '(neo-show-hidden-files t)\n")
(insert " '(neo-window-width 40)\n")
(insert " '(url-proxy-services\n")
(insert " '((\"https\" . \"eudewerepo001:3128\") (\"http\" . \"eudewerepo001:3128\")))\n")
(insert " '(safe-local-variable-values\n")
(insert " '((company-backends\n")
(insert " (company-qml company-capf company-files company-yasnippet))\n")