From 46132dcf362f3da63ffa1d8573dc5995d8e7e767 Mon Sep 17 00:00:00 2001 From: Joel Grunbaum <joelgrun@gmail.com> Date: Wed, 14 Feb 2024 02:54:33 +0000 Subject: [PATCH] Change python lsp server to pyright --- config.org | 144 ++++++++++++++++++++++++++++-------------------- 1 files changed, 84 insertions(+), 60 deletions(-) diff --git a/config.org b/config.org index dbb6a3d..463e10f 100644 --- a/config.org +++ b/config.org @@ -22,48 +22,36 @@ Theme switcher, using a cond allows loading of many preconfigured themes which can be switched between easily. Zenburn theme is my default. #+BEGIN_SRC emacs-lisp - (setq emacs-theme 'zenburn) - (defun disable-all-themes () (dolist (i custom-enabled-themes) (disable-theme i))) - (cond ((eq emacs-theme 'zenburn) - (use-package zenburn-theme - :init - (disable-all-themes) - :config - (load-theme 'zenburn t))) - ((eq emacs-theme 'doom-one) - (use-package doom-themes - :init - (disable-all-themes) - :config - (setq doom-themes-enable-bolt t - doom-themes-enable-italic t) - (load-theme 'doom-one t) - (doom-themes-visual-bell-config) - (doom-themes-org-config))) - ((eq emacs-theme 'nord) - (use-package nord-theme - :init - (disable-all-themes) - :config - (load-theme 'nord t))) - ((eq emacs-theme 'solarized) - (use-package solarized-theme - :init - (disable-all-themes) - :config - (load-theme 'solarized-dark t))) - ((eq emacs-theme 'jetbrains-darcula) - (use-package jetbrains-darcula-theme - :init - (disable-all-themes) - :config - (load-theme 'jetbrains-darcula t))) - ((eq emacs-theme 'none) - (disable-all-themes))) + (defun set-theme (theme) + "Set the theme with theme downloading" + (interactive "SWhat theme to load? ") + (cond ((eq theme 'zenburn) + (use-package zenburn-theme)) + ((string-match-p "^doom" "doom-one") + (use-package doom-themes + :config + (setq doom-themes-enable-bolt t + doom-themes-enable-italic t) + (doom-themes-visual-bell-config) + (doom-themes-org-config))) + ((eq theme 'nord) + (use-package nord-theme)) + ((eq theme 'solarized) + (use-package solarized-theme)) + ((eq theme 'jetbrains-darcula) + (use-package jetbrains-darcula-theme)) + ((eq theme 'none) + (disable-all-themes))) + (setq emacs-theme theme) + (when (not (eq theme 'none)) + (load-theme theme t)) + (message (format "Theme set to: %s" theme))) + + (set-theme 'zenburn) #+END_SRC ** Default font @@ -105,14 +93,15 @@ Auto-enable in latex and org as they're the main writing modes. #+BEGIN_SRC emacs-lisp (use-package flyspell - :hook (tex-mode latex-mode TeX-mode LaTeX-mode org-mode) + :hook ((tex-mode latex-mode TeX-mode LaTeX-mode org-mode text-mode) . flyspell-mode) :diminish flyspell-mode - :init (require 'ispell) + :init + (require 'ispell) :config (setq-default ispell-program-name "aspell") (setq-default ispell-local-dictionary "en_AU")) #+END_SRC -** COMMENT Language Tool +** Language Tool Language tool is an open source grammar checker. #+BEGIN_SRC emacs-lisp (use-package langtool @@ -174,6 +163,7 @@ ("M-y" . helm-show-kill-ring) ("C-x b" . helm-mini) ("C-c h o" . helm-occur)) + :diminish helm-mode :config (setq helm-mode-fuzzy-match t helm-completion-in-regionfuzzy-match t @@ -415,6 +405,14 @@ (global-set-key (kbd "C-c e i") 'init-visit) #+END_SRC +*** Go to early-init.el +#+BEGIN_SRC emacs-lisp + (defun early-init-visit () + (interactive) + (find-file "~/.emacs.d/early-init.el")) + (global-set-key (kbd "C-c e e") 'early-init-visit) +#+END_SRC + *** Reload configuration #+BEGIN_SRC emacs-lisp (defun config-reload () @@ -513,6 +511,8 @@ (use-package undo-tree :diminish undo-tree-mode :config + (setq-default undo-tree-auto-save-history t) + (add-to-list 'undo-tree-incompatible-major-modes 'archive-mode) (global-undo-tree-mode)) #+END_SRC @@ -561,7 +561,9 @@ ** Line numbers Everyone needs line numbers when programming. #+BEGIN_SRC emacs-lisp - (add-hook 'prog-mode-hook 'linum-mode) + (if (version<= "26.0.50" emacs-version) + (add-hook 'prog-mode-hook 'display-line-numbers-mode) + (add-hook 'prog-mode-hook 'linum-mode)) #+END_SRC ** Garbage collection @@ -724,7 +726,6 @@ (require 'spaceline-config) (setq spaceline-buffer-encoding-abbrev-p t) (setq spaceline-line-column-p t) - (setq spaceline-line-p t) (setq powerline-default-separator (quote arrow)) (spaceline-spacemacs-theme) (spaceline-helm-mode)) @@ -810,7 +811,8 @@ (setq read-process-output-max (* 1024 1024)) (setq lsp-completion-provider :capf) (setq lsp-keep-workspace-alive 'nil) - (add-to-list 'exec-path "~/.cargo/bin")) + (add-to-list 'exec-path "~/.cargo/bin") + (add-to-list 'exec-path "~/.local/bin")) (use-package lsp-ui :commands lsp-ui-mode) @@ -1040,15 +1042,19 @@ (setq-local clang-format-style nil) (setq-local clang-format-style (concat "{BasedOnStyle: LLVM," "IndentWidth: " (format "%s" tab-width) "," + "TabWidth: " (format "%s" tab-width) "," "UseTab: " (if (eq indent-tabs-mode nil) "Never" "AlignWithSpaces") "," "BreakBeforeBraces: Linux," "AllowShortIfStatementsOnASingleLine: false," - "IndentCaseLabels: false}")))) + "PointerAlignment: Left," + "IndentCaseBlocks: true," + "IndentCaseLabels: false," + "SortUsingDeclarations: true}")))) (add-hook 'c-mode-common-hook 'set-clang-format-style) - + (use-package clang-format) ;; (defun clang-format-on-save () @@ -1089,6 +1095,7 @@ #+BEGIN_SRC emacs-lisp (use-package tex :ensure auctex + :straight auctex :config (setq TeX-auto-save t TeX-parse-self t @@ -1166,11 +1173,11 @@ (cond ((eq system-type 'windows-nt) (when (file-exists-p "c:/ProgramData/chocolatey/lib/plantuml/tools/plantuml.jar") (setq plantuml-jar-path "c:/ProgramData/chocolatey/lib/plantuml/tools/plantuml.jar") - (setq planuml-default-exec-mode 'jar))) + (setq plantuml-default-exec-mode 'jar))) ((eq system-type 'gnu/linux) (when (file-exists-p "/usr/share/java/plantuml/plantuml.jar") (setq plantuml-jar-path "/usr/share/java/plantuml/plantuml.jar") - (setq planuml-default-exec-mode 'jar))))) + (setq plantuml-default-exec-mode 'jar))))) #+END_SRC *** COMMENT Racket @@ -1219,12 +1226,34 @@ verilog-indent-level-directive 4 verilog-indent-level-module 4)) #+END_SRC +**** FPGA +#+BEGIN_SRC emacs-lisp + (use-package fpga + :init + (setq fpga-feature-list '(xilinx))) #+END_SRC -*** COMMENT MATLAB +**** Run and test +Run the open buffer and display the output in a new buffer. +#+BEGIN_SRC emacs-lisp + (defun run-verilator () + (interactive) + (save-buffer) + (if (not (eq (shell-command (concat "verilator --binary -j 0 " (buffer-file-name)) "*verilator output*") 0)) + (display-buffer "*verilator output*" 'display-buffer-reuse-window) + (shell-command (concat (file-name-directory (buffer-file-name)) + '"obj_dir/V" + (file-name-nondirectory (file-name-sans-extension (buffer-file-name)))) + "*test output*") + (display-buffer "*test output*" 'display-buffer-reuse-window)) + t) + (define-key verilog-mode-map (kbd "C-c c") 'run-verilator) +#+END_SRC +*** MATLAB Mode for editing MATLAB m-files. #+BEGIN_SRC emacs-lisp (use-package matlab :ensure matlab-mode + :straight matlab-mode :config (autoload 'matlab-mode "matlab" "Matlab Editing Mode" t) (add-to-list @@ -1232,7 +1261,8 @@ '("\\.m$" . matlab-mode)) (setq matlab-indent-function t) (setq matlab-shell-command "matlab") - (matlab-cedet-setup)) + (matlab-cedet-setup) + (add-to-list 'company-backends 'company-matlab-shell)) #+END_SRC *** COMMENT MIPS @@ -1293,22 +1323,15 @@ (use-package company-go) #+END_SRC *** Python -**** COMMENT LSP server -Use jedi, idk why. +**** LSP server +Use pyright, idk why. #+BEGIN_SRC emacs-lisp - (use-package lsp-jedi + (use-package lsp-pyright :config (add-to-list 'lsp-disabled-clients 'pyls) (add-to-list 'lsp-enabled-clients 'jedi)) #+END_SRC * Org mode -** Up to date org -Pull the latest org mode from the repository, rather than the org which comes with emacs. -#+BEGIN_SRC emacs-lisp - (use-package org - :ensure org-contrib) -#+END_SRC - ** Small tweaks Small quality of life changes to org-mode. #+BEGIN_SRC emacs-lisp @@ -1405,6 +1428,7 @@ #+BEGIN_SRC emacs-lisp (use-package emms-setup :ensure emms + :straight emms :init (add-to-list 'load-path "~/elisp/emms/") :config -- Gitblit v1.9.3