%PDF- %PDF-
Direktori : /usr/local/share/emacs/27.2/lisp/vc/ |
Current File : //usr/local/share/emacs/27.2/lisp/vc/smerge-mode.elc |
;ELC ;;; Compiled ;;; in Emacs version 27.2 ;;; with all optimizations. ;;; This file uses dynamic docstrings, first added in Emacs 19.29. ;;; This file does not contain utf-8 non-ASCII characters, ;;; and so can be loaded in Emacs versions earlier than 23. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (byte-code "\300\301!\210\300\302!\210\300\303!\210\304\305\306\307\310\311\312\313&\210\314\315\316\317\320DD\321\322\323%\210\314\324\316\317\325DD\326\322\327%\210\314\330\316\317\331DD\332\322\333%\210\334\335\336\337#\210\340\341\342\335#\210\340\341\343\344\345!\206Q \346#\207" [require diff diff-mode newcomment custom-declare-group smerge nil "Minor mode to highlight and resolve diff3 conflicts." :group tools :prefix "smerge-" custom-declare-variable smerge-diff-buffer-name funcall function #[0 "\300\207" [#1="*vc-diff*"] 1 #1#] "Buffer name to use for displaying diffs." :type (choice (const "*vc-diff*") (const "*cvs-diff*") (const "*smerge-diff*") string) smerge-diff-switches #[0 "\301\302<\203 \202 C\"\207" [diff-switches append ("-d" "-b")] 3] "A list of strings specifying switches to be passed to diff.\nUsed in `smerge-diff-base-upper' and related functions." (repeat string) smerge-auto-leave #[0 "\300\207" [t] 1] "Non-nil means to leave `smerge-mode' when the last conflict is resolved." boolean custom-declare-face smerge-upper ((((class color) (min-colors 88) (background light)) :background "#ffdddd" :extend t) (((class color) (min-colors 88) (background dark)) :background "#553333" :extend t) (((class color)) :foreground "red" :extend)) "Face for the `upper' version of a conflict." put smerge-mine face-alias obsolete-face purecopy "26.1" t] 8) (defvar smerge-upper-face 'smerge-upper) (byte-code "\300\301\302\303#\210\304\305\306\301#\210\304\305\307\310\311!\206 \312#\207" [custom-declare-face smerge-lower ((((class color) (min-colors 88) (background light)) :background "#ddffdd" :extend t) (((class color) (min-colors 88) (background dark)) :background "#335533" :extend t) (((class color)) :foreground "green" :extend)) "Face for the `lower' version of a conflict." put smerge-other face-alias obsolete-face purecopy "26.1" t] 5) (defvar smerge-lower-face 'smerge-lower) (custom-declare-face 'smerge-base '((((class color) (min-colors 88) (background light)) :background "#ffffaa" :extend t) (((class color) (min-colors 88) (background dark)) :background "#888833" :extend t) (((class color)) :foreground "yellow" :extend t)) "Face for the base code.") (defvar smerge-base-face 'smerge-base) (custom-declare-face 'smerge-markers '((((background light)) (:background "grey85" :extend t)) (((background dark)) (:background "grey30" :extend t))) "Face for the conflict markers.") (defvar smerge-markers-face 'smerge-markers) (byte-code "\300\301\302\303#\210\304\305\306\301#\210\304\305\307\310\311!\206 \312#\210\300\313\314\315\316\317%\210\300\320\321\322\316\317%\207" [custom-declare-face smerge-refined-changed ((t nil)) "Face used for char-based changes shown by `smerge-refine'." put smerge-refined-change face-alias obsolete-face purecopy "24.5" t smerge-refined-removed ((default :inherit smerge-refined-change) (((class color) (min-colors 88) (background light)) :background "#ffbbbb") (((class color) (min-colors 88) (background dark)) :background "#aa2222") (t :inverse-video t)) "Face used for removed characters shown by `smerge-refine'." :version "24.3" smerge-refined-added ((default :inherit smerge-refined-change) (((class color) (min-colors 88) (background light)) :background "#aaffaa") (((class color) (min-colors 88) (background dark)) :background "#22aa22") (t :inverse-video t)) "Face used for added characters shown by `smerge-refine'."] 6) #@36 The base keymap for `smerge-mode'. (defconst smerge-basic-map (byte-code "\301\302\303\304\305\306\307\310\311\312\313\314\315\316\317\320\321!B\322BBBBBBBBBBBBBB\323\324\300!\205* \323$\207" [smerge-basic-map easy-mmode-define-keymap ("n" . smerge-next) ("p" . smerge-prev) ("r" . smerge-resolve) ("a" . smerge-keep-all) ("b" . smerge-keep-base) ("o" . smerge-keep-lower) ("l" . smerge-keep-lower) ("m" . smerge-keep-upper) ("u" . smerge-keep-upper) ("E" . smerge-ediff) ("C" . smerge-combine-with-next) ("R" . smerge-refine) (" " . smerge-keep-current) "=" make-sparse-keymap "Diff" (("=<" "base-upper" . smerge-diff-base-upper) ("=>" "base-lower" . smerge-diff-base-lower) ("==" "upper-lower" . smerge-diff-upper-lower)) nil boundp] 17) (#$ . 3823)) (byte-code "\300\301\302\303\304DD\305\306\307%\207" [custom-declare-variable smerge-command-prefix funcall function #[0 "\300\207" [#1="^"] 1 #1#] "Prefix for `smerge-mode' commands." :type (choice (const :tag "ESC" "") (const :tag "C-c ^" "^") (const :tag "none" "") string)] 6) #@27 Keymap for `smerge-mode'. (defconst smerge-mode-map (byte-code "\303 BC\304\305\302!\205 \n\304$\207" [smerge-command-prefix smerge-basic-map smerge-mode-map easy-mmode-define-keymap nil boundp] 5) (#$ . 4867)) (defvar smerge-check-cache nil) (make-variable-buffer-local 'smerge-check-cache) #@10 (fn N) (defalias 'smerge-check #[257 "\3011! `\302 BA\232\204 \303 \210\304 B\305_@8\2620\207\210\306\207" [smerge-check-cache (error) buffer-modified-tick smerge-match-conflict match-data 2 nil] 4 (#$ . 5167)]) #@25 Menu for `smerge-mode'. (defvar smerge-mode-menu nil (#$ . 5395)) (easy-menu-do-define 'smerge-mode-menu smerge-mode-map "Menu for `smerge-mode'." '("SMerge" ["Next" smerge-next :help "Go to next conflict"] ["Previous" smerge-prev :help "Go to previous conflict"] "--" ["Keep All" smerge-keep-all :help "Keep all three versions" :active (smerge-check 1)] ["Keep Current" smerge-keep-current :help "Use current (at point) version" :active (and (smerge-check 1) (> (smerge-get-current) 0))] "--" ["Revert to Base" smerge-keep-base :help "Revert to base version" :active (smerge-check 2)] ["Keep Upper" smerge-keep-upper :help "Keep `upper' version" :active (smerge-check 1)] ["Keep Lower" smerge-keep-lower :help "Keep `lower' version" :active (smerge-check 3)] "--" ["Diff Base/Upper" smerge-diff-base-upper :help "Diff `base' and `upper' for current conflict" :active (smerge-check 2)] ["Diff Base/Lower" smerge-diff-base-lower :help "Diff `base' and `lower' for current conflict" :active (smerge-check 2)] ["Diff Upper/Lower" smerge-diff-upper-lower :help "Diff `upper' and `lower' for current conflict" :active (smerge-check 1)] "--" ["Invoke Ediff" smerge-ediff :help "Use Ediff to resolve the conflicts" :active (smerge-check 1)] ["Auto Resolve" smerge-resolve :help "Try auto-resolution heuristics" :active (smerge-check 1)] ["Combine" smerge-combine-with-next :help "Combine current conflict with next" :active (smerge-check 1)])) #@47 Context menu for upper area in `smerge-mode'. (defvar smerge-context-menu nil (#$ . 6838)) (easy-menu-do-define 'smerge-context-menu nil "Context menu for upper area in `smerge-mode'." '(nil ["Keep Current" smerge-keep-current :help "Use current (at point) version"] ["Kill Current" smerge-kill-current :help "Remove current (at point) version"] ["Keep All" smerge-keep-all :help "Keep all three versions"] "---" ["More..." (popup-menu smerge-mode-menu) :help "Show full SMerge mode menu"])) #@39 Font lock patterns for `smerge-mode'. (defconst smerge-font-lock-keywords '((smerge-find-conflict (1 smerge-upper-face prepend t) (2 smerge-base-face prepend t) (3 smerge-lower-face prepend t) (0 smerge-markers-face keep) (4 nil t t) (5 nil t t))) (#$ . 7336)) (defconst smerge-begin-re "^<<<<<<< \\(.*\\)\n") (defconst smerge-end-re "^>>>>>>> \\(.*\\)\n") (defconst smerge-base-re "^||||||| \\(.*\\)\n") (defconst smerge-lower-re "^=======\n") #@121 Keep track of which style of conflict is in use. Can be nil if the style is undecided, or else: - `diff3-E' - `diff3-A' (defvar smerge-conflict-style nil (#$ . 7788)) #@129 Go to the next COUNT'th conflict. Interactively, COUNT is the prefix numeric argument, and defaults to 1. (fn &optional COUNT) (defalias 'smerge-next #[256 "\211\204 \302\262\211\303W\203 \304[!\207\305!\203 \211T\262\306\307\310$\2049 \305!\2031 db\210\202r \311\312\313\"\210\202r \303\224b\210p\314 =\203r \315\316!\203r \212\306\307\310\317$)\206V d\320\307\310#\204q \321 \322\323!\210\321 W\203p \324\307\"\210\210\210 \205\200 \3251~ \326 0\207\210\307\207" [smerge-begin-re diff-refine 1 0 smerge-prev looking-at re-search-forward nil t user-error "No next %s" "conflict" window-buffer called-interactively-p interactive 2 pos-visible-in-window-p window-start recenter (0) set-window-start (error) smerge-refine] 6 (#$ . 7962) "p"]) (put 'smerge-next 'definition-name 'smerge) #@133 Go to the previous COUNT'th conflict. Interactively, COUNT is the prefix numeric argument, and defaults to 1. (fn &optional COUNT) (defalias 'smerge-prev #[256 "\211\204 \302\262\211\303W\203 \304[!\207\305\306\307$\204 \310\311\312\"\210 \205. \3131, \314 0\207\210\306\207" [smerge-begin-re diff-refine 1 0 smerge-next re-search-backward nil t user-error "No previous %s" "conflict" (error) smerge-refine] 6 (#$ . 8769) "p"]) (put 'smerge-prev 'definition-name 'smerge) (defconst smerge-match-names ["conflict" "upper" "base" "lower"]) #@10 (fn N) (defalias 'smerge-ensure-match #[257 "\211\225?\205\f \301\302H\"\207" [smerge-match-names error "No `%s'"] 5 (#$ . 9321)]) (defalias 'smerge-auto-leave #[0 "\205% \212eb\210\304 \305\306#)?\205% \n<\203\"