all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* comint fix for shell colors
@ 2016-11-15  7:14 Erik Selberg
  2016-11-18 10:07 ` Eli Zaretskii
  0 siblings, 1 reply; 12+ messages in thread
From: Erik Selberg @ 2016-11-15  7:14 UTC (permalink / raw)
  To: emacs-devel


[-- Attachment #1.1: Type: text/plain, Size: 490 bytes --]

I've been trying to use shell (vs term / mult-term) with bash / zsh and my
color prompts. In comint, comint-highlight-prompt clobbers the colors. I
made the following patch against 24.5 but I see comint has been updated in
25. What's the right process for adding this for 25? This is solved for me
locally, but seems something that could be added for all.

Screenshot included (I use a variant of the agnoster theme and zsh, along
with solarized-dark and power line mode lines)

Thanks,
-e

[-- Attachment #1.2: Type: text/html, Size: 578 bytes --]

[-- Attachment #2: comint-24.5.patch --]
[-- Type: application/octet-stream, Size: 3186 bytes --]

*** /tmp/comint.el	2016-11-14 23:04:50.000000000 -0800
--- /Users/selberg/elisp/comint.el	2016-11-14 23:06:36.000000000 -0800
***************
*** 104,109 ****
--- 104,110 ----
  (require 'ring)
  (require 'ansi-color)
  (require 'regexp-opt)                   ;For regexp-opt-charset.
+ (require 'simple)                       ;For password-word-equivalents
  \f
  ;; Buffer Local Variables:
  ;;============================================================================
***************
*** 154,159 ****
--- 155,168 ----
  ;;;   :prefix "comint-"
  ;;;   :group 'comint)
  
+ (defcustom comint-do-highlight-prompt t
+   "Highlight prompt. Set to nil to let underlying process set colors (useful for modern shells)"
+   :type 'boolean
+   :group 'comint
+   :version "22.1"
+   )
+ 
+ 
  (defvar comint-prompt-regexp "^"
    "Regexp to recognize prompts in the inferior process.
  Defaults to \"^\", the null string at BOL.
*************** the start, the cdr to the end of the las
*** 1922,1936 ****
    "Snapshot the current `comint-last-prompt'.
  Freezes the `font-lock-face' text property in place."
    (when comint-last-prompt
      (with-silent-modifications
        (add-text-properties
         (car comint-last-prompt)
         (cdr comint-last-prompt)
!        '(font-lock-face comint-highlight-prompt)))
      ;; Reset comint-last-prompt so later on comint-output-filter does
      ;; not remove the font-lock-face text property of the previous
      ;; (this) prompt.
!     (setq comint-last-prompt nil)))
  
  (defun comint-carriage-motion (start end)
    "Interpret carriage control characters in the region from START to END.
--- 1931,1949 ----
    "Snapshot the current `comint-last-prompt'.
  Freezes the `font-lock-face' text property in place."
    (when comint-last-prompt
+     (if comint-do-highlight-prompt
      (with-silent-modifications
        (add-text-properties
         (car comint-last-prompt)
         (cdr comint-last-prompt)
!        '(font-lock-face comint-highlight-prompt))
!       )
!     )
      ;; Reset comint-last-prompt so later on comint-output-filter does
      ;; not remove the font-lock-face text property of the previous
      ;; (this) prompt.
!     (setq comint-last-prompt nil)
!     ))
  
  (defun comint-carriage-motion (start end)
    "Interpret carriage control characters in the region from START to END.
*************** Make backspaces delete the previous char
*** 2082,2090 ****
  					'(font-lock-face)))
  	      (setq comint-last-prompt
  		    (cons (copy-marker prompt-start) (point-marker)))
! 	      (add-text-properties prompt-start (point)
! 				   '(rear-nonsticky t
! 				     font-lock-face comint-highlight-prompt)))
  	    (goto-char saved-point)))))))
  
  (defun comint-preinput-scroll-to-bottom ()
--- 2095,2106 ----
  					'(font-lock-face)))
  	      (setq comint-last-prompt
  		    (cons (copy-marker prompt-start) (point-marker)))
! 	      (if comint-do-highlight-prompt
! 		  (add-text-properties prompt-start (point)
! 				       '(rear-nonsticky t
! 							font-lock-face comint-highlight-prompt))
! 		)
! 	      )
  	    (goto-char saved-point)))))))
  
  (defun comint-preinput-scroll-to-bottom ()

[-- Attachment #3: Screen Shot 2016-11-14 at 11.12.29 PM.png --]
[-- Type: image/png, Size: 54018 bytes --]

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2016-11-18 22:43 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-11-15  7:14 comint fix for shell colors Erik Selberg
2016-11-18 10:07 ` Eli Zaretskii
2016-11-18 14:25   ` Wolfgang Jenkner
2016-11-18 14:40     ` Eli Zaretskii
2016-11-18 15:06       ` Wolfgang Jenkner
2016-11-18 15:34         ` Eli Zaretskii
2016-11-18 15:40           ` Erik Selberg
2016-11-18 15:49           ` Wolfgang Jenkner
2016-11-18 15:53             ` Erik Selberg
2016-11-18 19:24               ` Erik Selberg
2016-11-18 19:50                 ` Eli Zaretskii
2016-11-18 22:43                   ` Erik Selberg

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.