| @@ -208,6 +208,7 @@ IF OK-IF-ALREADY-EXISTS is true force download." | |||||
| restart-emacs | restart-emacs | ||||
| fill-column-indicator | fill-column-indicator | ||||
| pkgbuild-mode | pkgbuild-mode | ||||
| minibuffer-line | |||||
| scala-mode2 | scala-mode2 | ||||
| ensime | ensime | ||||
| @@ -571,6 +572,21 @@ IF OK-IF-ALREADY-EXISTS is true force download." | |||||
| (define-key minibuffer-local-map (kbd "C-p") (kbd "ESC p")) | (define-key minibuffer-local-map (kbd "C-p") (kbd "ESC p")) | ||||
| (define-key minibuffer-local-map (kbd "C-n") (kbd "ESC n")) | (define-key minibuffer-local-map (kbd "C-n") (kbd "ESC n")) | ||||
| (when (safe-require-or-eval 'minibuffer-line) | |||||
| (set-face-underline 'minibuffer-line nil) | |||||
| (set-variable 'minibuffer-line-format | |||||
| `(,(concat user-login-name | |||||
| "@" | |||||
| (car (split-string system-name | |||||
| "\\.")) | |||||
| ":") | |||||
| (:eval (abbreviate-file-name default-directory)) | |||||
| " " | |||||
| (:eval (and (fboundp 'git-ps1-mode-get-current) | |||||
| (git-ps1-mode-get-current "[GIT:%s]"))))) | |||||
| (minibuffer-line-mode 1) | |||||
| ) | |||||
| ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||||
| ;; letters, font-lock mode and fonts | ;; letters, font-lock mode and fonts | ||||
| @@ -2041,8 +2057,9 @@ Commands are searched from ALIST." | |||||
| (define-key ctl-x-map "c" 'compile) | (define-key ctl-x-map "c" 'compile) | ||||
| (set (defvar info-in-prompt-format nil | |||||
| "Format text for minibuffer.") | |||||
| (set (defvar prompt-line-format nil | |||||
| "Format text to be prepended to prompt texts of minibuffer. | |||||
| The value should be a mode-line format: see `mode-line-fomat' for details.") | |||||
| `(,(concat "[" | `(,(concat "[" | ||||
| user-login-name | user-login-name | ||||
| "@" | "@" | ||||
| @@ -2050,16 +2067,19 @@ Commands are searched from ALIST." | |||||
| "\\.")) | "\\.")) | ||||
| "][") | "][") | ||||
| (:eval (abbreviate-file-name default-directory)) | (:eval (abbreviate-file-name default-directory)) | ||||
| "] ")) | |||||
| "]" | |||||
| (:eval (and (fboundp 'git-ps1-mode-get-current) | |||||
| (git-ps1-mode-get-current "[GIT:%s]"))) | |||||
| " ")) | |||||
| (defmacro info-in-prompt-set (&rest functions) | |||||
| "Set info-in-prompt advices for FUNCTIONS." | |||||
| (defmacro prompt-line--defadvice (&rest functions) | |||||
| "Set prompt-line advices for FUNCTIONS." | |||||
| `(progn | `(progn | ||||
| ,@(mapcar (lambda (f) | ,@(mapcar (lambda (f) | ||||
| `(defadvice ,f (before info-in-prompt-modify) | |||||
| `(defadvice ,f (before prompt-line-modify) | |||||
| "Show info in prompt." | "Show info in prompt." | ||||
| (let ((orig (ad-get-arg 0)) | (let ((orig (ad-get-arg 0)) | ||||
| (str (format-mode-line info-in-prompt-format))) | |||||
| (str (format-mode-line prompt-line-format))) | |||||
| (unless (string-match-p (concat "^" | (unless (string-match-p (concat "^" | ||||
| (regexp-quote str)) | (regexp-quote str)) | ||||
| orig) | orig) | ||||
| @@ -2068,19 +2088,20 @@ Commands are searched from ALIST." | |||||
| orig)))))) | orig)))))) | ||||
| functions))) | functions))) | ||||
| (info-in-prompt-set read-from-minibuffer | |||||
| read-string | |||||
| completing-read) | |||||
| (prompt-line--defadvice read-from-minibuffer | |||||
| read-string | |||||
| completing-read) | |||||
| (define-minor-mode info-in-prompt-mode | |||||
| "Prepend some infomation to prompt of minibuffer." | |||||
| (define-minor-mode prompt-line-mode | |||||
| "Prepend some infomation to prompt of minibuffer. | |||||
| Set `prompt-line-format' to configure what text to prepend." | |||||
| :init-value nil | :init-value nil | ||||
| :global t | :global t | ||||
| :lighter "" | :lighter "" | ||||
| (if info-in-prompt-mode | |||||
| (ad-activate-regexp "^info-in-prompt-modify$") | |||||
| (ad-deactivate-regexp "^info-in-prompt-modify$"))) | |||||
| (if prompt-line-mode | |||||
| (ad-activate-regexp "^prompt-line-modify$") | |||||
| (ad-deactivate-regexp "^prompt-line-modify$"))) | |||||
| (info-in-prompt-mode 1) | |||||
| (prompt-line-mode 1) | |||||
| ;;; emacs.el ends here | ;;; emacs.el ends here | ||||