summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Tom Willemsen2013-02-17 22:22:55 +0100
committerGravatar Tom Willemsen2013-02-17 22:22:55 +0100
commit3e5421e79d47d4a40b540869f1b18288285e0025 (patch)
tree5b9bc3693fa15ebee05c8368fe9d4e9478630eaa
parentb9c0e3838ff4fe1793893e37cfe882d1336724ae (diff)
downloaddotfiles-3e5421e79d47d4a40b540869f1b18288285e0025.tar.gz
dotfiles-3e5421e79d47d4a40b540869f1b18288285e0025.zip
emacs: Move pp^L configuration to org
-rw-r--r--.emacs.d/init.el2
-rw-r--r--.emacs.d/init.org189
-rw-r--r--.emacs.d/site-lisp/oni.el7
3 files changed, 110 insertions, 88 deletions
diff --git a/.emacs.d/init.el b/.emacs.d/init.el
index c74f62e..0296816 100644
--- a/.emacs.d/init.el
+++ b/.emacs.d/init.el
@@ -151,8 +151,6 @@
(setq php-function-call-face 'font-lock-function-name-face)
(setq php-mode-force-pear t)
(setq pony-tpl-indent-moves t)
-(setq pp^L-^L-string-function 'oni:pretty-control-l-function)
-(setq pp^L-^L-string-pre nil)
(setq rainbow-delimiters-max-face-count 12)
(setq redisplay-dont-pause t)
(setq send-mail-function 'smtpmail-send-it)
diff --git a/.emacs.d/init.org b/.emacs.d/init.org
index f4acfca..95b935f 100644
--- a/.emacs.d/init.org
+++ b/.emacs.d/init.org
@@ -216,95 +216,126 @@
'(python-pylint python-pyflakes))))
#+END_SRC
-** Eshell
+* pretty-control-l-mode
- Add ~unison~ to the list of =eshell-visual-commands= because it
- expects unbuffered input and eshell just doesn't give that.
+ Make the ~C-l~ look like a line of ~-~ up to =fill-column= or
+ =fci-rule-column= and remove the string displayed before the ~C-l~.
- #+BEGIN_SRC emacs-lisp :tangle init2.el
- (eval-after-load "em-term"
- '(add-to-list 'eshell-visual-commands "unison"))
- #+END_SRC
+ #+BEGIN_SRC emacs-lisp :tangle init2.el
+ (defun oni:pretty-control-l-function (win)
+ "Just make a string of either `fci-rule-column' or
+ `fill-column' length -1. Use the `-' character. WIN is ignored."
+ (make-string
+ (1- (if (boundp 'fci-rule-column)
+ fci-rule-column fill-column)) ?-))
+
+ (setq pp^L-^L-string-function 'oni:pretty-control-l-function)
+ #+END_SRC
- Don't let eshell highlight it's prompt, this way I can decide the
- colors for it myself.
+ Remove the string displayed before the ~C-l~.
- #+BEGIN_SRC emacs-lisp :tangle init2.el
- (setq eshell-highlight-prompt nil)
- #+END_SRC
+ #+BEGIN_SRC emacs-lisp :tangle init2.el
+ (setq pp^L-^L-string-pre nil)
+ #+END_SRC
- In the prompt:
+ Enable =pretty-control-l-mode= at startup and whenever a new frame is
+ created.
- - Show the exit status of the last program/command run represented
- by a green ~+~ and a red ~-~ sign.
- - Show the current hostname with the =mode-line-buffer-id= face.
- - Show an abbreviation of the current directory (as seen in ~fish~)
- using the =font-lock-string-face= face.
- - If we're in a git repository, show the current branch with the
- =font-lock-function-name-face= face.
- - Show the status of priviledges in blue.
+ #+BEGIN_SRC emacs-lisp :tangle init2.el
+ (add-hook 'emacs-startup-hook 'pretty-control-l-mode)
+ (add-hook 'after-make-frame-functions
+ '(lambda (arg) (pretty-control-l-mode)))
+ #+END_SRC
- And set the =eshell-prompt-regexp= to
+* Eshell
- #+BEGIN_SRC emacs-lisp :tangle init2.el
- (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"))
- "> ")))
-
- (setq eshell-prompt-function 'oni:eshell-prompt-function
- eshell-prompt-regexp "^[#$]> ")
- #+END_SRC
+ Add ~unison~ to the list of =eshell-visual-commands= because it
+ expects unbuffered input and eshell just doesn't give that.
- Don't truncate lines in eshell, wrap them.
+ #+BEGIN_SRC emacs-lisp :tangle init2.el
+ (eval-after-load "em-term"
+ '(add-to-list 'eshell-visual-commands "unison"))
+ #+END_SRC
- #+BEGIN_SRC emacs-lisp :tangle init2.el
- (defun oni:eshell-mode-func ()
- "Function for `eshell-mode-hook'."
- (setq truncate-lines nil))
+ Don't let eshell highlight it's prompt, this way I can decide the
+ colors for it myself.
- (add-hook 'eshell-mode-hook 'oni:eshell-mode-func)
- #+END_SRC
+ #+BEGIN_SRC emacs-lisp :tangle init2.el
+ (setq eshell-highlight-prompt nil)
+ #+END_SRC
- Bind the ~f8~ key to easily show eshell.
+ In the prompt:
- #+BEGIN_SRC emacs-lisp :tangle init2.el
- (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)))))
-
- (global-set-key (kbd "<f8>") 'oni:raise-eshell)
- #+END_SRC
+ - Show the exit status of the last program/command run represented
+ by a green ~+~ and a red ~-~ sign.
+ - Show the current hostname with the =mode-line-buffer-id= face.
+ - Show an abbreviation of the current directory (as seen in ~fish~)
+ using the =font-lock-string-face= face.
+ - If we're in a git repository, show the current branch with the
+ =font-lock-function-name-face= face.
+ - Show the status of priviledges in blue.
+
+ And set the =eshell-prompt-regexp= to
+
+ #+BEGIN_SRC emacs-lisp :tangle init2.el
+ (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"))
+ "> ")))
+
+ (setq eshell-prompt-function 'oni:eshell-prompt-function
+ eshell-prompt-regexp "^[#$]> ")
+ #+END_SRC
+
+ Don't truncate lines in eshell, wrap them.
+
+ #+BEGIN_SRC emacs-lisp :tangle init2.el
+ (defun oni:eshell-mode-func ()
+ "Function for `eshell-mode-hook'."
+ (setq truncate-lines nil))
+
+ (add-hook 'eshell-mode-hook 'oni:eshell-mode-func)
+ #+END_SRC
+
+ Bind the ~f8~ key to easily show eshell.
+
+ #+BEGIN_SRC emacs-lisp :tangle init2.el
+ (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)))))
+
+ (global-set-key (kbd "<f8>") 'oni:raise-eshell)
+ #+END_SRC
diff --git a/.emacs.d/site-lisp/oni.el b/.emacs.d/site-lisp/oni.el
index 1afe1d6..a5ee2eb 100644
--- a/.emacs.d/site-lisp/oni.el
+++ b/.emacs.d/site-lisp/oni.el
@@ -369,13 +369,6 @@ When dealing with braces, add another line and indent that too."
(setq-local fci-rule-column 80)
(flycheck-mode))
-(defun oni:pretty-control-l-function (win)
- "Just make a string of either `fci-rule-column' or
-`fill-column' length -1. Use the `-' character. WIN is ignored."
- (make-string
- (1- (if (boundp 'fci-rule-column)
- fci-rule-column fill-column)) ?-))
-
(defun oni:prog-mode-func ()
"Function for `prog-mode-hook'."
(rainbow-delimiters-mode)