From 387766fe36d27611da43f10a3ebaa8c17c850c6c Mon Sep 17 00:00:00 2001
From: Joel Grunbaum <joelgrun@gmail.com>
Date: Tue, 19 Oct 2021 01:41:45 +0000
Subject: [PATCH] Verilog mode now in elpa, no need to manually fetch and update

---
 config.org |  120 ++++++++++++++++++++----------------------------------------
 1 files changed, 40 insertions(+), 80 deletions(-)

diff --git a/config.org b/config.org
index 61f1f51..970263c 100644
--- a/config.org
+++ b/config.org
@@ -86,12 +86,12 @@
   (set-face-italic 'font-lock-keyword-face t)
 #+END_SRC
 
-** Remove menu bar, toolbar, but keep scroll bar
+** Remove menu bar, toolbar, and scroll bar
 Make the emacs interface slightly nicer.
 #+BEGIN_SRC emacs-lisp
   (menu-bar-mode 0)
   (tool-bar-mode 0)
-  (scroll-bar-mode 1)
+  (scroll-bar-mode 0)
 #+END_SRC
 * COMMENT EXWM
 Emacs window manager.
@@ -772,7 +772,6 @@
   (use-package flycheck
     :ensure t
     :diminish flycheck-mode
-    :hook (prog-mode . flycheck-mode)
     :config
     (global-flycheck-mode))
 #+END_SRC
@@ -796,7 +795,7 @@
     :config
     (global-company-mode)
     (setq company-idle-delay 0)
-    (setq company-minimum-prefix-length 3))
+    (setq company-minimum-prefix-length 1))
 #+END_SRC
 
 ** LSP Mode
@@ -813,20 +812,22 @@
              LaTeX-mode
              rust-mode
              sh-mode
-             verilog-mode) . lsp))
+             verilog-mode
+             go-mode) . lsp))
     :init
     (setq lsp-keymap-prefix "C-c l")
     :commands lsp
     :config
-    (add-hook lsp-mode-hook lsp-enable-which-key-integration)
+    (add-hook 'lsp-mode-hook 'lsp-enable-which-key-integration)
     (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"))
-
+  
   (use-package lsp-ui
     :ensure t
     :commands lsp-ui-mode)
-
+  
   (use-package helm-lsp
     :ensure t
     :commands helm-lsp-workspace-symbol)
@@ -987,7 +988,7 @@
                                      company-dabbrev-code
                                      company-irony)))
 #+END_SRC
-**** COMMENT Clang-format
+**** Clang-format
 Automatically format buffer on save.
 #+BEGIN_SRC emacs-lisp
   (when (file-exists-p "/usr/share/clang/clang-format.el")
@@ -1000,12 +1001,12 @@
                                            "IndentCaseLabels: false}"))
     (setq-default clang-format-style clang-format-linux-style)
     (defun clang-format-on-save ()
-      (add-hook 'before-save-hook 'clang-format-buffer))
-    (add-hook 'c-mode-hook 'clang-format-on-save)
-    (add-hook 'c++-mode-hook 'clang-format-on-save))
+      (add-hook 'before-save-hook 'clang-format-buffer nil t))
+    (add-hook 'c-mode-hook 'clang-format-on-save nil t)
+    (add-hook 'c++-mode-hook 'clang-format-on-save nil t))
 #+END_SRC
 *** emacs-lisp
-**** COMMENT company
+**** COMMENT Company
 Add slime backend.
 #+BEGIN_SRC emacs-lisp
 (add-hook 'emacs-lisp-mode-hook 'company-mode)
