diff options
| author | tslil clingman <> | 2021-03-22 11:48:45 -0400 |
|---|---|---|
| committer | tslil clingman <> | 2021-03-22 11:49:55 -0400 |
| commit | 341b0db7ad500995167bfd8032db4a93a1434489 (patch) | |
| tree | 1d6c1adba43d54c959f21083aae46fb7be86a1b3 | |
| parent | 6df8edee472dbdcc67b7eb7d423d518f3e401563 (diff) | |
Collected changes for Zig, Gemini, theming
| -rw-r--r-- | emacs/inits/01-basic.el | 8 | ||||
| -rw-r--r-- | emacs/inits/13-ibuffer.el | 135 | ||||
| -rw-r--r-- | emacs/inits/20-programming.el | 202 | ||||
| -rw-r--r-- | emacs/inits/27-gemini.el | 85 |
4 files changed, 232 insertions, 198 deletions
diff --git a/emacs/inits/01-basic.el b/emacs/inits/01-basic.el index f5a3b59..04c2a83 100644 --- a/emacs/inits/01-basic.el +++ b/emacs/inits/01-basic.el @@ -1,4 +1,4 @@ -;; Time-stamp: <2021-01-08 13h03 EST (hobbies)> +;; Time-stamp: <2021-03-22 11h49 EDT (hobbies)> ;; ----------------------------------------------------------------------------- ;; Interface @@ -40,10 +40,10 @@ (add-to-list 'custom-theme-load-path "~/.emacs.d/themes/") (when (eq 'x (window-system)) - (use-package gruvbox-theme :ensure t) - (load-theme 'gruvbox-dark-soft t) + (use-package nord-theme :ensure t) + (load-theme 'nord t) (set-face-attribute 'region nil :background "orange") - (set-face-attribute 'default nil :font "Iosevka-16")) + (set-face-attribute 'default nil :font "Iosevka-18")) (set-fringe-style 0) ;; (set-fringe-mode 128) diff --git a/emacs/inits/13-ibuffer.el b/emacs/inits/13-ibuffer.el index 0b36bcc..f94e1a5 100644 --- a/emacs/inits/13-ibuffer.el +++ b/emacs/inits/13-ibuffer.el @@ -1,73 +1,74 @@ -;; Time-stamp: <2020-12-30 17h58 EST (hobbies)> +;; Time-stamp: <2021-03-21 22h32 EDT (hobbies)> (use-package ibuffer - :bind (("C-x C-b" . ibuffer)) - :hook (ibuffer-mode . (lambda () - (ibuffer-switch-to-saved-filter-groups "default"))) - :config - (setq ibuffer-display-summary nil - ibuffer-saved-filter-groups - '(("default" - ("agda" (or (mode . agda2-mode) - (name . "^\\*[aA]gda"))) - ("c" (or (mode . c-mode) - (mode . makefile-gmake-mode))) - ("coq" (or (mode . coq-mode) - (mode . coq-goals-mode) - (mode . coq-response-mode) - (mode . coq-shell-mode))) - ("dired" (mode . dired-mode)) - ("elisp" (or (mode . emacs-lisp-mode) - (name . "^\\*Backtrace\\*"))) - ("emacs" (or (name . "^\\*scratch\\*$") - (name . "^\\*Messages\\*$") - (name . "^\\*init log\\*$") - (name . "^\\*Compile-Log\\*$"))) - ("exwm" (mode . exwm-mode)) - ("help" (or (mode . helpful-mode) - (name . "^\\*Help\\*$"))) - ("irc" (mode . rcirc-mode)) - ("magit" (name . "^magit[:-]")) - ("media" (or (mode . image-mode) - (mode . doc-view-mode))) - ("org" (mode . org-mode)) - ("REPL" (name . "^\\*.*REPL.*\\*$")) - ("rust" (mode . rust-mode)) - ("slime" (name . "^\\*slime-[^*]*\\*$")) - ("tex" (mode . latex-mode)) - ("web" (or (mode . js2-mode) - (mode . js-mode) - (mode . html-mode) - (mode . css-mode) - (mode . mhtml-mode)))))) + :bind (("C-x C-b" . ibuffer)) + :hook (ibuffer-mode . (lambda () + (ibuffer-switch-to-saved-filter-groups "default"))) + :config + (setq ibuffer-display-summary nil + ibuffer-saved-filter-groups + '(("default" + ("agda" (or (mode . agda2-mode) + (name . "^\\*[aA]gda"))) + ("c" (or (mode . c-mode) + (mode . makefile-gmake-mode))) + ("coq" (or (mode . coq-mode) + (mode . coq-goals-mode) + (mode . coq-response-mode) + (mode . coq-shell-mode))) + ("dired" (mode . dired-mode)) + ("elisp" (or (mode . emacs-lisp-mode) + (name . "^\\*Backtrace\\*"))) + ("emacs" (or (name . "^\\*scratch\\*$") + (name . "^\\*Messages\\*$") + (name . "^\\*init log\\*$") + (name . "^\\*Compile-Log\\*$"))) + ("exwm" (mode . exwm-mode)) + ("help" (or (mode . helpful-mode) + (name . "^\\*Help\\*$"))) + ("irc" (mode . rcirc-mode)) + ("magit" (name . "^magit[:-]")) + ("media" (or (mode . image-mode) + (mode . doc-view-mode))) + ("org" (mode . org-mode)) + ("REPL" (name . "^\\*.*REPL.*\\*$")) + ("rust" (mode . rust-mode)) + ("slime" (name . "^\\*slime-[^*]*\\*$")) + ("tex" (mode . latex-mode)) + ("web" (or (mode . js2-mode) + (mode . js-mode) + (mode . html-mode) + (mode . css-mode) + (mode . mhtml-mode))) + ("zig" (mode . zig-mode))))) - (defadvice ibuffer-update-title-and-summary (after remove-column-titles) - (with-current-buffer "*Ibuffer*" - (read-only-mode -1) - (goto-char 1) - (search-forward "-\n" nil t) - (delete-region 1 (point)) - (let ((window-min-height 1)) - ;; save a little screen estate - (shrink-window-if-larger-than-buffer)) - (read-only-mode 1))) + (defadvice ibuffer-update-title-and-summary (after remove-column-titles) + (with-current-buffer "*Ibuffer*" + (read-only-mode -1) + (goto-char 1) + (search-forward "-\n" nil t) + (delete-region 1 (point)) + (let ((window-min-height 1)) + ;; save a little screen estate + (shrink-window-if-larger-than-buffer)) + (read-only-mode 1))) - (ad-activate 'ibuffer-update-title-and-summary) + (ad-activate 'ibuffer-update-title-and-summary) - (define-ibuffer-column size-h - (:name "Size" :inline t) - (cond - ((> (buffer-size) 1000000) (format "%7.1fM" (/ (buffer-size) 1000000.0))) - ((> (buffer-size) 100000) (format "%7.0fk" (/ (buffer-size) 1000.0))) - ((> (buffer-size) 1000) (format "%7.1fk" (/ (buffer-size) 1000.0))) - (t (format "%8d" (buffer-size))))) + (define-ibuffer-column size-h + (:name "Size" :inline t) + (cond + ((> (buffer-size) 1000000) (format "%7.1fM" (/ (buffer-size) 1000000.0))) + ((> (buffer-size) 100000) (format "%7.0fk" (/ (buffer-size) 1000.0))) + ((> (buffer-size) 1000) (format "%7.1fk" (/ (buffer-size) 1000.0))) + (t (format "%8d" (buffer-size))))) - (setq ibuffer-formats - '((mark modified read-only locked " " - (name 18 18 :left :elide) - " " - (size-h 9 -1 :right) - " " - (mode 16 16 :left :elide) - " " - filename-and-process)))) + (setq ibuffer-formats + '((mark modified read-only locked " " + (name 18 18 :left :elide) + " " + (size-h 9 -1 :right) + " " + (mode 16 16 :left :elide) + " " + filename-and-process)))) diff --git a/emacs/inits/20-programming.el b/emacs/inits/20-programming.el index 3dffd5c..69dae3a 100644 --- a/emacs/inits/20-programming.el +++ b/emacs/inits/20-programming.el @@ -1,4 +1,4 @@ -;; Time-stamp: <2021-01-07 00:32:16 (tslil@bison)> +;; Time-stamp: <2021-03-17 14h14 EDT (hobbies)> ;; ----------------------------------------------------------------------------- ;; General setup @@ -47,7 +47,8 @@ (use-package comment-dwim-2 :ensure t :bind (("M-;" . comment-dwim-2)) - :config (setq comment-multi-line t)) + :config (setq comment-multi-line t + comment-style 'extra-line)) (use-package aggressive-indent :ensure t @@ -67,84 +68,7 @@ electric-pair-skip-whitespace t electric-pair-inhibit-predicate 'electric-pair-default-inhibit)) -(use-package js-comint - :ensure t - :defer t - :config - (setq js-comint-program-command "node" - js-comint-program-arguments nil)) - -(use-package js2-mode - :ensure t - :defer t - :after js-comint - :mode "\\.js$" - :bind (:map js2-mode-map - ("TAB" . js2-indent-line) - ("C-x C-e" . js-send-last-sexp) - ("C-c C-b" . js-send-buffer) - ("C-c C-l" . js-load-file)) - :hook (js2-mode . (lambda () - (auto-revert-mode -1) - (yas-minor-mode-on)))) - -(use-package nodemcu-mode - :ensure t - :defer t - :config - (setq nodemcu-default-keybindings t - nodemcu-port "/dev/ttyUSB0" - nodemcu-backend "nodemcu-uploader") - - (defun nodemcu-better-upload-current-file (&optional noreset) - (interactive "P") - (let ((proc (get-process "nodemcu-terminal"))) - (when proc - (delete-process proc)) - (shell-command - (nodemcu--get-command "upload" (file-name-nondirectory (buffer-file-name)))) - (unless noreset - (shell-command - (nodemcu--get-command "node restart")) - (when proc - (nodemcu-terminal)))))) - -(use-package lua-mode - :after nodemcu-mode - :ensure t - :defer t - :bind (:map lua-mode-map - ("C-x C-e" . lua-send-current-line) - ("C-c C-d" . lua-send-defun) - ("C-c C-e" . lua-send-region) - ("C-c C-u" . nodemcu-better-upload-current-file) - ("C-c C-t" . nodemcu-terminal) - ("M-n" . lua-forward-sexp) - ("M-p" . lua-backwards-to-block-begin-or-end)) - :hook (lua-mode . (lambda () - (require 'nodemcu-mode) - (use-package company-lua :ensure t :demand) - (nodemcu-mode 1) - (add-to-list 'company-backends 'company-lua)))) - -(use-package verilog-mode - :ensure t - :defer t - :mode "\\.vl$" - :hook (verilog-mode . (lambda () - (setq verilog-tool 'verilog-compiler) - (verilog-set-compile-command))) - :config - (setq verilog-compiler "iverilog" - verilog-tool 'verilog-compiler)) - -(use-package gforth - :commands forth-mode - :mode (("\\.fs$" . forth-mode) - ("\\.fb$" . forth-block-mode) - ("\\.4th$" . forth-mode))) - -(use-package clojure-mode +(use-package lsp-mode :ensure t :defer t) @@ -278,10 +202,6 @@ ;; ----------------------------------------------------------------------------- ;; Rust -(use-package lsp-mode - :ensure t - :defer t) - (use-package cargo :ensure t :defer t) @@ -329,5 +249,115 @@ :init (advice-add 'python-mode :before 'elpy-enable) :config - (setq python-shell-interpreter "python3" - python-indent-offset 2)) + (setq python-shell-interpreter "python3") + (setq-default python-indent-offset 4)) + + +;; ----------------------------------------------------------------------------- +;; Zig + +(use-package zig-mode + :ensure t + :defer t + :hook (zig-mode . (lambda () (lsp))) + :bind (:map zig-mode-map + ("M-," . lh-backward-delim) + ("M-." . lh-forward-delim) + ("M-/" . lh-matching-delim) + ("M-p" . beginning-of-defun) + ("M-n" . end-of-defun) + ("C-c C-c" . zig-compile) + ("C-c C-r" . zig-run)) + :config + (require 'lsp) + (add-to-list 'lsp-language-id-configuration '(zig-mode . "zig")) + (lsp-register-client + (make-lsp-client + :new-connection (lsp-stdio-connection "~/prog/zig/zls/zig-cache/bin/zls") + :major-modes '(zig-mode) + :server-id 'zls))) + + +;; ------------------------------------------------------------------- +;; Misc languages + +(use-package js-comint + :ensure t + :defer t + :config + (setq js-comint-program-command "node" + js-comint-program-arguments nil)) + +(use-package js2-mode + :ensure t + :defer t + :after js-comint + :mode "\\.js$" + :bind (:map js2-mode-map + ("TAB" . js2-indent-line) + ("C-x C-e" . js-send-last-sexp) + ("C-c C-b" . js-send-buffer) + ("C-c C-l" . js-load-file)) + :hook (js2-mode . (lambda () + (auto-revert-mode -1) + (yas-minor-mode-on)))) + +(use-package nodemcu-mode + :ensure t + :defer t + :config + (setq nodemcu-default-keybindings t + nodemcu-port "/dev/ttyUSB0" + nodemcu-backend "nodemcu-uploader") + + (defun nodemcu-better-upload-current-file (&optional noreset) + (interactive "P") + (let ((proc (get-process "nodemcu-terminal"))) + (when proc + (delete-process proc)) + (shell-command + (nodemcu--get-command "upload" (file-name-nondirectory (buffer-file-name)))) + (unless noreset + (shell-command + (nodemcu--get-command "node restart")) + (when proc + (nodemcu-terminal)))))) + +(use-package lua-mode + :after nodemcu-mode + :ensure t + :defer t + :bind (:map lua-mode-map + ("C-x C-e" . lua-send-current-line) + ("C-c C-d" . lua-send-defun) + ("C-c C-e" . lua-send-region) + ("C-c C-u" . nodemcu-better-upload-current-file) + ("C-c C-t" . nodemcu-terminal) + ("M-n" . lua-forward-sexp) + ("M-p" . lua-backwards-to-block-begin-or-end)) + :hook (lua-mode . (lambda () + (require 'nodemcu-mode) + (use-package company-lua :ensure t :demand) + (nodemcu-mode 1) + (add-to-list 'company-backends 'company-lua)))) + +(use-package verilog-mode + :ensure t + :defer t + :mode "\\.vl$" + :hook (verilog-mode . (lambda () + (setq verilog-tool 'verilog-compiler) + (verilog-set-compile-command))) + :config + (setq verilog-compiler "iverilog" + verilog-tool 'verilog-compiler)) + +(use-package gforth + :commands forth-mode + :mode (("\\.fs$" . forth-mode) + ("\\.fb$" . forth-block-mode) + ("\\.4th$" . forth-mode))) + +(use-package clojure-mode + :ensure t + :defer t) diff --git a/emacs/inits/27-gemini.el b/emacs/inits/27-gemini.el index 9e02780..0017557 100644 --- a/emacs/inits/27-gemini.el +++ b/emacs/inits/27-gemini.el @@ -1,12 +1,12 @@ -;; Time-stamp: <2020-12-30 18h02 EST (hobbies)> +;; Time-stamp: <2021-02-26 17h53 UTC> (use-package elpher - :ensure t - :defer) + :ensure t + :defer) (use-package visual-fill-column - :ensure t - :defer) + :ensure t + :defer) (defvar gemlog-directory (expand-file-name "~/hobbies/l-3.space/")) (defvar gemlog-file-name "%y%02m%02d") @@ -14,45 +14,48 @@ (defvar gemlog-time-zone "UTC") (defun gemlog-new-entry () - (interactive) - (let* ((title (read-string "Title: ")) - (number 1) - (file (format "%s/log-%s-%d.gmi" - gemlog-directory - (format-time-string gemlog-file-name nil t) - number))) - (while (file-exists-p file) - (setq number (+ 1 number)) - (setq file (format "%s/log-%s-%d.gmi" - gemlog-directory - (format-time-string gemlog-file-name nil t) - number))) - (find-file file) - (insert "Time-stamp: <>") (newline) (newline) - (insert "# " title) (newline) (newline) - (time-stamp))) + (interactive) + (let* ((title (read-string "Title: ")) + (number 1) + (file (format "%s/log-%s-%d.gmi" + gemlog-directory + (format-time-string gemlog-file-name nil t) + number))) + (while (file-exists-p file) + (setq number (+ 1 number)) + (setq file (format "%s/log-%s-%d.gmi" + gemlog-directory + (format-time-string gemlog-file-name nil t) + number))) + (find-file file) + (setq-local time-stamp-time-zone gemlog-time-zone + time-stamp-format gemlog-time-string) + (insert "Time-stamp: <>") (newline) (newline) + (insert "# " title) (newline) (newline) + (time-stamp))) (defvar gemini-footnote-symbols '("⁰" "¹" "²" "³" "⁴" "⁵" "⁶" "⁷" "⁸" "⁹" "ᵃ" "ᵇ" "ᶜ" "ᵈ" "ᵉ" "ᶠ")) (defun gemini-insert-footnote () - (interactive) - (let ((symb (car gemini-footnote-symbols)) - (n 0)) - (while (and symb (save-excursion (beginning-of-buffer) (search-forward symb nil t))) - (setq n (1+ n) - symb (nth n gemini-footnote-symbols))) - (if (not symb) (message "Ran out of footnote symbols. Customise `gemini-footnote-symbols'.") - (insert symb) - (end-of-buffer) - (unless (= (point) (point-at-bol)) (newline)) - (insert symb " ")))) + (interactive) + (let ((symb (car gemini-footnote-symbols)) + (n 0)) + (while (and symb (save-excursion (beginning-of-buffer) (search-forward symb nil t))) + (setq n (1+ n) + symb (nth n gemini-footnote-symbols))) + (if (not symb) (message "Ran out of footnote symbols. Customise `gemini-footnote-symbols'.") + (insert symb) + (end-of-buffer) + (unless (= (point) (point-at-bol)) (newline)) + (insert symb " ")))) (use-package gemini-mode - :load-path "~/.emacs.d/scripts/gemini.el/" - :bind (:map gemini-mode-map - ("C-c C-f" . gemini-insert-footnote)) - :hook (gemini-mode . (lambda () - (setq time-stamp-time-zone gemlog-time-zone - time-stamp-format gemlog-time-string) - (auto-fill-mode -1) - (set-fill-column 80)))) + :ensure t + :bind (:map gemini-mode-map + ("C-c C-f" . gemini-insert-footnote)) + :hook (gemini-mode . (lambda () + (setq time-stamp-time-zone gemlog-time-zone + time-stamp-format gemlog-time-string) + (setq-local indent-tabs-mode nil) + (auto-fill-mode -1) + (set-fill-column 80)))) |
