From 0a1b2f96d60c8384c523607b62a91cd93d94e28c Mon Sep 17 00:00:00 2001 From: Joel Grunbaum <jgrunbau@sydmacx3bd.trading.imc.intra> Date: Wed, 01 Dec 2021 06:35:40 +0000 Subject: [PATCH] Merge commit 'd2a8738' --- config.org | 140 +++++++++++++++++----------------------------- 1 files changed, 53 insertions(+), 87 deletions(-) diff --git a/config.org b/config.org index 61f1f51..1c1bf9c 100644 --- a/config.org +++ b/config.org @@ -8,7 +8,7 @@ (cond ((eq system-type 'windows-nt) (add-to-list 'exec-path "C:/msys64/usr/bin") (add-to-list 'exec-path "C:/msys64/mingw64/bin") - (add-to-list 'exec-path "c:/Program Files/gnuplot") + (add-to-list 'exec-path "C:/Program Files/gnuplot") (setenv "PATH" (mapconcat #'identity exec-path path-separator))) ((eq system-type 'darwin) (use-package exec-path-from-shell @@ -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. @@ -718,6 +718,13 @@ (minimap-mode)) #+END_SRC +** Highlight indentation +Vertical demarcations for indent levels +#+BEGIN_SRC emacs-lisp + (use-package highlight-indentation + :ensure t + :hook (prog-mode . highlight-indentation-mode)) +#+END_SRC * Mode line tweaks Diminish is used but is included in init.el such that it can be used throughout this document ** Spaceline @@ -772,7 +779,6 @@ (use-package flycheck :ensure t :diminish flycheck-mode - :hook (prog-mode . flycheck-mode) :config (global-flycheck-mode)) #+END_SRC @@ -796,7 +802,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 +819,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 +995,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 +1008,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 +1148,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,24 +1223,36 @@ :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 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-plus-contrib - :pin org) + (use-package org + :ensure org-contrib) #+END_SRC ** Small tweaks @@ -1316,13 +1282,13 @@ (visual-line-mode 1))) #+END_SRC -** org-bullets +** Fancy org points Use bullets of different colours and styles instead of the "\*\*\*" to denote indentation levels. #+BEGIN_SRC emacs-lisp - (use-package org-bullets + (use-package org-superstar :ensure t :config - (add-hook 'org-mode-hook (lambda () (org-bullets-mode)))) + (add-hook 'org-mode-hook (lambda () (org-superstar-mode 1)))) #+END_SRC ** Org Babel -- Gitblit v1.9.3