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:
@@ -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."
|
||||
|
||||
Reference in New Issue
Block a user