diff options
Diffstat (limited to '.emacs.local.d/modes/eshell.el')
-rw-r--r-- | .emacs.local.d/modes/eshell.el | 85 |
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))) |