File: smerge-mode.el.html

Provides a lightweight alternative to emerge/ediff.

To use it, simply type M-x smerge-mode.

You can even have it turned on automatically with the following piece of code in your .emacs:

  (defun sm-try-smerge () (save-excursion (goto-char (point-min)) (when (re-search-forward "^<<<<<<< " nil t) (smerge-mode 1)))) (add-hook 'find-file-hook 'sm-try-smerge t)

Defined variables (16)

smerge-auto-combine-max-separationMax number of lines between conflicts that should be combined.
smerge-auto-leaveNon-nil means to leave ‘smerge-mode’ when the last conflict is resolved.
smerge-change-buffer-confirmIf non-nil, request confirmation before moving to another buffer.
smerge-command-prefixPrefix for ‘smerge-mode’ commands.
smerge-conflict-styleKeep track of which style of conflict is in use.
smerge-context-menuContext menu for upper area in ‘smerge-mode’.
smerge-diff-buffer-nameBuffer name to use for displaying diffs.
smerge-diff-switchesA list of strings specifying switches to be passed to diff.
smerge-font-lock-keywordsFont lock patterns for ‘smerge-mode’.
smerge-modeNon-nil if SMerge mode is enabled.
smerge-mode-hookHook run after entering or leaving ‘smerge-mode’.
smerge-mode-menuMenu for ‘smerge-mode’.
smerge-refine-forward-functionFunction used to determine an "atomic" element.
smerge-refine-ignore-whitespaceIf non-nil, ‘smerge-refine’ should try to ignore change in whitespace.
smerge-refine-weight-hackIf non-nil, pass to diff as many lines as there are chars in the region.
smerge-resolve-functionMode-specific merge function.

Defined functions (47)

smerge--get-marker(REGEXP DEFAULT)
smerge--refine-chopup-region(BEG END FILE &optional PREPROC)
smerge--refine-forward(N)
smerge--refine-highlight-change(BEG MATCH-NUM1 MATCH-NUM2 PROPS)
smerge-apply-resolution-patch(BUF M0B M0E M3B M3E &optional M2B)
smerge-auto-combine()
smerge-check(N)
smerge-combine-with-next()
smerge-conflict-overlay(POS)
smerge-context-menu(ARG1)
smerge-diff(N1 N2)
smerge-diff-base-lower()
smerge-diff-base-mine()
smerge-diff-base-other()
smerge-diff-base-upper()
smerge-diff-mine-other()
smerge-diff-upper-lower()
smerge-ediff(&optional NAME-UPPER NAME-LOWER NAME-BASE)
smerge-ensure-match(N)
smerge-find-conflict(&optional LIMIT)
smerge-keep-all()
smerge-keep-base()
smerge-keep-current()
smerge-keep-lower()
smerge-keep-mine()
smerge-keep-n(N)
smerge-keep-other()
smerge-keep-upper()
smerge-kill-current()
smerge-makeup-conflict(PT1 PT2 PT3 &optional PT4)
smerge-match-conflict()
smerge-mode(&optional ARG)
smerge-mode-menu(ARG1)
smerge-next(&optional COUNT)
smerge-popup-context-menu(EVENT)
smerge-prev(&optional COUNT)
smerge-refine(&optional PART)
smerge-refine-regions(BEG1 END1 BEG2 END2 PROPS-C &optional PREPROC PROPS-R PROPS-A)
smerge-refine-subst(BEG1 END1 BEG2 END2 PROPS-C &optional PREPROC PROPS-R PROPS-A)
smerge-remove-props(BEG END)
smerge-resolve(&optional SAFE)
smerge-resolve--extract-comment(BEG END)
smerge-resolve--normalize(BEG END)
smerge-resolve-all()
smerge-start-session(&optional INTERACTIVELY)
smerge-swap()
smerge-vc-next-conflict()

Defined faces (7)

smerge-baseFace for the base code.
smerge-lowerFace for the ‘lower’ version of a conflict.
smerge-markersFace for the conflict markers.
smerge-refined-addedFace used for added characters shown by ‘smerge-refine’.
smerge-refined-changedFace used for char-based changes shown by ‘smerge-refine’.
smerge-refined-removedFace used for removed characters shown by ‘smerge-refine’.
smerge-upperFace for the ‘upper’ version of a conflict.