Emacs tweaks

This commit is contained in:
John Doty 2023-08-26 13:55:44 +00:00
parent 540fd4eee4
commit 8898d4f8c6
2 changed files with 41 additions and 27 deletions

View file

@ -31,7 +31,7 @@
'(flycheck-python-flake8-executable "python3") '(flycheck-python-flake8-executable "python3")
'(font-lock-global-modes t) '(font-lock-global-modes t)
'(font-lock-maximum-size nil) '(font-lock-maximum-size nil)
'(font-lock-support-mode 'jit-lock-mode) '(font-lock-support-mode 'jit-lock-mode t)
'(global-auto-revert-mode t) '(global-auto-revert-mode t)
'(global-font-lock-mode t nil (font-lock)) '(global-font-lock-mode t nil (font-lock))
'(ido-enable-flex-matching t) '(ido-enable-flex-matching t)
@ -58,7 +58,7 @@
'(org-odd-levels-only t) '(org-odd-levels-only t)
'(org-todo-keywords '((sequence "TODO" "|" "DONE" "ABANDONED" "DEFERRED"))) '(org-todo-keywords '((sequence "TODO" "|" "DONE" "ABANDONED" "DEFERRED")))
'(package-selected-packages '(package-selected-packages
'(lsp-pyright blacken nyan-mode earthfile-mode compat adaptive-wrap terraform-mode deadgrep protobuf-mode bazel howm python-mode color-theme-sanityinc-solarized monokai-theme rust-mode tide typescript-mode modus-themes tree-sitter flycheck-rust eglot ink-mode prettier-js zig-mode esup gnu-elpa-keyring-update lsp-hack hack-mode filladapt lsp-ui yaml-mode wgrep fsharp-mode company-lsp cquery mustache-mode clang-format projectile dash-functional mocha add-node-modules-path rjsx-mode xref-js2 js2-refactor company omnisharp geiser cider clojure-mode graphviz-dot-mode multi-term xterm-color thrift markdown-mode tuareg merlin ag use-package flycheck dockerfile-mode js2-mode web-mode tss switch-window paredit magit lua-mode go-mode go-autocomplete exec-path-from-shell csharp-mode color-theme-monokai auto-complete auto-complete-nxml flymake flyspell json-mode popup ruby-mode company-jedi elm-mode monky color-theme-sanityinc-tomorrow)) '(vterm lsp-pyright blacken nyan-mode earthfile-mode compat adaptive-wrap terraform-mode deadgrep protobuf-mode bazel howm python-mode color-theme-sanityinc-solarized monokai-theme rust-mode tide typescript-mode modus-themes tree-sitter flycheck-rust eglot ink-mode prettier-js zig-mode esup gnu-elpa-keyring-update lsp-hack hack-mode filladapt lsp-ui yaml-mode wgrep fsharp-mode company-lsp cquery mustache-mode clang-format projectile dash-functional mocha add-node-modules-path rjsx-mode xref-js2 js2-refactor company omnisharp geiser cider clojure-mode graphviz-dot-mode multi-term xterm-color thrift markdown-mode tuareg merlin ag use-package flycheck dockerfile-mode js2-mode web-mode tss switch-window paredit magit lua-mode go-mode go-autocomplete exec-path-from-shell csharp-mode color-theme-monokai auto-complete auto-complete-nxml flymake flyspell json-mode popup ruby-mode company-jedi elm-mode monky color-theme-sanityinc-tomorrow))
'(reb-re-syntax 'string) '(reb-re-syntax 'string)
'(rmail-mail-new-frame t) '(rmail-mail-new-frame t)
'(safe-local-variable-values '(safe-local-variable-values

View file

@ -323,7 +323,10 @@
;; ================================================================= ;; =================================================================
(use-package company :ensure t (use-package company :ensure t
:commands company-mode :commands company-mode
:hook (typescript-mode . company-mode)) :hook
(typescript-mode . company-mode)
(python-mode . company-mode) ;; 2023-08-23 Adding company-mode to compose with eglot
)
;; ================================================================= ;; =================================================================
;; Common configuration for LSP-based systems. ;; Common configuration for LSP-based systems.
@ -334,17 +337,19 @@
(executable-find "clangd")) (executable-find "clangd"))
"Path to the clangd binary.") "Path to the clangd binary.")
(defvar my-pylsp-executable ;; 2023-08-23 Disabling all this nonsense for now; I'm using pyright at
(executable-find "pylsp") ;; work and don't feel like maintaining this stuff.
"The path to the python-lsp-server binary.") ;; (defvar my-pylsp-executable
;; (executable-find "pylsp")
(defvar my-pyls-executable ;; "The path to the python-lsp-server binary.")
(executable-find "pyls") ;;
"The path to the python-language-server binary.") ;; (defvar my-pyls-executable
;; (executable-find "pyls")
(defvar my-pyls-language-server-executable ;; "The path to the python-language-server binary.")
(executable-find "pyls-langauge-server") ;;
"The path to the pyls-language-server binary (used at FB).") ;; (defvar my-pyls-language-server-executable
;; (executable-find "pyls-langauge-server")
;; "The path to the pyls-language-server binary (used at FB).")
(defun my-disable-flycheck-on-eglot () (defun my-disable-flycheck-on-eglot ()
"Disable flycheck in eglot-managed buffers." "Disable flycheck in eglot-managed buffers."
@ -359,26 +364,30 @@
(use-package eglot :ensure (use-package eglot :ensure
:commands (eglot-ensure eglot) :commands (eglot-ensure eglot)
:hook :hook
;; 2023-06-26 Using LSP mode for python these days. (python-mode . eglot-ensure)
;; (python-mode . eglot-ensure)
(rust-mode . eglot-ensure) (rust-mode . eglot-ensure)
(c++-mode . eglot-ensure) (c++-mode . eglot-ensure)
(c-mode . eglot-ensure) (c-mode . eglot-ensure)
(go-mode . eglot-ensure) ;; 2022-07-29 Add eglot for go (go-mode . eglot-ensure) ;; 2022-07-29 Add eglot for go
(before-save . eglot-format) ;; 2023-05-25 Format buffers on save (before-save . eglot-format) ;; 2023-05-25 Format buffers on save
:bind :bind
("C-c r" . eglot-rename) ;; 2022-08-23 Make rename more accessible
("C-c \\" . eglot-code-actions) ;; 2022-07-29 I want to make code actions easier. ("C-c \\" . eglot-code-actions) ;; 2022-07-29 I want to make code actions easier.
:config :config
(when my-clangd-executable (when my-clangd-executable
(add-to-list 'eglot-server-programs (add-to-list 'eglot-server-programs
`((c++-mode c-mode) . (,my-clangd-executable)))) `((c++-mode c-mode) . (,my-clangd-executable))))
(let ((py-executable (or my-pyls-language-server-executable ;; 2023-08-23 Disabling all this nonsense for now; I'm using pyright at
my-pylsp-executable ;; work and don't feel like maintaining this stuff.
my-pyls-executable))) ;;
(when py-executable ;; (let ((py-executable (or my-pyright-executable
(add-to-list 'eglot-server-programs ;; my-pyls-language-server-executable
`(python-mode . (,py-executable))))) ;; my-pylsp-executable
;; my-pyls-executable)))
;; (when py-executable
;; (add-to-list 'eglot-server-programs
;; `(python-mode . (,py-executable)))))
;; 2022-04-28 Configuration for Deno. ;; 2022-04-28 Configuration for Deno.
(defclass eglot-deno (eglot-lsp-server) () (defclass eglot-deno (eglot-lsp-server) ()
@ -724,7 +733,10 @@ Or, uh, Objective C, I guess."
(blacken-mode))) (blacken-mode)))
(use-package python-mode :ensure (use-package python-mode :ensure
:mode "\\.py\\'" :init
;; NOTE: Not using :mode here because it implies :defer which... doesn't
;; work with python-mode because it fights the built-in python mode.
(add-to-list 'auto-mode-alist '("\\.py$" . python-mode))
:config :config
(add-to-list 'interpreter-mode-alist '("python" . python-mode)) (add-to-list 'interpreter-mode-alist '("python" . python-mode))
(add-hook 'python-mode-hook 'my-python-mode-hook)) (add-hook 'python-mode-hook 'my-python-mode-hook))
@ -733,10 +745,12 @@ Or, uh, Objective C, I guess."
:commands (blacken-mode) :commands (blacken-mode)
:hook (python-mode . blacken-mode)) :hook (python-mode . blacken-mode))
(use-package lsp-pyright :ensure ;; 2023-08-23 Disabling all this nonsense for now; I'm using pyright at
:hook (python-mode . (lambda () ;; work and don't feel like maintaining this stuff.
(require 'lsp-pyright) ;; (use-package lsp-pyright :ensure
(lsp)))) ; or lsp-deferred ;; :hook (python-mode . (lambda ()
;; (require 'lsp-pyright)
;; (lsp)))) ; or lsp-deferred
;; ================================================================= ;; =================================================================
;; Bazel Support ;; Bazel Support