Commit graph

40 commits

Author SHA1 Message Date
duianto 0ff31edcd8 [version-control] Smerge one char diff bindings
Reduce the Smerge transient state diff bindings from two to one character:
=< to <
== to =
=> to >
2019-04-21 11:48:48 +02:00
duianto b238516d1f [version-control] smerge add 2 keys, etc.
Added key bindings:
`e` `smerge-ediff` to diff column
`K` `smerge-kill-current` to merge action column,
(used upper case K, because lower case k moves the cursor to the previous line)

Renamed "join curr/next hunk" to "Combine curr/next hunks", to match it's
command name: `smerge-combine-with-next`
and moved it from the "Merge Action" column to the "Other" column. Because the
merge action column handles versions while the combine command acts on hunks.

Sorted and groupped the backend keys to match the transient state columns.
2019-04-20 20:50:45 +02:00
duianto 677c06c759 [version-control] Smerge TS formatting
Capitalize title and column headers.

Reduce two to one space between the key and description in the first column.
Rename and separate "move up/down" to "next line" and "prev line", to reduce the
first columns width, and to make it clear that it doesn't move the hunks.

Reduce four to two spaces between the first and second columns.

Rename "combine with next" to "join curr/next hunk" to indicate that the
hunks/conflicts are combined and not just of the versions.

Add a new column: Diff
Remove "diff" and "to" from diff key descriptions, to reduce the column width.
Move refine from the Other column to the new Diff column.
2019-04-20 13:00:05 +02:00
Wang b21a7da680 Extend smerge transient-state with diff keybindings
I often use these operations to ask how mine and other have diverged:

=< smerge-diff-base-mine
== smerge-diff-mine-other
=> smerge-diff-base-other

It's awkward to use their global keybindings under C-c ^ because that exits the
smerge transient-state.

Judging from issue GH-7378 there was no principled reason to omit them, only
that the author did not use them himself.
2019-04-20 10:02:23 +02:00
Voleking a8567cbed3 Fix diff-hl-highlight function is set to nil 2019-01-20 17:12:53 +02:00
Masayuki Takemura ce6e28601f diff-mode: define key bindings with leader key for vim editing style
This patch defines key bindings with leader key instead of evilified state to
make it easier for people those who edit in vim style to use diff-mode for both
of editing and reviewing files/buffers.

There are two use cases for diff-mode:

