summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--emacs/inits/01-basic.el8
-rw-r--r--emacs/inits/13-ibuffer.el135
-rw-r--r--emacs/inits/20-programming.el202
-rw-r--r--emacs/inits/27-gemini.el85
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))))