(require 're-bindings)
;; Loaded Later
-(add-hook 'after-init-hook (lambda ()
- ;;(require 'acme-mouse)
- (require 're-repl-defuns)
- (require 're-math-defuns)
- (require 're-electronics-defuns)
- (require 're-plc-defuns)
- (require 're-refrigeration-defuns)
- (require 're-skeletons)
- (require 're-org)
- (require 're-org-defuns)))
-(add-hook 'c-mode-hook (lambda ()
- (require 're-c-style)))
+(add-hook 'after-init-hook
+ (lambda ()
+ ;;(require 'acme-mouse)
+ (require 're-repl-defuns)
+ (require 're-math-defuns)
+ (require 're-electronics-defuns)
+ (require 're-plc-defuns)
+ (require 're-refrigeration-defuns)
+ (require 're-skeletons)
+ (require 're-org)
+ (require 're-org-defuns)))
+
+(add-hook 'c-mode-hook
+ (lambda ()
+ (require 're-c-style)))
;; Buffer customizations
(setq-default indicate-empty-lines t
- fill-column 80
- cursor-type 'bar
- cursor-in-non-selected-windows 'hollow)
+ fill-column 80
+ cursor-type 'bar
+ cursor-in-non-selected-windows 'hollow)
(blink-cursor-mode -1)
(column-number-mode t)
;; Buffer interaction
(delete-selection-mode t)
-(setq disabled-command-function nil
- save-interprogram-paste-before-kill t
- confirm-kill-processes nil
- mouse-1-click-follows-link nil)
-(global-sedit-mouse-mode 1)
+(global-sedit-mouse-mode t)
+(setq disabled-command-function nil
+ save-interprogram-paste-before-kill t
+ confirm-kill-processes nil
+ mouse-1-click-follows-link nil)
+
;; Buffer navigation
(windmove-default-keybindings 'control)
dired-hide-details-hide-symlink-targets nil)
(add-hook 'dired-mode-hook
- (lambda ()
- (dired-hide-details-mode t)
- (keymap-set dired-mode-map
- "RET" 'dired-find-alternate-file)))
+ (lambda ()
+ (dired-hide-details-mode t)
+ (keymap-set dired-mode-map
+ "RET" #'dired-find-alternate-file)))
;; Bookmarks
(setq bookmark-save-flag 1)
;; Pretty-Printing
(setq prettify-symbols-alist '(("lambda" . 955)
- ("delta" . 120517)
- ("epsilon" . 120518)
- ("->" . 8594)
- ("<=" . 8804)
- (">=" . 8805)))
+ ("delta" . 120517)
+ ("epsilon" . 120518)
+ ("->" . 8594)
+ ("<=" . 8804)
+ (">=" . 8805)))
(global-prettify-symbols-mode t)
+(setq-default indent-tabs-mode nil)
;; Paren-matching
(setq show-paren-delay 0
show-paren-style 'expression)
(set-face-attribute 'show-paren-match nil
- :foreground 'unspecified
- :background 'unspecified
- :underline t)
+ :foreground 'unspecified
+ :background 'unspecified
+ :underline t)
;; Help
(setq apropos-do-all t)
;; Cleanup on save
(setq require-final-newline t)
-(add-hook 'before-save-hook 'whitespace-cleanup)
-(add-hook 'after-save-hook 'executable-make-buffer-file-executable-if-script-p)
+(add-hook 'before-save-hook #'whitespace-cleanup)
+(add-hook 'after-save-hook #'executable-make-buffer-file-executable-if-script-p)
;; Version Control
(setq vc-make-backup-files t
;; Auto-revert
(global-auto-revert-mode t)
-(setq global-auto-revert-non-file-buffers t)
+(setq global-auto-revert-non-file-buffers t
+ global-auto-revert-ignore-modes '(Buffer-menu-mode))
;; Crash handling
(setq attempt-stack-overflow-recovery nil
(setq abbrev-file-name (expand-file-name "abbrev_defs" user-emacs-directory)
save-abbrevs 'silently)
-(add-hook 'org-mode-hook (lambda ()
- #'abbrev-mode))
+(add-hook 'org-mode-hook #'abbrev-mode)
;; Customize System
(setq custom-file (expand-file-name "custom.el" user-emacs-directory))
+
(when (not (file-exists-p custom-file))
(make-empty-file custom-file))
;;; Code:
;; Editing Bindings
-(keymap-global-set "<insert>" nil)
-(keymap-global-set "C-\\" 'undo-redo)
-(keymap-global-set "C-S-K" 'kill-whole-line)
-(keymap-global-set "C-w" 're/kill-bword-or-region)
-(keymap-global-set "C-u" '(lambda () (interactive) (kill-line 0)))
+(keymap-global-set "<insert>" nil) ; keep accidentally toggling overwrite-mode
+(keymap-global-set "C-\\" #'undo-redo)
+(keymap-global-set "C-S-K" #'kill-whole-line)
+(keymap-global-set "C-w" #'re/kill-bword-or-region)
+(keymap-global-set "C-u" (lambda ()
+ (interactive)
+ (kill-line 0))) ; kill-line backwards
(keymap-set key-translation-map "C-h" "<DEL>") ; Prefer F1 for help
-(keymap-global-set "C-o" 're/open-line-below)
-(keymap-global-set "M-o" 're/open-line-above)
+(keymap-global-set "C-o" #'re/open-line-below)
+(keymap-global-set "M-o" #'re/open-line-above)
(keymap-global-set "M-j" (lambda ()
(interactive)
(join-line 0))) ; join-line other way
-(keymap-global-set "C-z" 'zap-up-to-char)
-(keymap-global-set "C-c s" 'sort-lines)
-(keymap-global-set "M-;" 're/comment-dwim)
-(keymap-global-set "<remap> <capitalize-word>" 'capitalize-dwim)
-(keymap-global-set "<remap> <downcase-word>" 'downcase-dwim)
-(keymap-global-set "<remap> <upcase-word>" 'upcase-dwim)
-(keymap-global-set "M-'" 'universal-argument)
+(keymap-global-set "C-z" #'zap-up-to-char)
+(keymap-global-set "C-c s" #'sort-lines)
+(keymap-global-set "M-;" #'re/comment-dwim)
+(keymap-global-set "<remap> <capitalize-word>" #'capitalize-dwim)
+(keymap-global-set "<remap> <downcase-word>" #'downcase-dwim)
+(keymap-global-set "<remap> <upcase-word>" #'upcase-dwim)
+(keymap-global-set "M-'" #'universal-argument)
;; Motion
-(keymap-global-set "<home>" 'beginning-of-buffer)
-(keymap-global-set "<end>" 'end-of-buffer)
-(keymap-global-set "M-n" 'next-buffer)
-(keymap-global-set "M-p" 'previous-buffer)
-(keymap-global-set "<mouse-4>" 'previous-buffer)
-(keymap-global-set "C-M-o" 're/other-window-or-split-window)
-(keymap-global-set "<remap> <move-beginning-of-line>" 're/smart-beginning-of-line)
-(keymap-global-set "<remap> <move-end-of-line>" 're/smart-end-of-line)
-(keymap-set visual-line-mode-map "C-a" 're/smart-beginning-of-line)
-(keymap-set visual-line-mode-map "C-e" 're/smart-end-of-line)
-(keymap-global-set "<remap> <goto-line>" 're/goto-line)
+(keymap-global-set "<home>" #'beginning-of-buffer)
+(keymap-global-set "<end>" #'end-of-buffer)
+(keymap-global-set "M-n" #'next-buffer)
+(keymap-global-set "M-p" #'previous-buffer)
+(keymap-global-set "<mouse-4>" #'previous-buffer)
+(keymap-global-set "C-M-o" #'re/other-window-or-split-window)
+(keymap-global-set "<remap> <move-beginning-of-line>" #'re/smart-beginning-of-line)
+(keymap-global-set "<remap> <move-end-of-line>" #'re/smart-end-of-line)
+(keymap-set visual-line-mode-map "C-a" #'re/smart-beginning-of-line)
+(keymap-set visual-line-mode-map "C-e" #'re/smart-end-of-line)
+(keymap-global-set "<remap> <goto-line>" #'re/goto-line)
;; Search
-(keymap-global-set "M-s ." 'isearch-forward-thing-at-point)
-(keymap-global-set "M-s M-." 'isearch-forward-symbol-at-point)
-(keymap-global-set "M-%" 'replace-regexp)
-(keymap-global-set "C-%" 'replace-string)
-(keymap-global-set "C-s" 're/isearch-forward-use-region)
-(keymap-global-set "C-r" 're/isearch-backward-use-region)
-(keymap-global-set "C-S-S" 'isearch-forward-regexp)
-(keymap-global-set "C-S-R" 'isearch-backward-regexp)
+(keymap-global-set "M-s ." #'isearch-forward-thing-at-point)
+(keymap-global-set "M-s M-." #'isearch-forward-symbol-at-point)
+(keymap-global-set "M-%" #'replace-regexp)
+(keymap-global-set "C-%" #'replace-string)
+(keymap-global-set "C-s" #'re/isearch-forward-use-region)
+(keymap-global-set "C-r" #'re/isearch-backward-use-region)
+(keymap-global-set "C-S-S" #'isearch-forward-regexp)
+(keymap-global-set "C-S-R" #'isearch-backward-regexp)
;; Buffer/Window Management
-(keymap-global-set "C-x C-r" 're/rename-current-buffer-file)
-(keymap-global-set "<f5>" 'scratch-buffer)
-(keymap-global-set "S-<f5>" 're/scratch-only)
-(keymap-global-set "C-x M-f" 'find-file-at-point)
-(keymap-global-set "C-x C-b" 'buffer-menu)
-(keymap-global-set "C-x M-b" 'buffer-menu-other-window)
+(keymap-global-set "C-x C-r" #'re/rename-current-buffer-file)
+(keymap-global-set "<f5>" #'scratch-buffer)
+(keymap-global-set "S-<f5>" #'re/scratch-only)
+(keymap-global-set "C-x M-f" #'find-file-at-point)
+(keymap-global-set "C-x C-b" #'buffer-menu)
+(keymap-global-set "C-x M-b" #'buffer-menu-other-window)
;; Recents and Bookmarks
-(keymap-global-set "C-c r" 'recentf-open-files)
-(keymap-global-set "C-x r B" 'bookmark-jump-other-window)
+(keymap-global-set "C-c r" #'recentf-open-files)
+(keymap-global-set "C-x r B" #'bookmark-jump-other-window)
+
+;; (E)Lisp
+(keymap-global-set "C-M-z" #'eval-region)
+(keymap-global-set "C-M-S-q" (lambda ()
+ (interactive)
+ (indent-pp-sexp t)))
-;; Eval/REPL
-(keymap-global-set "C-M-z" 'eval-region)
-(keymap-global-set "C-c i" 'ielm)
+;; IELM
+(keymap-global-set "C-c i" #'ielm)
(add-hook 'ielm-mode-hook
(lambda ()
- (keymap-set inferior-emacs-lisp-mode-map "C-l" 'comint-clear-buffer)
- (keymap-set inferior-emacs-lisp-mode-map ")" (re/send-on-close-paren 'ielm-send-input))))
-(keymap-global-set "C-c e" 'eshell)
+ (keymap-set inferior-emacs-lisp-mode-map "C-l" #'comint-clear-buffer)
+ (keymap-set inferior-emacs-lisp-mode-map ")" (re/send-on-close-paren #'ielm-send-input))))
+
+;; Eshell
+(keymap-global-set "C-c e" #'eshell)
(add-hook 'eshell-mode-hook
(lambda ()
- (keymap-set eshell-mode-map ")" (re/send-on-close-paren 'eshell-send-input))
- (keymap-set eshell-mode-map "C-d" 'eshell-quit-or-delete-char)))
+ (keymap-set eshell-mode-map ")" (re/send-on-close-paren #'eshell-send-input))
+ (keymap-set eshell-mode-map "C-d" #'eshell-quit-or-delete-char)))
+;; SLIME REPL
+(add-hook 'slime-repl-mode-hook
+ (lambda ()
+ (keymap-set slime-repl-mode-map ")" (re/send-on-close-paren #'slime-repl-return))))
;; Org Starters
-(keymap-global-set "C-c l" 'org-store-link)
-(keymap-global-set "C-c a" 'org-agenda)
-(keymap-global-set "C-c c" 'org-capture)
-(keymap-global-set "C-c b" 'org-switchb)
-(keymap-global-set "<f8>" 're/org-agenda-show-custom)
-(keymap-global-set "<f6>" 're/org-show-agenda)
+(keymap-global-set "C-c l" #'org-store-link)
+(keymap-global-set "C-c a" #'org-agenda)
+(keymap-global-set "C-c c" #'org-capture)
+(keymap-global-set "C-c b" #'org-switchb)
+(keymap-global-set "<f8>" #'re/org-agenda-show-custom)
+(keymap-global-set "<f6>" #'re/org-show-agenda)
(provide 're-bindings)
;;; hic terminatur re-bindings.el
;;; Code:
+(require 're-math-defuns)
+
(defun eff-imp (r1 &optional r2)
"Calculate the effective input impedance, given two resistances.
For use in `amps->volts' and related. The handling of only one
`(/ 1 (float ,x)))
(defmacro E (number exponent)
- "Pseudo Engineering notation.
+ "Prefix Engineering notation.
i.e. (E 5 3) == 5E3 == 5000"
`(* ,number (^ 10 ,exponent)))
(org-map-entries 'org-id-get-create))
(defun re/tangle-init ()
- "Tangle and compile init.org.
+ "Tangle and compile config.org.
Stolen from https://github.com/larstvei/dot-emacs."
(when (equal (buffer-file-name)
(expand-file-name (concat user-emacs-directory "config.org")))
(tags . " %:c % b")
(search . " %:c % b")))
-(setq org-agenda-custom-commands '((" " "Agenda"
- (;(agenda "" nil)
- (tags "need"
- ((org-agenda-overriding-header "Needed Items")))
- (tags-todo "-REFILE+TODO=\"IN-PROGRESS\""
- ((org-agenda-overriding-header "In Progress")))
- (tags "REFILE"
- ((org-agenda-overriding-header "Tasks to Refile")))
- (tags-todo "-TODO=\"WAITING\"-TODO=\"IN-PROGRESS\"-standard-REFILE"
- ((org-agenda-overriding-header "Filed Tasks")))
- (tags-todo "TODO=\"WAITING\"-REFILE"
- ((org-agenda-overriding-header "Holding")))
- (tags-todo "standard"
- ((org-agenda-overriding-header "Changes to Standard")))))))
+(setq org-agenda-custom-commands
+ '((" " "Agenda"
+ ( ;(agenda "" nil)
+ (tags "need"
+ ((org-agenda-overriding-header "Needed Items")))
+ (tags-todo "-REFILE+TODO=\"IN-PROGRESS\""
+ ((org-agenda-overriding-header "In Progress")))
+ (tags "REFILE"
+ ((org-agenda-overriding-header "Tasks to Refile")))
+ (tags-todo "-TODO=\"WAITING\"-TODO=\"IN-PROGRESS\"-standard-REFILE"
+ ((org-agenda-overriding-header "Filed Tasks")))
+ (tags-todo "TODO=\"WAITING\"-REFILE"
+ ((org-agenda-overriding-header "Holding")))
+ (tags-todo "standard"
+ ((org-agenda-overriding-header "Changes to Standard")))))))
(setq org-columns-default-format "%50ITEM(Task) %10CLOCKSUM %16TIMESTAMP_IA"
org-agenda-start-with-log-mode t)
org-clock-report-include-clocking-task t
org-pretty-entities t)
-(setq org-capture-templates '(("n" "Note" entry (file org-default-notes-file)
- "* %?"
- :clock-in t
- :clock-resume t)
- ("t" "TODO" entry (file org-default-notes-file)
- "* TODO %?\n%U\n"
- :clock-in t
- :clock-resume t)
- ("m" "Meeting" entry (file+olp+datetree org-journal-file)
- "* %? :meeting:\n%t\n** Notes\n** Action Items"
- :time-prompt t)
- ("s" "Semi-Weekly PLC Meeting" entry (file+olp+datetree org-journal-file)
- "* Semi-Weekly PLC Meeting :plc:semiweekly:meeting:%^g \n%t\n** Notes\n** Action Items"
- :clock-in t
- :clock-resume t)
- ("a" "Appointment" entry (file+olp+datetree org-journal-file)
- "* %? :appt:\n%t"
- :time-prompt t)
- ("j" "Journal" entry (file+olp+datetree org-journal-file)
- "* %?\n%U\n")))
+(setq org-capture-templates
+ '(("n" "Note" entry
+ (file org-default-notes-file)
+ "* %?"
+ :clock-in t
+ :clock-resume t)
+ ("t" "TODO" entry
+ (file org-default-notes-file)
+ "* TODO %?\n%U\n"
+ :clock-in t
+ :clock-resume t)
+ ("m" "Meeting" entry
+ (file+olp+datetree org-journal-file)
+ "* %? :meeting:\n%t\n** Notes\n** Action Items"
+ :time-prompt t)
+ ("s" "Semi-Weekly PLC Meeting" entry
+ (file+olp+datetree org-journal-file)
+ "* Semi-Weekly PLC Meeting :plc:semiweekly:meeting:%^g \n%t\n** Notes\n** Action Items"
+ :clock-in t
+ :clock-resume t)
+ ("a" "Appointment" entry
+ (file+olp+datetree org-journal-file)
+ "* %? :appt:\n%t"
+ :time-prompt t)
+ ("j" "Journal" entry
+ (file+olp+datetree org-journal-file)
+ "* %?\n%U\n")))
(setq org-id-link-to-org-use-id 'create-if-interactive-and-no-custom-id)
org-src-preserve-indentation t
org-src-fontify-natively t)
-(keymap-set org-mode-map "M-<right>" 'org-shiftmetaright)
-(keymap-set org-mode-map "M-<left>" 'org-shiftmetaleft)
-(keymap-set org-mode-map "M-S-<right>" 'org-metaright)
-(keymap-set org-mode-map "M-S-<left>" 'org-metaleft)
+(keymap-set org-mode-map "M-<right>" #'org-shiftmetaright)
+(keymap-set org-mode-map "M-<left>" #'org-shiftmetaleft)
+(keymap-set org-mode-map "M-S-<right>" #'org-metaright)
+(keymap-set org-mode-map "M-S-<left>" #'org-metaleft)
(provide 're-org)
;;; hic terminatur re-org.el
:ensure t
:config
(openwith-mode t)
- (setq openwith-associations (list ; Set these up for linux - windows falls back to system default
- (list (openwith-make-extension-regexp
- '("xls" "xlsx"
- "doc" "docx"
- "ppt" "pptx"
- "odt" "ods"
- "odg" "odp"))
- "libreoffice" ; Windows falls back to system default
- '(file))
- (list (openwith-make-extension-regexp
- '("adpro"))
- "ProductivitySuite"
- '(file))
- (list (openwith-make-extension-regexp
- '("pdf"))
- "zathura" ; Windows falls back to ms-office
- '(file)))))
+ (setq openwith-associations
+ (list
+ (list
+ (openwith-make-extension-regexp
+ '("xls" "xlsx" "doc" "docx" "ppt" "pptx" "odt" "ods" "odg" "odp"))
+ "libreoffice" ; Windows falls back to system default
+ '(file))
+ (list
+ (openwith-make-extension-regexp
+ '("adpro"))
+ "ProductivitySuite"
+ '(file))
+ (list
+ (openwith-make-extension-regexp
+ '("pdf"))
+ "zathura" ; Windows falls back to ms-office
+ '(file)))))
+
(use-package auctex
:ensure t
:defer t)
;;; Code:
+(require 're-electronics-defuns)
+
(defun max-counts (resolution)
"Calculate the max count for a PLC analog, given card's bit-resolution."
(1- (^ 2 resolution)))
calculate `amps->counts'. Otherwise ignore r1/r2 and calculate
`volts->counts'."
(if (eq nil r1)
- (list (volts->counts vmax upper resolution)
- (volts->counts vmax lower resolution))
- (list (amps->counts vmax upper resolution r1 r2)
- (amps->counts vmax lower resolution r1 r2))))
+ (list
+ (volts->counts vmax upper resolution)
+ (volts->counts vmax lower resolution))
+ (list
+ (amps->counts vmax upper resolution r1 r2)
+ (amps->counts vmax lower resolution r1 r2))))
(defun divisor (raw-max raw-min scaled-max scaled-min)
"Calculate 1/slope given PLC Max/Min and Eng. Max/Min."
"Calculate the divisor, offset, and maybe final value, given the parameters."
(let* ((div (divisor raw-max raw-min scaled-max scaled-min))
(os (offset raw-max raw-min scaled-max scaled-min)))
- (if (eq nil analog-input)
- (list div os)
- (list div os (final analog-input div os)))))
+ (if (eq nil analog-input)
+ (list div os)
+ (list div os (final analog-input div os)))))
(provide 're-plc-defuns)
;;; hic terminatur re-plc-defuns.el
;;; Code:
+(require 're-math-defuns)
+
;; Unit Conversions
(defun mm->in (mm)
"Convert milimeters to inches."
(defun sat-water-press (temp)
"Calculate the saturated water pressure at a temp (F)."
(+ .0182795
- (* temp .001029904)
+ (* temp 0.001029904)
(* (square temp) 0.00002579408)
(* (cube temp) (E 2.400493 -7))
(* (^ temp 4) (E 8.100939 -10))
;;; Code:
-;; Any Repl
+;; Any Lisp Repl
(defmacro re/send-on-close-paren (executor)
"Generalizes sending an execute on close paren.
When a sexp is complete - that is when parens balance as you type - execute it.
(with-file-modes #o600
(comint-write-input-ring)))
-(add-hook 'ielm-mode-hook 're/ielm-init-history)
-(advice-add 'ielm-send-input :after 're/ielm-write-history)
+(add-hook 'ielm-mode-hook #'re/ielm-init-history)
+(advice-add 'ielm-send-input :after #'re/ielm-write-history)
(provide 're-repl-defuns)
;;; hic terminatur re-repl-defuns.el
-Subproject commit 72aeb3ea2018f2ff0a75f648be5c036df9b14b9e
+Subproject commit 0b287f6a08c4841fdbc80b91213ebe1c45706ae8