summaryrefslogtreecommitdiffstats
path: root/emacs/eshell-init.el
diff options
context:
space:
mode:
authorGravatar Tom Willemsen2012-08-26 21:50:26 +0200
committerGravatar Tom Willemsen2012-08-26 21:50:26 +0200
commit8cf4fc59e7e25ca00b9691267e05b63997eaabee (patch)
tree3ee86e39f7667af20cc92a6f1512c542bbe15ee0 /emacs/eshell-init.el
parent54bf4091fde9efc3b816440f3d586a5ba72b6add (diff)
downloaddotfiles-8cf4fc59e7e25ca00b9691267e05b63997eaabee.tar.gz
dotfiles-8cf4fc59e7e25ca00b9691267e05b63997eaabee.zip
emacs
Diffstat (limited to 'emacs/eshell-init.el')
-rw-r--r--emacs/eshell-init.el64
1 files changed, 0 insertions, 64 deletions
diff --git a/emacs/eshell-init.el b/emacs/eshell-init.el
deleted file mode 100644
index 9309b3f..0000000
--- a/emacs/eshell-init.el
+++ /dev/null
@@ -1,64 +0,0 @@
-;; Eshell settings
-(eval-when-compile
- '(load "init.el"))
-
-(eval-after-load "em-term"
- '(add-to-list 'eshell-visual-commands
- "unison"))
-
-(defun oni:eshell-mode-func ()
- "Function for `eshell-mode-hook'."
- (setq truncate-lines nil))
-
-(defun oni:eshell-prompt-function ()
- (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 ?+)
- (oni:color chameleon-1)
- (oni:color scarlet-red-2))))
- " "
- (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 ,(oni:color sky-blue-1)))
- "> ")))
-
-;;;###autoload
-(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:shorten-dir (dir)
- "Shorten a directory, (almost) like fish does it."
- (while (string-match "\\(/\\.?[^./]\\)[^/]+/" dir)
- (setq dir (replace-match "\\1/" nil nil dir)))
- dir)
-
-(setq eshell-prompt-regexp "^[#$]> ")
-(setq eshell-highlight-prompt nil)
-(setq eshell-prompt-function 'oni:eshell-prompt-function)
-(add-hook 'eshell-mode-hook 'oni:eshell-mode-func)