aboutsummaryrefslogtreecommitdiff
path: root/.emacs.local.d/modes/eshell.el
diff options
context:
space:
mode:
Diffstat (limited to '.emacs.local.d/modes/eshell.el')
-rw-r--r--.emacs.local.d/modes/eshell.el85
1 files changed, 0 insertions, 85 deletions
diff --git a/.emacs.local.d/modes/eshell.el b/.emacs.local.d/modes/eshell.el
deleted file mode 100644
index c9be093..0000000
--- a/.emacs.local.d/modes/eshell.el
+++ /dev/null
@@ -1,85 +0,0 @@
-(setq eshell-history-size 512)
-(setq eshell-prompt-regexp "^.*> ")
-
-(require 'em-hist) ; So the history vars are defined
-(if (boundp 'eshell-save-history-on-exit)
- (setq eshell-save-history-on-exit t)) ; Don't ask, just save
-(if (boundp 'eshell-ask-to-save-history)
- (setq eshell-ask-to-save-history 'always)) ; For older(?) version
-
-(defun eshell/ef (fname-regexp &optional dir)
- (ef fname-regexp (or dir default-directory)))
-
-
-;;; ---- path manipulation
-
-(defun pwd-repl-home (pwd)
- (interactive)
- (let* ((home (expand-file-name (getenv "HOME")))
- (home-len (length home)))
- (if (and
- (>= (length pwd) home-len)
- (equal home (substring pwd 0 home-len)))
- (concat "~" (substring pwd home-len))
- pwd)))
-
-(defun curr-dir-git-branch-string (pwd)
- "Returns current git branch as a string, or the empty string if
-PWD is not in a git repo (or the git command is not found)."
- (interactive)
- (when (and (eshell-search-path "git")
- (locate-dominating-file pwd ".git"))
- (let ((git-output (shell-command-to-string (concat "git branch | grep '\\*' | sed -e 's/^\\* //'"))))
- (concat "[g:"
- (if (> (length git-output) 0)
- (substring git-output 0 -1)
- "(no branch)")
- "] "))))
-
-(defun curr-dir-svn-string (pwd)
- (interactive)
- (when (and (eshell-search-path "svn")
- (locate-dominating-file pwd ".svn"))
- (concat "[s:"
- (cond ((string-match-p "/trunk\\(/.*\\)?" pwd)
- "trunk")
- ((string-match "/branches/\\([^/]+\\)\\(/.*\\)?" pwd)
- (match-string 1 pwd))
- (t
- "(no branch)"))
- "] ")))
-
-(setq eshell-prompt-function
- (lambda ()
- (concat
- (or (curr-dir-git-branch-string (eshell/pwd))
- (curr-dir-svn-string (eshell/pwd)))
- ((lambda (p-lst)
- (if (> (length p-lst) 3)
- (concat
- (mapconcat (lambda (elm) (if (zerop (length elm)) ""
- (substring elm 0 1)))
- (butlast p-lst 3)
- "/")
- "/"
- (mapconcat (lambda (elm) elm)
- (last p-lst 3)
- "/"))
- (mapconcat (lambda (elm) elm)
- p-lst
- "/")))
- (split-string (pwd-repl-home (eshell/pwd)) "/"))
- "> ")))
-
-;; ; From http://www.emacswiki.org/cgi-bin/wiki.pl/EshellWThirtyTwo
-;; ; Return nil, otherwise you'll see the return from w32-shell-execute
-;; (defun eshell/open (file)
-;; "Invoke (w32-shell-execute \"Open\" FILE) and substitute slashes for
-;; backslashes"
-;; (w32-shell-execute "Open" (substitute ?\\ ?/ (expand-file-name file)))
-;; nil)
-
-(add-hook 'eshell-mode-hook
- (lambda ()
- (local-set-key "\C-c\C-q" 'eshell-kill-process)
- (local-set-key "\C-c\C-k" 'compile)))
nihil fit ex nihilo