X-Git-Url: https://git.distorted.org.uk/~mdw/profile/blobdiff_plain/873d87df647ebf8bbdf222791a03de2829c30456..91dba4e4faf4822fa6869df6bbd44ac033d7c355:/dot-emacs.el diff --git a/dot-emacs.el b/dot-emacs.el index fea06c9..0d27f52 100644 --- a/dot-emacs.el +++ b/dot-emacs.el @@ -765,6 +765,16 @@ the regular expressions in `mdw-backup-disable-regexps'." :foreground ,(if window-system "SeaGreen1" "green")) (woman-bold :weight bold) (woman-italic :slant italic) + (p4-depot-added-face :foreground "green") + (p4-depot-branch-op-face :foreground "yellow") + (p4-depot-deleted-face :foreground "red") + (p4-depot-unmapped-face + :foreground ,(if window-system "SkyBlue1" "cyan")) + (p4-diff-change-face :foreground "yellow") + (p4-diff-del-face :foreground "red") + (p4-diff-file-face :foreground "SkyBlue1") + (p4-diff-head-face :background "grey10") + (p4-diff-ins-face :foreground "green") (diff-index :weight bold) (diff-file-header :weight bold) (diff-hunk-header :foreground "SkyBlue1") @@ -806,19 +816,42 @@ the regular expressions in `mdw-backup-disable-regexps'." (define-key c-mode-map "*" nil) (define-key c-mode-map "/" nil))) +(defun mdw-c-lineup-arglist (langelem) + "Hack for DWIMmery in c-lineup-arglist." + (if (save-excursion + (c-block-in-arglist-dwim (c-langelem-2nd-pos c-syntactic-element))) + 0 + (c-lineup-arglist langelem))) + +(defun mdw-c-indent-extern-mumble (langelem) + "Indent `extern \"...\" {' lines." + (save-excursion + (back-to-indentation) + (if (looking-at + "\\s-*\\\\s-*\"\\([^\\\\\"]+\\|\\.\\)*\"\\s-*{") + c-basic-offset + nil))) + (defun mdw-c-style () (c-add-style "[mdw] C and C++ style" '((c-basic-offset . 2) (comment-column . 40) (c-class-key . "class") - (c-offsets-alist (substatement-open . 0) - (label . 0) - (case-label . +) - (access-label . -) - (inclass . +) - (inline-open . ++) - (statement-cont . 0) - (statement-case-intro . +))) + (c-backslash-column . 72) + (c-offsets-alist + (substatement-open . (add 0 c-indent-one-line-block)) + (defun-open . (add 0 c-indent-one-line-block)) + (arglist-cont-nonempty . mdw-c-lineup-arglist) + (topmost-intro . mdw-c-indent-extern-mumble) + (cpp-define-intro . 0) + (inextern-lang . [0]) + (label . 0) + (case-label . +) + (access-label . -) + (inclass . +) + (inline-open . ++) + (statement-cont . 0) + (statement-case-intro . +))) t)) (defun mdw-fontify-c-and-c++ () @@ -2149,14 +2182,30 @@ strip numbers instead." 'comint-watch-for-password-prompt)) (defun mdw-term-mode-setup () - (setq term-prompt-regexp "^[^]#$%>»}\n]*[]#$%>»}] *") + (setq term-prompt-regexp shell-prompt-pattern) (make-local-variable 'mouse-yank-at-point) (make-local-variable 'transient-mark-mode) (setq mouse-yank-at-point t) - (setq transient-mark-mode nil) (auto-fill-mode -1) (setq tab-width 8)) +(defun term-send-meta-right () (interactive) (term-send-raw-string "\e\e[C")) +(defun term-send-meta-left () (interactive) (term-send-raw-string "\e\e[D")) +(defun term-send-ctrl-uscore () (interactive) (term-send-raw-string "\C-_")) +(defun term-send-meta-meta-something () + (interactive) + (term-send-raw-string "\e\e") + (term-send-raw)) +(eval-after-load 'term + '(progn + (define-key term-raw-map [?\e ?\e] nil) + (define-key term-raw-map [?\e ?\e t] 'term-send-meta-meta-something) + (define-key term-raw-map [?\C-/] 'term-send-ctrl-uscore) + (define-key term-raw-map [M-right] 'term-send-meta-right) + (define-key term-raw-map [?\e ?\M-O ?C] 'term-send-meta-right) + (define-key term-raw-map [M-left] 'term-send-meta-left) + (define-key term-raw-map [?\e ?\M-O ?D] 'term-send-meta-left))) + ;;;----- That's all, folks -------------------------------------------------- (provide 'dot-emacs)