diff --git a/.emacs.d/custom.el b/.emacs.d/custom.el index 7d1dcca..d26cadd 100644 --- a/.emacs.d/custom.el +++ b/.emacs.d/custom.el @@ -31,7 +31,7 @@ '(flycheck-python-flake8-executable "python3") '(font-lock-global-modes t) '(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-font-lock-mode t nil (font-lock)) '(ido-enable-flex-matching t) @@ -58,7 +58,7 @@ '(org-odd-levels-only t) '(org-todo-keywords '((sequence "TODO" "|" "DONE" "ABANDONED" "DEFERRED"))) '(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) '(rmail-mail-new-frame t) '(safe-local-variable-values diff --git a/.emacs.d/init.el b/.emacs.d/init.el index cfbb6a7..0aa76fb 100644 --- a/.emacs.d/init.el +++ b/.emacs.d/init.el @@ -323,7 +323,10 @@ ;; ================================================================= (use-package company :ensure t :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. @@ -334,17 +337,19 @@ (executable-find "clangd")) "Path to the clangd binary.") -(defvar my-pylsp-executable - (executable-find "pylsp") - "The path to the python-lsp-server binary.") - -(defvar my-pyls-executable - (executable-find "pyls") - "The path to the python-language-server binary.") - -(defvar my-pyls-language-server-executable - (executable-find "pyls-langauge-server") - "The path to the pyls-language-server binary (used at FB).") +;; 2023-08-23 Disabling all this nonsense for now; I'm using pyright at +;; work and don't feel like maintaining this stuff. +;; (defvar my-pylsp-executable +;; (executable-find "pylsp") +;; "The path to the python-lsp-server binary.") +;; +;; (defvar my-pyls-executable +;; (executable-find "pyls") +;; "The path to the python-language-server binary.") +;; +;; (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 () "Disable flycheck in eglot-managed buffers." @@ -359,26 +364,30 @@ (use-package eglot :ensure :commands (eglot-ensure eglot) :hook - ;; 2023-06-26 Using LSP mode for python these days. - ;; (python-mode . eglot-ensure) + (python-mode . eglot-ensure) (rust-mode . eglot-ensure) (c++-mode . eglot-ensure) (c-mode . eglot-ensure) (go-mode . eglot-ensure) ;; 2022-07-29 Add eglot for go (before-save . eglot-format) ;; 2023-05-25 Format buffers on save :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. :config (when my-clangd-executable (add-to-list 'eglot-server-programs `((c++-mode c-mode) . (,my-clangd-executable)))) - (let ((py-executable (or my-pyls-language-server-executable - my-pylsp-executable - my-pyls-executable))) - (when py-executable - (add-to-list 'eglot-server-programs - `(python-mode . (,py-executable))))) + ;; 2023-08-23 Disabling all this nonsense for now; I'm using pyright at + ;; work and don't feel like maintaining this stuff. + ;; + ;; (let ((py-executable (or my-pyright-executable + ;; my-pyls-language-server-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. (defclass eglot-deno (eglot-lsp-server) () @@ -724,7 +733,10 @@ Or, uh, Objective C, I guess." (blacken-mode))) (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 (add-to-list 'interpreter-mode-alist '("python" . python-mode)) (add-hook 'python-mode-hook 'my-python-mode-hook)) @@ -733,10 +745,12 @@ Or, uh, Objective C, I guess." :commands (blacken-mode) :hook (python-mode . blacken-mode)) -(use-package lsp-pyright :ensure - :hook (python-mode . (lambda () - (require 'lsp-pyright) - (lsp)))) ; or lsp-deferred +;; 2023-08-23 Disabling all this nonsense for now; I'm using pyright at +;; work and don't feel like maintaining this stuff. +;; (use-package lsp-pyright :ensure +;; :hook (python-mode . (lambda () +;; (require 'lsp-pyright) +;; (lsp)))) ; or lsp-deferred ;; ================================================================= ;; Bazel Support