(1) to manually edit diff in a patch file
(2) to review diff that is generated by `vc-diff' or similar commands

The evilified state is useful for the case (2), but is confusing for the
case (1). Usually, users of vim editing style expect that they are in normal
state when a new buffer is created. However, when evilified state is used for
the case (1), some keys insert their character in a buffer, which let the users
think they are in insert state and keep hitting keys to edit the buffer, while
other keys invoke commands or change contents of buffer, which let them think
they are in normal state, so finally the user get lost what state they are in if
they don't know evilified state is used for diff-mode.

The changeset 58d521af5 "Unbreak diff-mode", originally written on Apr 2 2017,
tried to avoid the confusion by removing the evilified state configuration.
However, it is overwritten by the other and older changeset 8009e1bf5 "evilify
vc-* buffers", which is written on Feb 22 2016, for some reason.

This patch respects both of the use cases listed above, thus defines key
bindings with leader key instead of just removing the evilified state
configuration.
2018-06-24 02:54:07 -04:00
syl20bnr acfc8c5814 version-control: correctly defer diff-hl and git-gutter packages 2018-06-14 10:08:38 -04:00
syl20bnr 31324f68bb Avoid loading all the diff packages in version-control layer 2018-06-14 02:51:24 -04:00
syl20bnr c3c7249234 Delay diff-hl loading by 5 seconds 2018-06-14 02:28:10 -04:00
syl20bnr c41a122b24 Lazy load diff-hl 2018-06-10 23:30:48 -04:00
syl20bnr ebe4c60264 Revert "Defer packages by default using use-package-always-defer"
This reverts commit 29c78ce841 and all other fixes
that have been made afterwards.

The motivation is that use-package is seen by many as a replacement for
`require`. Is use-package always defer the loading of packages then is breaks
this use case, this does not respect POLA so even if it was making Spacemacs
loading faster (up to 3s faster on some startup on my machine) we just cannot
use it, it would be irresponsible. Spacemacs should be easy to use, loading
performance will come with time but it is not a priority.
2018-03-03 23:40:10 -05:00
syl20bnr 29c78ce841 Defer packages by default using use-package-always-defer
Warning now `:defer t` is implied, to force a package to load `:demand t` is
now necessary.
2018-02-27 23:32:52 -05:00
syl20bnr 83a6778eab Lazy load diff-hl and move lsp-ui-mode hook 2018-02-27 23:32:52 -05:00
denin 8009e1bf50 evilify vc-* buffers 2018-01-20 10:54:40 -05:00
syl20bnr 326965d4ce Happy New Year 2018! 2018-01-04 02:00:25 -05:00
bmag 433ae7c30b git-gutter: remove redundant arg for timer 2017-08-11 23:56:24 +03:00
Aaron Jensen d47066611b Defer git-gutter loading
As it was, git-gutter and git-gutter+ get started as soon as emacs starts if
they're enabled. This added about 500ms to startup time on my machine, so this
will instead defer it until emacs has been idle for 5 seconds.
2017-08-11 23:56:24 +03:00
syl20bnr e2e532bb49 core: change <function>p to <function>-p suffixes for consistency
Also defined aliases for backward compatibility with `usedp` functions.
2017-07-02 10:09:39 -04:00
Steven Allen 58d521af51 Unbreak diff-mode
diff-mode is for *editing* diffs. Defaulting to evilified state and binding j/k
breaks this.

You can still use TAB/S-TAB to navigate through hunks.
2017-05-19 16:58:01 +02:00
Bryan Gilbert 45a7740215 remove automatic call to linum-setup when using git-gutter 2017-04-28 22:52:24 -04:00
JAremko c277c9716b add browse-at-remote 2017-03-30 22:15:23 -04:00
Ayush Goyal b00096e9ef Add transient state for smerge mode 2017-03-13 19:21:57 +02:00
syl20bnr fb27ede558 Bump year in copyright headers
Happy New Year 2017!
2017-01-05 23:08:17 -05:00
bmag 6e4442e0db Rename and add missing definition of version-control-diff-side 2016-11-05 13:03:23 +02:00
Emmanuel Touzery 1176a23dff version control: let the user pick on which side to display the diff 2016-11-05 12:43:51 +02:00
Eivind Fonn 3ce6f41b1e Fix version-control layer in daemon mode 2016-08-30 16:00:05 +02:00
syl20bnr afc6f8561e version-control: change function prefix to spacemacs 2016-07-06 21:12:02 -04:00
Jeremy Bi 81626bee0b Run diff-hl-magit-post-refresh after committing
Otherwise `diff-hl-mode` still highlights uncommitted changes
2016-07-06 20:49:11 -04:00
ralesi 10d2dce0be Fixes #6051, checks for existance of git-gutter. 2016-05-29 23:05:04 -04:00
Eivind Fonn 325067bc10 unimpaired: Move hunk commands to version-control 2016-05-06 13:27:44 +02:00
person808 ba30c06754 Fix git-gutter linum setup. 2016-02-07 15:01:46 +01:00
syl20bnr 046d86800c Clean copyrights and update for year 2016 2016-01-11 21:42:17 -05:00
ralesi 993300ce4d Fix loading of git gutter fringes. 2015-12-03 23:48:25 -05:00
Eivind Fonn 1e63a4a009 Fix diminish timing of git gutter packages 2015-12-01 01:19:30 -05:00
ralesi 792d4471e7 VCS micro-state / Customizable diff margins 2015-11-29 22:44:18 -05:00
justbur 9befd20a1a layers: Transition to new key bindings functions
Removes dependence on evil-leader centralizing control over the method
of key binding in core-keybindings.el
2015-11-21 18:22:51 +01:00
Eivind Fonn e7fbc84ff0 Remove package guards for evilified
See discussion in #3879
2015-11-21 11:07:14 +01:00
justbur b294461957 evilified-state: Make into local package 2015-11-18 23:35:01 -05:00
syl20bnr 96e7c8ee86 git and github: reorganize key bindings
gd is now "diff"
gh is now "github"
gg is not changed for "github gist" (updated the prefix name)
Inverts gc and gC since commit is more frequent than checkout
2015-11-02 00:16:13 -05:00
justbur 6eab954afe Use + instead of ! for layer categories
Helm seems to treat "!" specially in pattern matching, so having a ! in
the pattern string when traversing directories is problematic. This
change fixes #2737, because as far as I can tell "+" has no special
meaning in a helm pattern.

Of course, we can choose a different character, but I'm fond of "+" as
representing "more layers here".
2015-09-11 00:13:51 -04:00
Renamed from layers/!source-control/version-control/packages.el (Browse further)