@@ -1140,73 +1141,19 @@
       (autoload 'racket-mode "Racket" "Racket Editing Mode" t)
       (add-to-list
        'auto-mode-alist
-       '("\\.rkt$" . racket-mode))
-      (setq matlab-indent-function t))
+       '("\\.rkt$" . racket-mode)))
 #+END_SRC
 
 *** COMMENT Verilog
 **** Get latest version
-Pull the latest version from the web.
+Use latest version from repositories.
 #+BEGIN_SRC emacs-lisp
-  (defun get-verilog-latest()
-    (if (not(file-directory-p "~/.emacs.d/elpa/verilog-mode"))
-        (make-directory "~/.emacs.d/elpa/verilog-mode"))
-    (if (file-exists-p "~/.emacs.d/elpa/verilog-mode/verilog-mode.el")
-        (delete-file "~/.emacs.d/elpa/verilog-mode/verilog-mode.el"))
-    (url-copy-file "https://www.veripool.org/ftp/verilog-mode.el" "~/.emacs.d/elpa/verilog-mode/verilog-mode.el" 1))
-#+END_SRC
-
-**** Integrate into emacs
-Add updated version (based off auto-package-update) and integrate it with Emacs.
-#+BEGIN_SRC emacs-lisp
-  (defun verilog-read-file-as-string (file)
-    "Read FILE contents."
-    (when (file-exists-p file)
-      (with-temp-buffer
-        (insert-file-contents file)
-        (buffer-string))))
-
-  (defun verilog-write-string-to-file (file string)
-    "Substitute FILE contents with STRING."
-    (with-temp-buffer
-      (insert string)
-      (when (file-writable-p file)
-        (write-region (point-min)
-                      (point-max)
-                      file))))
-
-  (defun verilog-today-day ()
-    (time-to-days (current-time)))
-
-  (defun should-update-verilog-p ()
-    "Return non-nil when an update is due."
-    (and
-     (or
-      (not (file-exists-p "~/.emacs.d/.last-verilog-update-day"))
-      (if (>= (/ (- (verilog-today-day) (verilog-read-last-update-day)) 7) 1)
-          t
-        nil))))
-
-  (defun verilog-read-last-update-day ()
-    "Read last update day."
-    (string-to-number
-     (verilog-read-file-as-string "~/.emacs.d/.last-verilog-update-day")))
-
-  (defun verilog-write-current-day ()
-    "Store current day."
-    (verilog-write-string-to-file
-     "~/.emacs.d/.last-verilog-update-day"
-     (int-to-string (verilog-today-day))))
-
   (use-package verilog-mode
-    :init
-    (when (should-update-verilog-p)
-        (get-verilog-latest)
-        (verilog-write-current-day))
-    (add-to-list 'load-path "~/.emacs.d/elpa/verilog-mode/verilog-mode.el")
+    :ensure t
+    :pin gnu
     :config
     (autoload 'verilog-mode "verilog-mode" "Verilog mode" t )
-    (add-to-list 'auto-mode-alist '("\\.[ds]?vh?\\'" . verilog-mode)))
+    (add-to-list 'auto-mode-alist '("\\.[ds]?va?h?\\'" . verilog-mode)))
 #+END_SRC
 
 *** COMMENT MATLAB
@@ -1269,16 +1216,29 @@
     :config
     (add-hook 'flyckeck-mode-hook #'flycheck-rust-setup))
 #+END_SRC
-
-**** COMMENT Completion
-Code completion with racer.
+*** Go
+**** Major mode
 #+BEGIN_SRC emacs-lisp
-  (use-package racer
+  (use-package go-mode
     :ensure t
-    :hook ((rust-mode . racer-mode)
-           (racer-mode . (eldoc-mode company-mode)))
-    :init
-    (setq racer-command "~/.cargo/bin/racer"))
+    :config
+    (add-hook 'before-save-hook #'gofmt-before-save))
+#+END_SRC
+
+#+RESULTS:
+: t
+
+**** Flycheck
+#+BEGIN_SRC emacs-lisp
+  (use-package flycheck-golangci-lint
+    :ensure t
+    :config
+    (add-hook 'flycheck-mode-hook #'flycheck-golangci-lint-setup))
+#+END_SRC
+**** Company
+#+BEGIN_SRC emacs-lisp
+  (use-package company-go
+    :ensure t)
 #+END_SRC
 * Org mode
 ** Up to date org

--
Gitblit v1.9.3