diff options
| author | tslil clingman <> | 2021-01-04 22:35:02 -0500 |
|---|---|---|
| committer | tslil clingman <> | 2021-01-04 22:35:02 -0500 |
| commit | 6fddeab7525b8b284b5a22406a696894be89a307 (patch) | |
| tree | 2f772ca074b7879fb46e997076b059f0918c1fe4 /emacs | |
| parent | 43285c19998443753d64c0e41ff5b1f3fee520ae (diff) | |
Tabs for indentation, spaces for alignment
Diffstat (limited to 'emacs')
| -rw-r--r-- | emacs/inits/01-basic.el | 96 | ||||
| -rw-r--r-- | emacs/inits/20-programming.el | 436 |
2 files changed, 315 insertions, 217 deletions
diff --git a/emacs/inits/01-basic.el b/emacs/inits/01-basic.el index 090ff55..c3d540d 100644 --- a/emacs/inits/01-basic.el +++ b/emacs/inits/01-basic.el @@ -1,4 +1,4 @@ -;; Time-stamp: <2020-08-12 22:14:12 (user@hobbies)> +;; Time-stamp: <2021-01-04 15h39 EST (hobbies)> ;; ----------------------------------------------------------------------------- ;; Interface @@ -9,41 +9,45 @@ (fset 'yes-or-no-p 'y-or-n-p) (setq select-enable-clipboard t - select-enable-primary t - save-interprogram-paste-before-kill t - require-final-newline t - visible-bell nil) + select-enable-primary t + save-interprogram-paste-before-kill t + require-final-newline t + visible-bell nil) (setq echo-keystrokes 0.1 - confirm-kill-emacs 'y-or-n-p - disabled-command-function nil - ring-bell-function 'ignore) + confirm-kill-emacs 'y-or-n-p + disabled-command-function nil + ring-bell-function 'ignore) (size-indication-mode t) (defun enlarge-to-fill () - "Stretch the buffer to accomodate `fill-column` many columns." - (interactive) - (let ((ww (window-width))) - (when (< ww (+ 1 fill-column)) - (enlarge-window-horizontally (- (+ 1 fill-column) ww))))) + "Stretch the buffer to accomodate `fill-column` many columns." + (interactive) + (let ((ww (window-width))) + (when (< ww (+ 1 fill-column)) + (enlarge-window-horizontally (- (+ 1 fill-column) ww))))) (global-set-key (kbd "C-c 3") (lambda () - (interactive) - (split-window-horizontally) - (enlarge-to-fill))) + (interactive) + (split-window-horizontally) + (enlarge-to-fill))) (blink-cursor-mode 0) (setq cursor-type 'box) (set-cursor-color "black") (add-to-list 'custom-theme-load-path "~/.emacs.d/themes/") -(when (eq 'x (window-system)) - (use-package gruvbox-theme - :ensure t - :config (load-theme 'gruvbox-dark-soft t)) - (set-face-attribute 'region nil :background "orange") - (set-face-attribute 'default nil :font "Iosevka-14")) + +(use-package gruvbox-theme + :ensure t + :config + (when (eq 'x (window-system)) + (load-theme 'gruvbox-dark-soft t) + ;; (set-face-attribute 'region nil :background "orange") + (set-face-attribute 'default nil :font "Iosevka-16"))) + + (set-fringe-style 0) ;; (set-fringe-mode 128) @@ -52,11 +56,11 @@ ;; Backups (setq backup-by-copying t - backup-directory-alist '((".*" . "~/store/backups/")) - delete-old-versions t - kept-new-versions 6 - kept-old-versions 2 - version-control t) + backup-directory-alist '((".*" . "~/store/backups/")) + delete-old-versions t + kept-new-versions 6 + kept-old-versions 2 + version-control t) (setq create-lockfiles nil) @@ -67,13 +71,13 @@ (setq standard-indent 2) (setq-default tab-width 2 - indent-tabs-mode nil) + indent-tabs-mode t) (add-hook 'before-save-hook #'whitespace-cleanup) (show-paren-mode t) (setq-default truncate-lines t - truncate-partial-width-windows nil) + truncate-partial-width-windows nil) (setq scroll-step 1) (setq next-line-add-newlines nil) @@ -86,14 +90,14 @@ ;; Basic packages (use-package recentf - :demand t - :config - (setq recentf-max-saved-items 42) - (recentf-mode)) + :demand t + :config + (setq recentf-max-saved-items 42) + (recentf-mode)) (use-package uniquify - :config - (setq uniquify-buffer-name-style 'forward)) + :config + (setq uniquify-buffer-name-style 'forward)) (require 'saveplace) (save-place-mode) @@ -104,19 +108,19 @@ ;; (global-undo-tree-mode 1)) (use-package keyfreq - :ensure t - :config - (setq keyfreq-file "~/.emacs.d/keyfreq" - keyfreq-file-lock "~/.emacs.d/keyfreq.lock") - (keyfreq-mode 1) - (keyfreq-autosave-mode 1)) + :ensure t + :config + (setq keyfreq-file "~/.emacs.d/keyfreq" + keyfreq-file-lock "~/.emacs.d/keyfreq.lock") + (keyfreq-mode 1) + (keyfreq-autosave-mode 1)) ;; ----------------------------------------------------------------------------- ;; Scratch buffer (defun immortal-scratch () - (if (eq (current-buffer) (get-buffer "*scratch*")) - (progn (bury-buffer) nil) t)) + (if (eq (current-buffer) (get-buffer "*scratch*")) + (progn (bury-buffer) nil) t)) (add-hook 'kill-buffer-query-functions 'immortal-scratch) @@ -124,8 +128,8 @@ (defun display-startup-echo-area-message () nil) (setq initial-scratch-message nil - initial-buffer-choice t) + initial-buffer-choice t) (add-hook 'after-init-hook - (lambda () - (setq default-directory "~/"))) + (lambda () + (setq default-directory "~/"))) diff --git a/emacs/inits/20-programming.el b/emacs/inits/20-programming.el index da47f83..0ac6512 100644 --- a/emacs/inits/20-programming.el +++ b/emacs/inits/20-programming.el @@ -1,4 +1,4 @@ -;; Time-stamp: <2020-12-29 18h53 EST (hobbies)> +;; Time-stamp: <2021-01-04 15h49 EST (hobbies)> ;; ----------------------------------------------------------------------------- ;; General setup @@ -15,15 +15,24 @@ ;; (when (< ww (+ 5 fill-column)) ;; (enlarge-window-horizontally (- (+ 5 fill-column) ww))))) +(use-package smart-tabs-mode + :ensure t + :config + (smart-tabs-insinuate 'c 'c++ 'java 'javascript 'cperl 'ruby 'nxml)) + +(use-package flycheck + :defer t + :ensure t) + (defun programming-setup () - (subword-mode 1) - (electric-pair-local-mode) - ;; Emacs25 compat - (if (fboundp 'display-line-numbers-mode) - (display-line-numbers-mode) - (linum-mode)) - (setq auto-hscroll-mode t) - (yas-minor-mode-on)) + (subword-mode 1) + (electric-pair-local-mode) + ;; Emacs25 compat + (if (fboundp 'display-line-numbers-mode) + (display-line-numbers-mode) + (linum-mode)) + (setq auto-hscroll-mode t) + (yas-minor-mode-on)) (add-hook 'prog-mode-hook #'programming-setup) @@ -31,208 +40,293 @@ ;; Specific packages (use-package shift-number - :ensure t - :bind (("C-c s p" . shift-number-up) - ("C-c s n" . shift-number-down))) + :ensure t + :bind (("C-c s p" . shift-number-up) + ("C-c s n" . shift-number-down))) (use-package comment-dwim-2 - :ensure t - :bind (("M-;" . comment-dwim-2)) - :config (setq comment-multi-line t)) + :ensure t + :bind (("M-;" . comment-dwim-2)) + :config (setq comment-multi-line t)) (use-package aggressive-indent - :ensure t - :defer t) + :ensure t + :defer t) (use-package yasnippet - :ensure t - :defer t - :commands yas-minor-mode-on) + :ensure t + :defer t + :commands yas-minor-mode-on) (use-package elec-pair - :defer t - :config - (setq electric-pair-delete-adjacent-pairs t - electric-pair-skip-self 'electric-pair-default-skip-self - electric-pair-preserve-balance t - electric-pair-skip-whitespace t - electric-pair-inhibit-predicate 'electric-pair-default-inhibit)) + :defer t + :config + (setq electric-pair-delete-adjacent-pairs t + electric-pair-skip-self 'electric-pair-default-skip-self + electric-pair-preserve-balance t + 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)) + :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)))) + :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)))))) + :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)))) + :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) + +;; ----------------------------------------------------------------------------- +;; C ;; What are these? ;; (setq gdb-show-threads-by-default nil ;; gdb-many-windows nil ;; gdb-show-main nil) - -(use-package flycheck - :defer t - :ensure t) - (use-package company-irony-c-headers - :ensure t - :defer t) + :ensure t + :defer t) (use-package company-irony - :ensure t - :defer t) + :ensure t + :defer t) (use-package irony - :ensure t - :defer t - :hook (irony-mode . (lambda () - (require 'company) - (company-mode-on) - (irony-cdb-autosetup-compile-options) - - (require 'company-irony) - (require 'company-irony-c-headers) - (add-to-list 'company-backends '(company-irony-c-headers company-irony))))) + :ensure t + :defer t + :hook (irony-mode . (lambda () + (require 'company) + (company-mode-on) + (irony-cdb-autosetup-compile-options) + (require 'company-irony) + (require 'company-irony-c-headers) + (add-to-list 'company-backends '(company-irony-c-headers company-irony))))) (use-package flycheck-irony - :ensure t - :defer t) + :ensure t + :defer t) (use-package cc-mode - :defer t - :config - (c-set-offset 'case-label '+) - (setq-default c-basic-offset 2)) - -(add-hook 'c-mode-hook - (lambda () - (abbrev-mode 0) - - (irony-mode) + :defer t + :bind (:map c-mode-map + ("M-/" . lh-matching-delim)) + :hook (c-mode . (lambda () + (auto-fill-mode) + (set-fill-column 70) + (abbrev-mode 0) + (irony-mode) + (flycheck-mode) + (flycheck-irony-setup) + (c-toggle-hungry-state 1) + (c-toggle-electric-state 1) + (c-toggle-syntactic-indentation 1))) + :config + (c-add-style "gnu-mod" + '("gnu" + (c-basic-offset . 2) ; Guessed value + (c-offsets-alist + (block-close . 0) ; Guessed value + (case-label . +) ; Guessed value + (defun-block-intro . +) ; Guessed value + (defun-close . 0) ; Guessed value + (defun-open . 0) ; Guessed value + (else-clause . 0) ; Guessed value + (statement . 0) ; Guessed value + (statement-block-intro . +) ; Guessed value + (statement-case-intro . +) ; Guessed value + (statement-cont . +) ; Guessed value + (substatement . +) ; Guessed value + (topmost-intro . 0) ; Guessed value + (topmost-intro-cont . 0) ; Guessed value + (access-label . -) + (annotation-top-cont . 0) + (annotation-var-cont . +) + (arglist-close . c-lineup-close-paren) + (arglist-cont c-lineup-gcc-asm-reg 0) + (arglist-cont-nonempty . c-lineup-arglist) + (arglist-intro . c-lineup-arglist-intro-after-paren) + (block-open . 0) + (brace-entry-open . 0) + (brace-list-close . 0) + (brace-list-entry . 0) + (brace-list-intro first c-lineup-2nd-brace-entry-in-arglist c-lineup-class-decl-init-+ +) + (brace-list-open . +) + (c . c-lineup-C-comments) + (catch-clause . 0) + (class-close . 0) + (class-open . 0) + (comment-intro . c-lineup-comment) + (composition-close . 0) + (composition-open . 0) + (cpp-define-intro c-lineup-cpp-define +) + (cpp-macro . -1000) + (cpp-macro-cont . +) + (do-while-closure . 0) + (extern-lang-close . 0) + (extern-lang-open . 0) + (friend . 0) + (func-decl-cont . +) + (inclass . +) + (incomposition . +) + (inexpr-class . +) + (inexpr-statement . +) + (inextern-lang . +) + (inher-cont . c-lineup-multi-inher) + (inher-intro . +) + (inlambda . 0) + (inline-close . 0) + (inline-open . 0) + (inmodule . +) + (innamespace . +) + (knr-argdecl . 0) + (knr-argdecl-intro . 5) + (label . 0) + (lambda-intro-cont . +) + (member-init-cont . c-lineup-multi-inher) + (member-init-intro . +) + (module-close . 0) + (module-open . 0) + (namespace-close . 0) + (namespace-open . 0) + (objc-method-args-cont . c-lineup-ObjC-method-args) + (objc-method-call-cont c-lineup-ObjC-method-call-colons c-lineup-ObjC-method-call +) + (objc-method-intro . [0]) + (statement-case-open . +) + (stream-op . c-lineup-streamop) + (string . -1000) + (substatement-label . 0) + (substatement-open . +) + (template-args-cont c-lineup-template-args +)))) + (setq c-default-style '((java-mode . "java") + (awk-mode . "awk") + (other . "gnu-mod")))) - (flycheck-mode) - (flycheck-irony-setup) - - (c-toggle-hungry-state 1) - (c-toggle-electric-state 1) - (c-toggle-syntactic-indentation 1))) - -(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) ;; ----------------------------------------------------------------------------- ;; Rust (use-package lsp-mode - :ensure t - :defer t) + :ensure t + :defer t) (use-package cargo - :ensure t - :defer t) + :ensure t + :defer t) (use-package flycheck-rust - :after flycheck - :ensure t - :defer t) + :after flycheck + :ensure t + :defer t) (use-package rust-mode - :ensure t - :defer t - :bind (:map rust-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" . rust-compile) - ("C-c C-r" . rust-run)) - :hook (rust-mode . (lambda () - (cargo-minor-mode) - ;; For some reason this is not automatic - (setq-local electric-pair-pairs - (cons '(?' . ?') electric-pair-pairs)) - ;; Pair {} in rust format strings ... ? - (setq-local electric-pair-text-pairs - (cons '(?{ . ?}) electric-pair-pairs)) - (flycheck-rust-setup) - (lsp))) - :config - (setq rust-indent-offset 4 - rust-indent-method-chain t - rust-indent-where-clause t - rust-format-on-save t) - (setq lsp-rust-server 'rust-analyzer - lsp-rust-analyzer-call-info-full nil)) + :ensure t + :defer t + :bind (:map rust-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" . rust-compile) + ("C-c C-r" . rust-run)) + :hook (rust-mode . (lambda () + (cargo-minor-mode) + ;; For some reason this is not automatic + (setq-local electric-pair-pairs + (cons '(?' . ?') electric-pair-pairs)) + ;; Pair {} in rust format strings ... ? + (setq-local electric-pair-text-pairs + (cons '(?{ . ?}) electric-pair-pairs)) + (flycheck-rust-setup) + (lsp))) + :config + (setq rust-indent-offset 4 + rust-indent-method-chain t + rust-indent-where-clause t + rust-format-on-save t) + (setq lsp-rust-server 'rust-analyzer + lsp-rust-analyzer-call-info-full nil)) + +;; ----------------------------------------------------------------------------- +;; Python + +(use-package elpy + :ensure t + :defer t + :init + (advice-add 'python-mode :before 'elpy-enable) + :config + (setq python-shell-interpreter "python3")) |
