From 4fab1e25f3e96ef815f9fda2d9685720e632ad82 Mon Sep 17 00:00:00 2001 From: Tom Willemsen Date: Sun, 7 Oct 2012 22:13:55 +0200 Subject: .emacs.d/init.el --- .emacs.d/init.el | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to '.emacs.d/init.el') diff --git a/.emacs.d/init.el b/.emacs.d/init.el index 207d6f2..41fef90 100644 --- a/.emacs.d/init.el +++ b/.emacs.d/init.el @@ -21,6 +21,8 @@ '("/usr/share/emacs/site-lisp" "~/.emacs.d/site-lisp")) (add-to-list 'load-path "~/.emacs.d/")) +(require 'mode-icons) + (autoload 'define-slime-contrib "slime") (autoload 'gtags-mode "gtags" nil t) (autoload 'identica-mode "identica-mode" nil t) @@ -563,6 +565,11 @@ insert at the end of the region and at the beginning." (setq dir (replace-match "\\1/" nil nil dir))) dir) +(defun oni:show-buffer-position () + "Show the position in the current buffer." + (interactive) + (message (format "%d:%d" (line-number-at-pos) (current-column)))) + (defun oni:split-window-interactive (dir) "Split windows in direction DIR. @@ -1013,6 +1020,7 @@ for easy selection." (global-set-key (kbd "") 'oni:raise-eshell) (global-set-key (kbd "C-<") 'indent-shift-left) (global-set-key (kbd "C->") 'indent-shift-right) +(global-set-key (kbd "C-M-4") 'split-window-vertically) (global-set-key (kbd "C-M-SPC") 'er/expand-region) (global-set-key (kbd "C-M-d") 'kill-word) (global-set-key (kbd "C-M-w") 'backward-kill-word) @@ -1021,15 +1029,15 @@ for easy selection." (global-set-key (kbd "C-c a") 'org-agenda) (global-set-key (kbd "C-c c") 'org-capture) (global-set-key (kbd "C-c i p") 'identica-update-status-interactive) +(global-set-key (kbd "C-c p") 'oni:show-buffer-position) (global-set-key (kbd "C-d") 'oni:kill-region-or-forward-char) (global-set-key (kbd "C-e") 'oni:move-end-of-dwim) (global-set-key (kbd "C-k") 'oni:kill-region-or-line) (global-set-key (kbd "C-w") 'oni:kill-region-or-backward-char) (global-set-key (kbd "C-x C-b") 'electric-buffer-list) +(global-set-key (kbd "M-4") 'split-window-horizontally) (global-set-key (kbd "M-n") 'idomenu) (global-set-key (kbd "\"") 'oni:self-insert-dwim) -(global-set-key (kbd "M-4") 'split-window-horizontally) -(global-set-key (kbd "C-M-4") 'split-window-vertically) (if (daemonp) (global-set-key "\C-x\C-c" 'oni:close-client-window) -- cgit v1.2.3-54-g00ecf From acd052dfabdd9a982c6423cb439e125dcb5ca112 Mon Sep 17 00:00:00 2001 From: Tom Willemsen Date: Wed, 10 Oct 2012 09:10:18 +0200 Subject: .emacs.d/init.el --- .emacs.d/init.el | 2 ++ 1 file changed, 2 insertions(+) (limited to '.emacs.d/init.el') diff --git a/.emacs.d/init.el b/.emacs.d/init.el index 41fef90..12ac6b7 100644 --- a/.emacs.d/init.el +++ b/.emacs.d/init.el @@ -1062,6 +1062,8 @@ for easy selection." '(".*" . ((bw-display-in-other-window . nil)))) (add-to-list 'display-buffer-alist '("^\\*.*\\*$" . ((bw-display-in-bottom-window . nil)))) +(add-to-list 'display-buffer-alist + '("^\\*magit: .*\\*$" . ((display-buffer-same-window . nil)))) (delete " " mode-line-format) (delete " " mode-line-format) -- cgit v1.2.3-54-g00ecf From 6715a0daa7c002abe44595bf79f3e958cc0db116 Mon Sep 17 00:00:00 2001 From: Tom Willemsen Date: Thu, 11 Oct 2012 10:13:14 +0200 Subject: .emacs.d/init.el --- .emacs.d/init.el | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) (limited to '.emacs.d/init.el') diff --git a/.emacs.d/init.el b/.emacs.d/init.el index 12ac6b7..6bf3bf3 100644 --- a/.emacs.d/init.el +++ b/.emacs.d/init.el @@ -677,15 +677,6 @@ for easy selection." (eval-after-load "info" '(require 'info+)) -(eval-after-load "mu4e" - '(add-to-list - 'org-capture-templates - '("c" "Contact" entry (file "~/documents/org/misc/contacts.org") - (concat "* %(mu4e-view-snarf-from 'name)\n" - " :PROPERTIES:\n" - " :EMAIL: %(mu4e-view-snarf-from 'email)\n" - " :END:")))) - (eval-after-load "org" '(progn (require 'appt) @@ -800,7 +791,7 @@ for easy selection." (vertical-scroll-bars . nil) (menu-bar-lines . nil) (tool-bar-lines . nil) - (font . "Monaco:pixelsize=16") + (font . "Press Start 2P-10") (left-fringe . 0))) (setq emms-source-file-default-directory "/mnt/music/") (setq erc-autojoin-channels-alist @@ -1066,7 +1057,6 @@ for easy selection." '("^\\*magit: .*\\*$" . ((display-buffer-same-window . nil)))) (delete " " mode-line-format) -(delete " " mode-line-format) (unless (oni:required-packages-installed-p) (message "%s" "Refreshing package database...") -- cgit v1.2.3-54-g00ecf From dc53d891de20f89c51bafb96f8945443ec24718a Mon Sep 17 00:00:00 2001 From: Tom Willemsen Date: Thu, 11 Oct 2012 15:46:37 +0200 Subject: .emacs.d/init.el --- .emacs.d/init.el | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to '.emacs.d/init.el') diff --git a/.emacs.d/init.el b/.emacs.d/init.el index 6bf3bf3..4cab434 100644 --- a/.emacs.d/init.el +++ b/.emacs.d/init.el @@ -838,8 +838,8 @@ for easy selection." (setq jabber-chat-buffer-format "*jabber:%n*") (setq jabber-chat-buffer-show-avatar nil) (setq jabber-chat-fill-long-lines nil) -(setq jabber-chat-foreign-prompt-format "[%t] < ") -(setq jabber-chat-local-prompt-format "[%t] > ") +(setq jabber-chat-foreign-prompt-format "%t < ") +(setq jabber-chat-local-prompt-format "%t > ") (setq jabber-chatstates-confirm nil) (setq jabber-history-dir "~/.emacs.d/jabber") (setq jabber-roster-show-bindings nil) -- cgit v1.2.3-54-g00ecf From 9c4dffec45d1dd92007a176e084994360adf6625 Mon Sep 17 00:00:00 2001 From: Tom Willemsen Date: Thu, 11 Oct 2012 21:23:32 +0200 Subject: .emacs.d/init.el --- .emacs.d/init.el | 668 ++----------------------------------------------------- 1 file changed, 16 insertions(+), 652 deletions(-) (limited to '.emacs.d/init.el') diff --git a/.emacs.d/init.el b/.emacs.d/init.el index 4cab434..e6bd973 100644 --- a/.emacs.d/init.el +++ b/.emacs.d/init.el @@ -21,7 +21,9 @@ '("/usr/share/emacs/site-lisp" "~/.emacs.d/site-lisp")) (add-to-list 'load-path "~/.emacs.d/")) +(require 'ext) (require 'mode-icons) +(require 'oni) (autoload 'define-slime-contrib "slime") (autoload 'gtags-mode "gtags" nil t) @@ -41,596 +43,8 @@ (define-key key-translation-map (kbd "C-j") (kbd "C-l")) (define-key key-translation-map (kbd "C-l") (kbd "C-j")) -(defadvice org-agenda-redo (after org-agenda-redo-add-appts) - "Pressing `r' on the agenda will also add appointments." - (progn - (setq appt-time-msg-list nil) - (org-agenda-to-appt))) - (defalias 'yes-or-no-p 'y-or-n-p) -(defface oni:mode-line-buffer-column - '((t (:inherit font-lock-type-face))) - "Face for the column number in the mode-line" - :group 'local) - -(defface oni:mode-line-buffer-line - '((t (:inherit font-lock-type-face))) - "Face for the line number in the mode-line" - :group 'local) - -(defface oni:mode-line-buffer-position - '((t (:inherit font-lock-constant-face))) - "Face for the buffer position in the mode-line" - :group 'local) - -(defface oni:mode-line-buffer-state - '((t (:inherit font-lock-preprocessor-face))) - "Face for the state of the buffer in the mode-line" - :group 'local) - -(defface oni:mode-line-mode - '((t (:inherit font-lock-string-face))) - "Face for the major mode in the mode-line" - :group 'local) - -(defface oni:mode-line-modified - '((t (:inherit font-lock-warning-face))) - "Face for the modified state in the mode-line" - :group 'local) - -(defmacro oni:define-mailbox (name email &optional signature longname) - "Define a mailbox function for mailbox NAME with address EMAIL. -Optionally set signature to SIGNATURE and use LONGNAME as the -actual account name." - `(defun ,(make-symbol (concat "oni:" name "-mailbox")) () - ,(concat "Settings for " name " mailbox") - (setq mu4e-mu-home ,(expand-file-name (concat "~/.mu/" name)) - mu4e-maildir ,(expand-file-name (concat "~/documents/mail/" - (or longname name))) - mu4e-get-mail-command ,(concat "offlineimap -oa " (or longname - name)) - mu4e~main-buffer-name ,(concat "*mu4e-" name "*") - user-mail-address ,email - message-sendmail-extra-arguments '("-a" ,name) - message-signature-file ,signature))) - -(defmacro oni:email (user at host dot com) - "Turn arguments into an email address. -The resulting email address will look like: USER@HOST.COM, AT and -DOT are intentionally being skipped." - (concat (symbol-name user) "@" (symbol-name host) "." - (symbol-name com))) - -(defvar oni:mailbox-map - '("top" ("menu" - ("ryulash.org" . "ryuslash") - ("ninthfloor" . "ninthfloor") - ("gmail" . "gmail") - ("aethon" . "aethon"))) - "A mailbox map for use with `tmm-prompt'.") - -(defvar oni:required-packages - '(graphviz-dot-mode htmlize magit rainbow-delimiters - rainbow-mode yasnippet markdown-mode flymake - flymake-cursor pony-mode sauron dispass - expand-region fill-column-indicator - git-auto-commit-mode idomenu magit smex) - "List of all the packages I have (want) installed.") - -(defun oni:after-save-func () - "Function for `after-save-hook'." - (oni:compile-el) - (executable-make-buffer-file-executable-if-script-p) - (let ((dom-dir (locate-dominating-file (buffer-file-name) "Makefile"))) - (when dom-dir - (shell-command (concat "make -C " dom-dir " TAGS >/dev/null 2>&1"))))) - -(defun oni:before-save-func () - "Function for `before-save-hook'." - (if (eq major-mode 'html-mode) - (oni:replace-html-special-chars)) - (if (not (eq major-mode 'markdown-mode)) - (delete-trailing-whitespace))) - -(defun oni:c-mode-common-func () - "Function for `c-mode-common-hook'." - ) - -(defun oni:c-mode-func () - "Function for `c-mode-hook'." - (local-set-key [f9] 'compile) - (local-set-key "\C-j" 'oni:newline-and-indent)) - -(defun oni:close-client-window () - "Close a client's frames." - (interactive) - (server-save-buffers-kill-terminal nil)) - -(defun oni:compile-el () - "Compile the current buffer file if it is an .el file." - (let* ((full-file-name (buffer-file-name)) - (file-name (file-name-nondirectory full-file-name)) - (suffix (file-name-extension file-name))) - (if (and (not (string-equal file-name ".dir-locals.el")) - (string-equal suffix "el")) - (byte-compile-file full-file-name)))) - -(defun oni:css-mode-func () - "Function for `css-mode-hook'." - (local-set-key "\C-j" 'oni:newline-and-indent) - (rainbow-mode)) - -(defun oni:diary-display-func () - "Function for `diary-display-hook'." - (diary-fancy-display)) - -(defun oni:emacs-lisp-mode-func () - "Function for `emacs-lisp-mode-hook'." - (eldoc-mode)) - -(defun oni:emms-toggle-playing () - "Toggle between playing/paused states." - (interactive) - (if (eq emms-player-playing-p nil) - (emms-start) - (emms-pause))) - -(defun oni:erc-mode-func () - "Function for `erc-mode-hook'." - (erc-fill-mode -1) - (visual-line-mode) - (setq truncate-lines nil)) - -(defun oni:eshell-mode-func () - "Function for `eshell-mode-hook'." - (setq truncate-lines nil)) - -(defun oni:eshell-prompt-function () - "Show a pretty shell prompt." - (let ((status (if (zerop eshell-last-command-status) ?+ ?-)) - (hostname (shell-command-to-string "hostname")) - (dir (abbreviate-file-name (eshell/pwd))) - (branch - (shell-command-to-string - "git branch --contains HEAD 2>/dev/null | sed -e '/^[^*]/d'")) - (userstatus (if (zerop (user-uid)) ?# ?$))) - (concat - (propertize (char-to-string status) - 'face `(:foreground ,(if (= status ?+) - "green" - "red"))) - " " - (propertize (substring hostname 0 -1) 'face 'mode-line-buffer-id) - " " - (propertize (oni:shorten-dir dir) 'face 'font-lock-string-face) - " " - (when (not (string= branch "")) - (propertize - ;; Cut off "* " and "\n" - (substring branch 2 -1) - 'face 'font-lock-function-name-face)) - " \n" - (propertize (char-to-string userstatus) - 'face `(:foreground "blue")) - "> "))) - -(defun oni:flymake-mode-func () - "Function for `flymake-mode-hook'." - (local-set-key [M-P] 'flymake-goto-prev-error) - (local-set-key [M-N] 'flymake-goto-next-error)) - -(defun oni:flymake-pyflakes-init () - "Initialize function for flymake with pyflakes." - (let* ((temp-file (flymake-init-create-temp-buffer-copy - 'flymake-create-temp-inplace)) - (local-file (file-relative-name temp-file (file-name-directory - buffer-file-name)))) - (list "pycheck.sh" (list local-file)))) - -(defun oni:go-mode-func () - "Function for `go-mode-hook'." - (setq indent-tabs-mode nil) - (local-set-key "\C-j" 'oni:newline-and-indent)) - -(defun oni:gtags-mode-func () - "Function for `gtags-mode-hook'." - (local-set-key "\M-," 'gtags-find-tag) - (local-set-key "\M-." 'gtags-find-rtag)) - -(defun oni:html-mode-func () - "Function for `html-mode-hook'." - (yas-minor-mode) - (fci-mode)) - -(defun oni:indent-shift-left (start end &optional count) - "Rigidly indent region. -Region is from START to END. Move -COUNT number of spaces if it is non-nil otherwise use -`tab-width'." - (interactive - (if mark-active - (list (region-beginning) (region-end) current-prefix-arg) - (list (line-beginning-position) - (line-end-position) - current-prefix-arg))) - (if count - (setq count (prefix-numeric-value count)) - (setq count tab-width)) - (when (> count 0) - (let ((deactivate-mark nil)) - (save-excursion - (goto-char start) - (while (< (point) end) - (if (and (< (current-indentation) count) - (not (looking-at "[ \t]*$"))) - (error "Can't shift all lines enough")) - (forward-line)) - (indent-rigidly start end (- count)))))) - -(defun oni:indent-shift-right (start end &optional count) - "Indent region between START and END rigidly to the right. -If COUNT has been specified indent by that much, otherwise look at -`tab-width'." - (interactive - (if mark-active - (list (region-beginning) (region-end) current-prefix-arg) - (list (line-beginning-position) - (line-end-position) - current-prefix-arg))) - (let ((deactivate-mark nil)) - (if count - (setq count (prefix-numeric-value count)) - (setq count tab-width)) - (indent-rigidly start end count))) - -(defun oni:jabber-chat-mode-func () - "Function for `jabber-chat-mode-hook'." - (visual-line-mode) - (setq mode-line-format (append (cddr jabber-chat-header-line-format) - '(global-mode-string)) - header-line-format nil)) - -(defun oni:jabber-roster-mode-func () - "Function for `jabber-roster-mode-hook'." - (setq mode-line-format - (list (propertize " %m" 'face 'mode-line-buffer-id)))) - -(defun oni:java-mode-func () - "Function for `java-mode-hook'." - (local-set-key "\C-j" 'oni:newline-and-indent)) - -(defun oni:js-mode-func () - "Function for `js-mode-hook'." - (rainbow-delimiters-mode) - (local-set-key "\C-j" 'oni:newline-and-indent) - (pretty-symbols-mode -1)) - -(defun oni:js2-mode-func () - "Function for `js2-mode-hook'." - (oni:prog-mode-func) - (oni:js-mode-func) - (local-set-key (kbd "") #'slime-js-reload) - (slime-js-minor-mode)) - -(defun oni:kill-region-or-backward-char () - "Either `kill-region' or `backward-delete-char-untabify'." - (interactive) - (if (region-active-p) - (kill-region (region-beginning) (region-end)) - (backward-delete-char-untabify 1))) - -(defun oni:kill-region-or-forward-char () - "Either `kill-region' or `delete-forward-char'." - (interactive) - (if (region-active-p) - (kill-region (region-beginning) (region-end)) - (delete-forward-char 1))) - -(defun oni:kill-region-or-line () - "Either `kill-region' or `kill-line'." - (interactive) - (if (region-active-p) - (kill-region (region-beginning) (region-end)) - (kill-line))) - -(defun oni:lisp-mode-func () - "Function for `lisp-mode-hook'." - ) - -(defun oni:lua-mode-func() - "Function for `lisp-mode-hook'." - (local-unset-key (kbd ")")) - (local-unset-key (kbd "]")) - (local-unset-key (kbd "}"))) - -(defun oni:magit-log-edit-mode-func () - "Function for `magit-log-edit-mode-hook'." - (auto-fill-mode) - (font-lock-add-keywords - nil - '(("\\`\\(.\\{,50\\}\\)\\(.*\\)\n?\\(.*\\)$" - (1 'git-commit-summary-face) - (2 'git-commit-overlong-summary-face) - (3 'git-commit-nonempty-second-line-face)) - ("`\\([^']+\\)'" 1 font-lock-constant-face)) - t)) - -(defun oni:markdown-mode-func () - "Function for `markdown-mode-hook'." - (auto-fill-mode) - (whitespace-mode)) - -(defun oni:message-mode-func () - "Function for `message-mode-hook'." - (auto-fill-mode) - (flyspell-mode) - (ispell-change-dictionary (read-string "New dictionary: "))) - -(defun oni:mini-fix-timestamp-string (date-string) - "A minimal version of Xah Lee's `fix-timestamp-string'. -Turn DATE-STRING into something else that can be worked with in -code. Found at http://xahlee.org/emacs/elisp_parse_time.html" - (setq date-string (replace-regexp-in-string "Jan" "01" date-string) - date-string (replace-regexp-in-string "Feb" "02" date-string) - date-string (replace-regexp-in-string "Mar" "03" date-string) - date-string (replace-regexp-in-string "Apr" "04" date-string) - date-string (replace-regexp-in-string "May" "05" date-string) - date-string (replace-regexp-in-string "Jun" "06" date-string) - date-string (replace-regexp-in-string "Jul" "07" date-string) - date-string (replace-regexp-in-string "Aug" "08" date-string) - date-string (replace-regexp-in-string "Sep" "09" date-string) - date-string (replace-regexp-in-string "Oct" "10" date-string) - date-string (replace-regexp-in-string "Nov" "11" date-string) - date-string (replace-regexp-in-string "Dec" "12" date-string)) - (string-match - "^\\([0-9]\\{2\\}\\)-\\([0-9]\\{2\\}\\)-\\([0-9]\\{4\\}\\)$" - date-string) - (format "%s-%s-%s" - (match-string 3 date-string) - (match-string 2 date-string) - (match-string 1 date-string))) - -(defun oni:move-beginning-of-dwim () - "Move to beginning of line either after indentation or before." - (interactive) - (let ((start (point))) - (back-to-indentation) - (if (= start (point)) - (beginning-of-line)))) - -(defun oni:move-end-of-dwim () - "Move to end of line, either before any comments or after." - (interactive) - (let ((start (point)) - (eolpos (line-end-position))) - (beginning-of-line) - (if (and comment-start - (comment-search-forward eolpos t)) - (progn - (search-backward-regexp (concat "[^ \t" comment-start "]")) - (forward-char) - - (when (or (bolp) - (= start (point))) - (end-of-line))) - (end-of-line)))) - -;; (defun oni:mu4e-view-mode-func () -;; "Function for `mu4e-view-mode-hook'." -;; (longlines-mode)) - -(defun oni:myepisodes-formatter (plist) - "Format RSS items from MyEpisodes as org tasks. -PLIST contains all the pertinent information." - (let ((str (plist-get plist :title))) - (string-match - "^\\[ \\([^\]]+\\) \\]\\[ \\([^\]]+\\) \\]\\[ \\([^\]]+\\) \\]\\[ \\([^\]]+\\) \\]$" - str) - (let* ((title (match-string 1 str)) - (episode (match-string 2 str)) - (name (match-string 3 str)) - (date (oni:mini-fix-timestamp-string (match-string 4 str)))) - (format "* ACQUIRE %s %s - %s <%s>" title episode name date)))) - -(defun oni:newline-and-indent () - "`newline-and-indent', but with a twist. -When dealing with braces, add another line and indent that too." - (interactive) - (if (and (not (or (= (point) (point-max)) - (= (point) (point-min)))) - (or (and (char-equal (char-before) ?{) - (char-equal (char-after) ?})) - (and (char-equal (char-before) ?\() - (char-equal (char-after) ?\))))) - (save-excursion (newline-and-indent))) - (newline-and-indent)) - -(defun oni:org-mode-func () - "Function for `org-mode-hook'." - (flyspell-mode) - (auto-fill-mode) - (yas-minor-mode)) - -(defun oni:php-mode-func () - "Function for `php-mode-hook'." - (flymake-mode) - (local-set-key "\C-j" 'oni:newline-and-indent) - (c-set-offset 'arglist-intro '+) - (c-set-offset 'arglist-close '0) - (rainbow-delimiters-mode) - (setq fci-rule-column 80)) - -(defun oni:prog-mode-func () - "Function for `prog-mode-hook'." - (rainbow-delimiters-mode) - (fci-mode) - (pretty-symbols-mode) - (yas-minor-mode)) - -(defun oni:python-mode-func () - "Function for `python-mode-hook'." - (flymake-mode) - (local-set-key (kbd "C->") 'python-indent-shift-right) - (local-set-key (kbd "C-<") 'python-indent-shift-left) - (set (make-local-variable 'electric-indent-chars) nil) - (rainbow-delimiters-mode) - (setq fci-rule-column 79 - fill-column 72) - (fci-mode)) - -(defun oni:raise-eshell () - "Start or switch back to `eshell'. -Also change directories to current working directory." - (interactive) - (let ((dir (file-name-directory - (or (buffer-file-name) "~/"))) - (hasfile (not (eq (buffer-file-name) nil)))) - (eshell) - (if (and hasfile (eq eshell-process-list nil)) - (progn - (eshell/cd dir) - (eshell-reset))))) - -(defun oni:raise-scratch (&optional mode) - "Show the *scratch* buffer. -If called with a universal argument, ask the user which mode to -use. If MODE is not nil, open a new buffer with the name -*MODE-scratch* and load MODE as its major mode." - (interactive (list (if current-prefix-arg - (read-string "Mode: ") - nil))) - (let* ((bname (if mode - (concat "*" mode "-scratch*") - "*scratch*")) - (buffer (get-buffer bname)) - (mode-sym (intern (concat mode "-mode")))) - - (unless buffer - (setq buffer (generate-new-buffer bname)) - (with-current-buffer buffer - (when (fboundp mode-sym) - (funcall mode-sym)))) - - (select-window (display-buffer buffer)))) - -(defun oni:reload-buffer () - "Reload current buffer." - (interactive) - (revert-buffer nil t nil)) - -(defun oni:replace-html-special-chars () - "Replace special characters with HTML escaped entities." - (oni:replace-occurrences "é" "é")) - -(defun oni:replace-occurrences (from to) - "Replace all occurrences of FROM with TO in the current buffer." - (save-excursion - (goto-char (point-min)) - (while (search-forward from nil t) - (replace-match to)))) - -(defun oni:required-packages-installed-p () - "Check if all the packages I need are installed." - (let ((tmp-packages oni:required-packages) - (result t)) - (while (and tmp-packages result) - (if (not (package-installed-p (car tmp-packages))) - (setq result nil)) - (setq tmp-packages (cdr tmp-packages))) - result)) - -(defun oni:scheme-mode-func () - "Function for `scheme-mode-hook'." - ) - -(defun oni:self-insert-dwim () - "Execute self insert, but when the region is active call self -insert at the end of the region and at the beginning." - (interactive) - (if (region-active-p) - (let ((electric-pair-mode nil) - (beginning (region-beginning)) - (end (region-end))) - (goto-char end) - (self-insert-command 1) - (save-excursion - (goto-char beginning) - (self-insert-command 1))) - (self-insert-command 1))) - -(defun oni:shorten-dir (dir) - "Shorten a directory, (almost) like fish does it." - (while (string-match "\\(/\\.?[^./]\\)[^/]+/" dir) - (setq dir (replace-match "\\1/" nil nil dir))) - dir) - -(defun oni:show-buffer-position () - "Show the position in the current buffer." - (interactive) - (message (format "%d:%d" (line-number-at-pos) (current-column)))) - -(defun oni:split-window-interactive (dir) - "Split windows in direction DIR. - -Can also delete or switch to another window." - (interactive - (list (read-char "Direction (h,v,q,d,o): "))) - (case dir - ((?v) (split-window-vertically)) - ((?h) (split-window-horizontally)) - ((?q) (delete-other-windows)) - ((?d) (delete-window)) - ((?o) (other-window 1)))) - -(defun oni:split-window-interactively (window) - "Ask for a direction and split WINDOW that way. - -If no direction is given, don't split." - (let ((dir (read-char "Direction (h,v): "))) - (case dir - ((?v) (split-window-vertically)) - ((?h) (split-window-horizontally)) - (t window)))) - -(defun oni:start-emms () - "Check to see if the function `emms' exists, if not call -`emms-player-mpd-connect' and assume that will have loaded it." - (interactive) - (unless (fboundp 'emms) - (emms-player-mpd-connect)) - (emms)) - -(defun oni:term-mode-func () - "Function for `term-mode-hook'." - (setq truncate-lines nil)) - -(defun oni:texinfo-mode-func () - "Function for `texinfo-mode-hook'." - (auto-fill-mode)) - -(defun oni:view-mail (inbox) - "Show a menu with all mailbox options from `oni:mailbox-map' -for easy selection." - (interactive - (list (progn - (require 'tmm) - (let ((tmm-completion-prompt "Choose a mailbox\n")) - (tmm-prompt oni:mailbox-map))))) - (if inbox - (progn - (require 'mu4e) - (funcall (intern (concat "oni:" inbox "-mailbox"))) - (mu4e)))) - -(defun oni:write-file-func () - "Function for `write-file-hooks'." - (time-stamp)) - -(defun oni:yas-minor-mode-func () - "Function for `yas-minor-mode-hook'." - (yas-load-directory (car yas-snippet-dirs))) - (eval-after-load "ebuff-menu" '(define-key electric-buffer-menu-mode-map (kbd "C-s") 'isearch-forward)) @@ -659,7 +73,7 @@ for easy selection." (add-to-list ; Make sure pyflakes is loaded 'flymake-allowed-file-name-masks ; for python files. - '("\\.py\\'" oni:flymake-pyflakes-init)) + '("\\.py\\'" ext:flymake-pyflakes-init)) (add-to-list ; Error line repexp for go 'flymake-err-line-patterns ; compilation. @@ -722,53 +136,6 @@ for easy selection." (setq-default fci-rule-column 73) (setq-default gac-automatically-push-p t) (setq-default indent-tabs-mode nil) -;; (setq-default mode-line-format -;; (list -;; '(:eval -;; (if (and (buffer-modified-p) (buffer-file-name)) -;; (propertize "!" -;; 'face 'oni:mode-line-modified -;; 'help-echo "Buffer has been modified") -;; " ")) - -;; '(:eval (propertize "%m" -;; 'face 'oni:mode-line-mode -;; 'help-echo buffer-file-coding-system)) - -;; ": " - -;; '(:eval (propertize "%b " -;; 'face 'mode-line-buffer-id -;; 'help-echo (buffer-file-name))) - -;; "(" -;; (propertize "%p" 'face 'oni:mode-line-buffer-position) ":" -;; (propertize "%04l" 'face 'oni:mode-line-buffer-line) "," -;; (propertize "%02c" 'face 'oni:mode-line-buffer-column) -;; ") " - -;; "[" -;; '(:eval (propertize -;; (if buffer-read-only -;; "R" -;; (if overwrite-mode "O" "I")) -;; 'face 'oni:mode-line-buffer-state -;; 'help-echo (concat "Buffer is " -;; (if buffer-read-only -;; "read-only" -;; (if overwrite-mode -;; "in overwrite mode" -;; "in insert mode"))))) - -;; "] " - -;; '(:eval -;; (propertize (format-time-string "%H:%M") -;; 'help-echo -;; (concat (format-time-string "%c; ") -;; (emacs-uptime "Uptime: %hh")))) -;; " --" -;; '(:eval global-mode-string))) (setq-default php-mode-warn-if-mumamo-off nil) (setq-default require-final-newline t) (setq-default tab-width 4) @@ -791,7 +158,7 @@ for easy selection." (vertical-scroll-bars . nil) (menu-bar-lines . nil) (tool-bar-lines . nil) - (font . "Press Start 2P-10") + (font . "Monaco:pixelsize=16") (left-fringe . 0))) (setq emms-source-file-default-directory "/mnt/music/") (setq erc-autojoin-channels-alist @@ -913,16 +280,16 @@ for easy selection." (setq org-src-fontify-natively t) (setq org-tags-exclude-from-inheritance '("crypt")) (setq org-todo-keyword-faces - '(("TODO" :foreground "red") - ("IN PROGRESS" :foreground "yellow") - ("DONE" :foreground "forest green") - ("SUCCEEDED" :foreground "forest green") - ("WAITING" :foreground "orange") - ("CANCELLED" :foreground "orangered") - ("FAILED" :foreground "orangered"))) -(setq org-todo-keywords - '((sequence "TODO(t)" "IN PROGRESS" "WAITING(@/!)" "|" - "DONE(!/!)" "CANCELLED(@/!)"))) + '(("TODO" :background "red") + ("DONE" :background "forest green") + ("SUCCEEDED" :background "forest green") + ("WAITING" :background "orange" :foreground "black") + ("CANCELLED" :background "orange red") + ("FAILED" :background "orange red") + ("WIP" :background "#ff9800" :foreground "black") + ("HOLD" :background "orange" :foreground "black") + ("ACQUIRE" :background "red") + ("IGNORED" :background "#555555"))) (setq org-use-fast-todo-selection t) (setq package-archives '(("melpa" . "http://melpa.milkbox.net/packages/") @@ -965,7 +332,6 @@ for easy selection." (add-hook 'after-save-hook 'oni:after-save-func t) (add-hook 'before-save-hook 'oni:before-save-func) -(add-hook 'c-mode-common-hook 'oni:c-mode-common-func) (add-hook 'c-mode-hook 'oni:c-mode-func) (add-hook 'css-mode-hook 'oni:css-mode-func) (add-hook 'diary-display-hook 'oni:diary-display-func) @@ -981,17 +347,15 @@ for easy selection." (add-hook 'java-mode-hook 'oni:java-mode-func) (add-hook 'js-mode-hook 'oni:js-mode-func) (add-hook 'js2-mode-hook 'oni:js2-mode-func) -(add-hook 'lisp-mode-hook 'oni:lisp-mode-func) (add-hook 'lua-mode-hook 'oni:lua-mode-func) (add-hook 'magit-log-edit-mode-hook 'oni:magit-log-edit-mode-func) (add-hook 'markdown-mode-hook 'oni:markdown-mode-func) (add-hook 'message-mode-hook 'oni:message-mode-func) -;; (add-hook 'mu4e-view-mode-hook 'oni:mu4e-view-mode-func) (add-hook 'org-mode-hook 'oni:org-mode-func) (add-hook 'php-mode-hook 'oni:php-mode-func) (add-hook 'prog-mode-hook 'oni:prog-mode-func) (add-hook 'python-mode-hook 'oni:python-mode-func) -(add-hook 'scheme-mode-hook 'oni:scheme-mode-func) +(add-hook 'rst-mode-hook 'oni:rst-mode-func) (add-hook 'term-mode-hook 'oni:term-mode-func) (add-hook 'texinfo-mode-hook 'oni:texinfo-mode-func) (add-hook 'write-file-hooks 'oni:write-file-func) @@ -1005,7 +369,7 @@ for easy selection." (global-set-key (kbd "") 'oni:raise-scratch) (global-set-key (kbd "") 'oni:view-mail) (global-set-key (kbd "") 'oni:start-emms) -(global-set-key (kbd "") 'oni:reload-buffer) +(global-set-key (kbd "") 'ext:reload-buffer) (global-set-key (kbd "") 'jabber-switch-to-roster-buffer) (global-set-key (kbd "") 'magit-status) (global-set-key (kbd "") 'oni:raise-eshell) -- cgit v1.2.3-54-g00ecf