Move all configuration from org to elisp files
This commit is contained in:
parent
cd9f77887e
commit
e2594671af
15 changed files with 361 additions and 348 deletions
105
emacs/.emacs.d/init/oni-circe-init.el
Normal file
105
emacs/.emacs.d/init/oni-circe-init.el
Normal file
|
@ -0,0 +1,105 @@
|
|||
;;; oni-circe-init.el --- My Circe configuration -*- lexical-binding: t; -*-
|
||||
|
||||
;; Copyright (C) 2018 Tom Willemse
|
||||
|
||||
;; Author: Tom Willemse <tom@ryuslash.org>
|
||||
;; Keywords: local
|
||||
|
||||
;; This program is free software; you can redistribute it and/or modify
|
||||
;; it under the terms of the GNU General Public License as published by
|
||||
;; the Free Software Foundation, either version 3 of the License, or
|
||||
;; (at your option) any later version.
|
||||
|
||||
;; This program is distributed in the hope that it will be useful,
|
||||
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
;; GNU General Public License for more details.
|
||||
|
||||
;; You should have received a copy of the GNU General Public License
|
||||
;; along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
;;; Commentary:
|
||||
|
||||
;; My Circe configuration
|
||||
|
||||
;;; Code:
|
||||
|
||||
(require 'circe)
|
||||
(require 'circe-color-nicks)
|
||||
(require 'circe-serenity)
|
||||
(require 'oni-circe)
|
||||
;(require 'mowedline)
|
||||
|
||||
(add-to-list 'circe-network-options
|
||||
`("Freenode"
|
||||
:nick "ryuslash"
|
||||
:channels ("#mowedline"
|
||||
"#ninthfloor"
|
||||
"#dispass"
|
||||
"#linuxvoice"
|
||||
"#conkeror"
|
||||
"#emacs-circe"
|
||||
"#chicken"
|
||||
:after-auth
|
||||
"#emacs")
|
||||
:nickserv-password
|
||||
,(oni-circe-get-password-for "irc.freenode.net")))
|
||||
|
||||
(add-to-list 'circe-network-options
|
||||
`("Twitch"
|
||||
:use-tls nil
|
||||
:nick "ryuslash"
|
||||
:host "irc.twitch.tv"
|
||||
:pass ,(oni-circe-get-password-for "irc.twitch.tv")
|
||||
:port 6667))
|
||||
|
||||
(enable-circe-color-nicks)
|
||||
|
||||
(enable-circe-serenity)
|
||||
|
||||
(defun mowedline-colorize-mode-line-spec (s)
|
||||
(cond
|
||||
((stringp s) (string-trim s))
|
||||
((eq ':propertize (car s))
|
||||
(let ((s (cadr s))
|
||||
(face (plist-get (cddr s) 'face)))
|
||||
(if face
|
||||
`(color ,(face-foreground face)
|
||||
,(substring-no-properties s))
|
||||
s)))
|
||||
(t "")))
|
||||
|
||||
;(setq mowedline-update-function 'mowedline-update/dbus)
|
||||
|
||||
(defvar jjf-tracking-buffers '())
|
||||
(defvar jjf-external-tracking-timer nil)
|
||||
(defun jjf-external-tracking ()
|
||||
(setq jjf-external-tracking-timer nil)
|
||||
(mowedline-update
|
||||
'irc
|
||||
(if (stringp jjf-tracking-buffers)
|
||||
(mowedline-colorize jjf-tracking-buffers t)
|
||||
(format "%S" (mapcar #'mowedline-colorize-mode-line-spec
|
||||
jjf-tracking-buffers)))))
|
||||
|
||||
(defun oni:clear-irc-mowedline-widget ()
|
||||
(mowedline-clear 'irc))
|
||||
|
||||
(defun jjf-external-tracking-advice (orig-fun &rest args)
|
||||
"Update my external status bar when tracking computes a new
|
||||
status line, and suppress tracking in the mode-line. Since
|
||||
tracking-status may be called many times in quick succession, for
|
||||
example on a make-frame-visible event, we use a short timer to
|
||||
only call the updater once within a minimum duration."
|
||||
(setq jjf-tracking-buffers (apply orig-fun args))
|
||||
(when jjf-external-tracking-timer
|
||||
(cancel-timer jjf-external-tracking-timer))
|
||||
(setq jjf-external-tracking-timer
|
||||
(run-at-time 0.2 nil 'jjf-external-tracking))
|
||||
nil)
|
||||
|
||||
;(advice-add 'tracking-status :around #'jjf-external-tracking-advice)
|
||||
;(add-hook 'kill-emacs-hook 'oni:clear-irc-mowedline-widget)
|
||||
|
||||
(provide 'oni-circe-init)
|
||||
;;; oni-circe-init.el ends here
|
|
@ -1,123 +0,0 @@
|
|||
#+TITLE: Circe config
|
||||
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(require 'circe)
|
||||
(require 'circe-color-nicks)
|
||||
(require 'circe-serenity)
|
||||
(require 'oni-circe)
|
||||
(require 'mowedline)
|
||||
#+END_SRC
|
||||
|
||||
I switched to Circe from ERC because I couldn't make the
|
||||
customizations I wanted to, Circe seems much better at this.
|
||||
|
||||
I spend most of my time on IRC on Freenode.
|
||||
|
||||
#+BEGIN_SRC emacs-lisp -r -l ";(ref:%s)"
|
||||
(add-to-list 'circe-network-options
|
||||
`("Freenode"
|
||||
:nick "ryuslash"
|
||||
:channels ("#mowedline"
|
||||
"#ninthfloor"
|
||||
"#dispass"
|
||||
"#linuxvoice"
|
||||
"#conkeror"
|
||||
"#emacs-circe"
|
||||
"#chicken"
|
||||
:after-auth ;(ref:aauth)
|
||||
"#emacs")
|
||||
:nickserv-password
|
||||
,(oni-circe-get-password-for "irc.freenode.net")))
|
||||
#+END_SRC
|
||||
|
||||
The [[(aauth)][:after-auth]] keyword is used to specify that the =#emacs= channel
|
||||
should only be joined once the authentication with NickServ has
|
||||
finished. This has apparently become a requirement.
|
||||
|
||||
Sometimes I watch some Twitch streams as well.
|
||||
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(add-to-list 'circe-network-options
|
||||
`("Twitch"
|
||||
:use-tls nil
|
||||
:nick "ryuslash"
|
||||
:host "irc.twitch.tv"
|
||||
:pass ,(oni-circe-get-password-for "irc.twitch.tv")
|
||||
:port 6667))
|
||||
#+END_SRC
|
||||
|
||||
Enable coloring of nicks.
|
||||
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(enable-circe-color-nicks)
|
||||
#+END_SRC
|
||||
|
||||
Align all nicks and generally clean up the buffer. I call it: Circe
|
||||
Serenity.
|
||||
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(enable-circe-serenity)
|
||||
#+END_SRC
|
||||
|
||||
Add external tracking. Show the status of tracked buffers in
|
||||
mowedline instead in the mode-line. With color!
|
||||
|
||||
This code has been generously donated by [[http://retroj.net][retroj]], the author of
|
||||
mowedline.
|
||||
|
||||
First define a function to parse the text properties from the tracking
|
||||
buffers list so that highlights (from mentions) also appear in
|
||||
mowedline.
|
||||
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(defun mowedline-colorize-mode-line-spec (s)
|
||||
(cond
|
||||
((stringp s) (string-trim s))
|
||||
((eq ':propertize (car s))
|
||||
(let ((s (cadr s))
|
||||
(face (plist-get (cddr s) 'face)))
|
||||
(if face
|
||||
`(color ,(face-foreground face)
|
||||
,(substring-no-properties s))
|
||||
s)))
|
||||
(t "")))
|
||||
#+END_SRC
|
||||
|
||||
Also tell mowedline to use the dbus interface directly, instead of
|
||||
going through the command-line interface.
|
||||
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(setq mowedline-update-function 'mowedline-update/dbus)
|
||||
#+END_SRC
|
||||
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(defvar jjf-tracking-buffers '())
|
||||
(defvar jjf-external-tracking-timer nil)
|
||||
(defun jjf-external-tracking ()
|
||||
(setq jjf-external-tracking-timer nil)
|
||||
(mowedline-update
|
||||
'irc
|
||||
(if (stringp jjf-tracking-buffers)
|
||||
(mowedline-colorize jjf-tracking-buffers t)
|
||||
(format "%S" (mapcar #'mowedline-colorize-mode-line-spec
|
||||
jjf-tracking-buffers)))))
|
||||
|
||||
(defun oni:clear-irc-mowedline-widget ()
|
||||
(mowedline-clear 'irc))
|
||||
|
||||
(defun jjf-external-tracking-advice (orig-fun &rest args)
|
||||
"Update my external status bar when tracking computes a new
|
||||
status line, and suppress tracking in the mode-line. Since
|
||||
tracking-status may be called many times in quick succession, for
|
||||
example on a make-frame-visible event, we use a short timer to
|
||||
only call the updater once within a minimum duration."
|
||||
(setq jjf-tracking-buffers (apply orig-fun args))
|
||||
(when jjf-external-tracking-timer
|
||||
(cancel-timer jjf-external-tracking-timer))
|
||||
(setq jjf-external-tracking-timer
|
||||
(run-at-time 0.2 nil 'jjf-external-tracking))
|
||||
nil)
|
||||
|
||||
(advice-add 'tracking-status :around #'jjf-external-tracking-advice)
|
||||
(add-hook 'kill-emacs-hook 'oni:clear-irc-mowedline-widget)
|
||||
#+END_SRC
|
|
@ -1,22 +0,0 @@
|
|||
#+TITLE: Company mode configuration
|
||||
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(require 'company)
|
||||
(require 'diminish)
|
||||
#+END_SRC
|
||||
|
||||
Don't show that company mode is enabled in the minibuffer.
|
||||
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(diminish 'company-mode)
|
||||
#+END_SRC
|
||||
|
||||
Show a tooltip when there is more than one completion, show the
|
||||
documentation for a symbol in the echo area and always show a preview.
|
||||
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(setq company-frontends
|
||||
'(company-pseudo-tooltip-unless-just-one-frontend
|
||||
company-echo-metadata-frontend
|
||||
company-preview-frontend))
|
||||
#+END_SRC
|
46
emacs/.emacs.d/init/oni-dired-init.el
Normal file
46
emacs/.emacs.d/init/oni-dired-init.el
Normal file
|
@ -0,0 +1,46 @@
|
|||
;;; oni-dired-init.el --- My Dired configuration -*- lexical-binding: t; -*-
|
||||
|
||||
;; Copyright (C) 2018 Tom Willemse
|
||||
|
||||
;; Author: Tom Willemse <tom@ryuslash.org>
|
||||
;; Keywords: local
|
||||
|
||||
;; This program is free software; you can redistribute it and/or modify
|
||||
;; it under the terms of the GNU General Public License as published by
|
||||
;; the Free Software Foundation, either version 3 of the License, or
|
||||
;; (at your option) any later version.
|
||||
|
||||
;; This program is distributed in the hope that it will be useful,
|
||||
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
;; GNU General Public License for more details.
|
||||
|
||||
;; You should have received a copy of the GNU General Public License
|
||||
;; along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
;;; Commentary:
|
||||
|
||||
;; My dired configuration.
|
||||
|
||||
;;; Code:
|
||||
|
||||
(require 'dired)
|
||||
(require 'dired-x)
|
||||
|
||||
(defun oni:dired-add-wdired-keybinding ()
|
||||
"Add a keybinding for wdired mode."
|
||||
(define-key dired-mode-map (kbd "E") 'wdired-change-to-wdired-mode))
|
||||
|
||||
(setq dired-listing-switches "-alh")
|
||||
(setq dired-subdir-switches "-Alh")
|
||||
|
||||
(add-hook 'dired-mode-hook 'oni:dired-add-wdired-keybinding)
|
||||
|
||||
(add-to-list 'dired-guess-shell-alist-user
|
||||
`(,(rx ".pdf" eos) "zathura"))
|
||||
|
||||
(add-to-list 'dired-guess-shell-alist-user
|
||||
`(,(rx (or ".jpg" ".jpeg" ".png" ".gif") eos) "feh"))
|
||||
|
||||
(provide 'oni-dired-init)
|
||||
;;; oni-dired-init.el ends here
|
|
@ -1,43 +0,0 @@
|
|||
#+TITLE: Dired
|
||||
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(require 'dired)
|
||||
(require 'dired-x)
|
||||
#+END_SRC
|
||||
|
||||
Show human-readable sizes in dired buffers.
|
||||
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(setq dired-listing-switches "-alh")
|
||||
#+END_SRC
|
||||
|
||||
Show the same info for subdirectories, but don't show the =.= and =..=
|
||||
directories, since those are most likely already shown in the buffer.
|
||||
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(setq dired-subdir-switches "-Alh")
|
||||
#+END_SRC
|
||||
|
||||
Add a keybinding to dired buffers to change to wdired.
|
||||
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(defun oni:dired-add-wdired-keybinding ()
|
||||
"Add a keybinding for wdired mode."
|
||||
(define-key dired-mode-map (kbd "E") 'wdired-change-to-wdired-mode))
|
||||
|
||||
(add-hook 'dired-mode-hook 'oni:dired-add-wdired-keybinding)
|
||||
#+END_SRC
|
||||
|
||||
Open PDF files in zathura.
|
||||
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(add-to-list 'dired-guess-shell-alist-user
|
||||
`(,(rx ".pdf" eos) "zathura"))
|
||||
#+END_SRC
|
||||
|
||||
Open Jpeg, Gif and PNG files in feh.
|
||||
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(add-to-list 'dired-guess-shell-alist-user
|
||||
`(,(rx (or ".jpg" ".jpeg" ".png" ".gif") eos) "feh"))
|
||||
#+END_SRC
|
49
emacs/.emacs.d/init/oni-ediff-init.el
Normal file
49
emacs/.emacs.d/init/oni-ediff-init.el
Normal file
|
@ -0,0 +1,49 @@
|
|||
;;; oni-ediff-init.el --- My Ediff configuration -*- lexical-binding: t; -*-
|
||||
|
||||
;; Copyright (C) 2018 Tom Willemse
|
||||
|
||||
;; Author: Tom Willemse <tom@ryuslash.org>
|
||||
;; Keywords: local
|
||||
|
||||
;; This program is free software; you can redistribute it and/or modify
|
||||
;; it under the terms of the GNU General Public License as published by
|
||||
;; the Free Software Foundation, either version 3 of the License, or
|
||||
;; (at your option) any later version.
|
||||
|
||||
;; This program is distributed in the hope that it will be useful,
|
||||
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
;; GNU General Public License for more details.
|
||||
|
||||
;; You should have received a copy of the GNU General Public License
|
||||
;; along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
;;; Commentary:
|
||||
|
||||
;; My Ediff configuration.
|
||||
|
||||
;;; Code:
|
||||
|
||||
(require 'ediff)
|
||||
|
||||
(setq ediff-window-setup-function 'ediff-setup-windows-plain)
|
||||
|
||||
(setq ediff-split-window-function 'split-window-horizontally)
|
||||
|
||||
(setq ediff-diff-options "-w")
|
||||
|
||||
(defun oni:turn-on-fullscreen ()
|
||||
(unless (memq (frame-parameter nil 'fullscreen)
|
||||
'(fullscreen fullboth))
|
||||
(set-frame-parameter nil 'fullscreen 'fullboth)))
|
||||
|
||||
(defun oni:turn-off-fullscreen ()
|
||||
(when (memq (frame-parameter nil 'fullscreen)
|
||||
'(fullscreen fullboth))
|
||||
(set-frame-parameter nil 'fullscreen nil)))
|
||||
|
||||
(add-hook 'ediff-mode-hook 'oni:turn-on-fullscreen)
|
||||
(add-hook 'ediff-cleanup-hook 'oni:turn-off-fullscreen)
|
||||
|
||||
(provide 'oni-ediff-init)
|
||||
;;; oni-ediff-init.el ends here
|
|
@ -1,41 +0,0 @@
|
|||
#+TITLE: Ediff
|
||||
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(require 'ediff)
|
||||
#+END_SRC
|
||||
|
||||
Don't use a special frame for the ediff control buffer.
|
||||
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(setq ediff-window-setup-function 'ediff-setup-windows-plain)
|
||||
#+END_SRC
|
||||
|
||||
Show the different buffers next to eachother instead of underneath
|
||||
eachother.
|
||||
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(setq ediff-split-window-function 'split-window-horizontally)
|
||||
#+END_SRC
|
||||
|
||||
Don't show whitespace changes in ediff buffers.
|
||||
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(setq ediff-diff-options "-w")
|
||||
#+END_SRC
|
||||
|
||||
Show ediff in a fullscreen frame.
|
||||
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(defun oni:turn-on-fullscreen ()
|
||||
(unless (memq (frame-parameter nil 'fullscreen)
|
||||
'(fullscreen fullboth))
|
||||
(set-frame-parameter nil 'fullscreen 'fullboth)))
|
||||
|
||||
(defun oni:turn-off-fullscreen ()
|
||||
(when (memq (frame-parameter nil 'fullscreen)
|
||||
'(fullscreen fullboth))
|
||||
(set-frame-parameter nil 'fullscreen nil)))
|
||||
|
||||
(add-hook 'ediff-mode-hook 'oni:turn-on-fullscreen)
|
||||
(add-hook 'ediff-cleanup-hook 'oni:turn-off-fullscreen)
|
||||
#+END_SRC
|
37
emacs/.emacs.d/init/oni-java-init.el
Normal file
37
emacs/.emacs.d/init/oni-java-init.el
Normal file
|
@ -0,0 +1,37 @@
|
|||
;;; oni-java-init.el --- My java-mode configuration -*- lexical-binding: t; -*-
|
||||
|
||||
;; Copyright (C) 2018 Tom Willemse
|
||||
|
||||
;; Author: Tom Willemse <tom@ryuslash.org>
|
||||
;; Keywords: local
|
||||
|
||||
;; This program is free software; you can redistribute it and/or modify
|
||||
;; it under the terms of the GNU General Public License as published by
|
||||
;; the Free Software Foundation, either version 3 of the License, or
|
||||
;; (at your option) any later version.
|
||||
|
||||
;; This program is distributed in the hope that it will be useful,
|
||||
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
;; GNU General Public License for more details.
|
||||
|
||||
;; You should have received a copy of the GNU General Public License
|
||||
;; along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
;;; Commentary:
|
||||
|
||||
;; My `java-mode' configuration.
|
||||
|
||||
;;; Code:
|
||||
|
||||
(add-hook 'java-mode-hook 'electric-pair-local-mode)
|
||||
|
||||
(add-hook 'java-mode-hook 'electric-indent-local-mode)
|
||||
|
||||
(with-eval-after-load 'jdee-bsh
|
||||
(setq jdee-server-dir "~/usr/share/java/jdee/"))
|
||||
|
||||
(add-hook 'java-mode-hook 'fci-mode)
|
||||
|
||||
(provide 'oni-java-init)
|
||||
;;; oni-java-init.el ends here
|
|
@ -1,24 +0,0 @@
|
|||
Enable electric pair mode
|
||||
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(add-hook 'java-mode-hook 'electric-pair-local-mode)
|
||||
#+END_SRC
|
||||
|
||||
Enable electric indent mode
|
||||
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(add-hook 'java-mode-hook 'electric-indent-local-mode)
|
||||
#+END_SRC
|
||||
|
||||
Configure the JDEE server
|
||||
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(with-eval-after-load 'jdee-bsh
|
||||
(setq jdee-server-dir "~/usr/share/java/jdee/"))
|
||||
#+END_SRC
|
||||
|
||||
Enable fill column indicator
|
||||
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(add-hook 'java-mode-hook 'fci-mode)
|
||||
#+END_SRC
|
43
emacs/.emacs.d/init/oni-magit-init.el
Normal file
43
emacs/.emacs.d/init/oni-magit-init.el
Normal file
|
@ -0,0 +1,43 @@
|
|||
;;; oni-magit-init.el --- My magit configuration -*- lexical-binding: t; -*-
|
||||
|
||||
;; Copyright (C) 2018 Tom Willemse
|
||||
|
||||
;; Author: Tom Willemse <tom@ryuslash.org>
|
||||
;; Keywords: local
|
||||
|
||||
;; This program is free software; you can redistribute it and/or modify
|
||||
;; it under the terms of the GNU General Public License as published by
|
||||
;; the Free Software Foundation, either version 3 of the License, or
|
||||
;; (at your option) any later version.
|
||||
|
||||
;; This program is distributed in the hope that it will be useful,
|
||||
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
;; GNU General Public License for more details.
|
||||
|
||||
;; You should have received a copy of the GNU General Public License
|
||||
;; along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
;;; Commentary:
|
||||
|
||||
;; My magit configuration.
|
||||
|
||||
;;; Code:
|
||||
|
||||
(require 'magit)
|
||||
(require 'magithub)
|
||||
|
||||
(setq magit-diff-refine-hunk 'all)
|
||||
|
||||
(defvar oni:magit-status-rx
|
||||
(rx bos "*magit: "))
|
||||
|
||||
(defun oni:display-buffer-in-only-window (buffer alist)
|
||||
(delete-other-windows)
|
||||
(display-buffer-same-window buffer alist))
|
||||
|
||||
(add-to-list 'display-buffer-alist
|
||||
`(,oni:magit-status-rx oni:display-buffer-in-only-window))
|
||||
|
||||
(provide 'oni-magit-init)
|
||||
;;; oni-magit-init.el ends here
|
|
@ -1,37 +0,0 @@
|
|||
#+TITLE: Magit
|
||||
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(require 'magit)
|
||||
#+END_SRC
|
||||
|
||||
Magit is a very nice interface to Git for Emacs. It allows you to do
|
||||
just about anything with Git without leaving the comfort of your Emacs
|
||||
session.
|
||||
|
||||
Integrate github issues and pull requests in Magit. Requires the =hub=
|
||||
executable.
|
||||
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(require 'magithub)
|
||||
#+END_SRC
|
||||
|
||||
Show refined diffs in magit. This makes it much easier to see /what/
|
||||
has changed on a line.
|
||||
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(setq magit-diff-refine-hunk 'all)
|
||||
#+END_SRC
|
||||
|
||||
Make the magit status buffer always open as the only window in Emacs.
|
||||
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(defvar oni:magit-status-rx
|
||||
(rx bos "*magit: "))
|
||||
|
||||
(defun oni:display-buffer-in-only-window (buffer alist)
|
||||
(delete-other-windows)
|
||||
(display-buffer-same-window buffer alist))
|
||||
|
||||
(add-to-list 'display-buffer-alist
|
||||
`(,oni:magit-status-rx oni:display-buffer-in-only-window))
|
||||
#+END_SRC
|
39
emacs/.emacs.d/init/oni-shr-init.el
Normal file
39
emacs/.emacs.d/init/oni-shr-init.el
Normal file
|
@ -0,0 +1,39 @@
|
|||
;;; oni-shr-init.el --- My shr configuration -*- lexical-binding: t; -*-
|
||||
|
||||
;; Copyright (C) 2018 Tom Willemse
|
||||
|
||||
;; Author: Tom Willemse <tom@ryuslash.org>
|
||||
;; Keywords: local
|
||||
|
||||
;; This program is free software; you can redistribute it and/or modify
|
||||
;; it under the terms of the GNU General Public License as published by
|
||||
;; the Free Software Foundation, either version 3 of the License, or
|
||||
;; (at your option) any later version.
|
||||
|
||||
;; This program is distributed in the hope that it will be useful,
|
||||
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
;; GNU General Public License for more details.
|
||||
|
||||
;; You should have received a copy of the GNU General Public License
|
||||
;; along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
;;; Commentary:
|
||||
|
||||
;; My shr configuration.
|
||||
|
||||
;;; Code:
|
||||
|
||||
(require 'shr)
|
||||
|
||||
(defun oni:shr-colorize-remove-last-arg (args)
|
||||
"If ARGS has more than 3 items, remove the last one."
|
||||
(if (> (length args) 3)
|
||||
(butlast args)
|
||||
args))
|
||||
|
||||
(advice-add #'shr-colorize-region :filter-args
|
||||
#'oni:shr-colorize-remove-last-arg)
|
||||
|
||||
(provide 'oni-shr-init)
|
||||
;;; oni-shr-init.el ends here
|
|
@ -1,28 +0,0 @@
|
|||
#+TITLE: shr configuration
|
||||
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(require 'shr)
|
||||
#+END_SRC
|
||||
|
||||
* Remove background colors
|
||||
|
||||
Define a procedure that removes the last argument it gets if there
|
||||
are more than 3.
|
||||
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(defun oni:shr-colorize-remove-last-arg (args)
|
||||
"If ARGS has more than 3 items, remove the last one."
|
||||
(if (> (length args) 3)
|
||||
(butlast args)
|
||||
args))
|
||||
#+END_SRC
|
||||
|
||||
Add the function as a filter-args advice to
|
||||
=shr-colorize-region=. The last (fourth) argument to that function
|
||||
is the background color to use, it's optional, so removing it
|
||||
effectively stops shr from adding background colors.
|
||||
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(advice-add #'shr-colorize-region :filter-args
|
||||
#'oni:shr-colorize-remove-last-arg)
|
||||
#+END_SRC
|
42
emacs/.emacs.d/init/oni-slack-init.el
Normal file
42
emacs/.emacs.d/init/oni-slack-init.el
Normal file
|
@ -0,0 +1,42 @@
|
|||
;;; oni-slack-init.el --- My Slack configuration -*- lexical-binding: t; -*-
|
||||
|
||||
;; Copyright (C) 2018 Tom Willemse
|
||||
|
||||
;; Author: Tom Willemse <tom@ryuslash.org>
|
||||
;; Keywords: local
|
||||
|
||||
;; This program is free software; you can redistribute it and/or modify
|
||||
;; it under the terms of the GNU General Public License as published by
|
||||
;; the Free Software Foundation, either version 3 of the License, or
|
||||
;; (at your option) any later version.
|
||||
|
||||
;; This program is distributed in the hope that it will be useful,
|
||||
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
;; GNU General Public License for more details.
|
||||
|
||||
;; You should have received a copy of the GNU General Public License
|
||||
;; along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
;;; Commentary:
|
||||
|
||||
;; My Slack configuration.
|
||||
|
||||
;;; Code:
|
||||
|
||||
(require 'slack)
|
||||
|
||||
(setq slack-prefer-current-team t)
|
||||
|
||||
(setq slack-buffer-function 'switch-to-buffer)
|
||||
|
||||
(slack-register-team :name "Picturefix"
|
||||
:default t
|
||||
:client-id oni:slack-client-id
|
||||
:client-secret oni:slack-client-secret
|
||||
:token oni:slack-token
|
||||
:subscribed-channels
|
||||
'(general picturefix random shirtlobby))
|
||||
|
||||
(provide 'oni-slack-init)
|
||||
;;; oni-slack-init.el ends here
|
|
@ -1,30 +0,0 @@
|
|||
#+TITLE: Slack configuration
|
||||
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(require 'slack)
|
||||
#+END_SRC
|
||||
|
||||
Use the current team for most interactive commands.
|
||||
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(setq slack-prefer-current-team t)
|
||||
#+END_SRC
|
||||
|
||||
Use the regular =switch-to-buffer= so slack doesn't create a new
|
||||
window every time I open a channel.
|
||||
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(setq slack-buffer-function 'switch-to-buffer)
|
||||
#+END_SRC
|
||||
|
||||
Register my work team.
|
||||
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(slack-register-team :name "Picturefix"
|
||||
:default t
|
||||
:client-id oni:slack-client-id
|
||||
:client-secret oni:slack-client-secret
|
||||
:token oni:slack-token
|
||||
:subscribed-channels
|
||||
'(general picturefix random shirtlobby))
|
||||
#+END_SRC
|
Loading…
Reference in a new issue