Using vim-signify with the switch to mercurial topics

I really like vim-signify because it allows you to go easily from one hunk to another in the changes that you’ve done. It also allows to see the diff which is quite nice to have without having to go back to the terminal. And it also put signs in the vim gutter if you like this kind of eye candy (I do :stuck_out_tongue: ).

With the switch to mercurial topics, signify wasn’t able to find the diff anymore. Thankfully the commands used are configurable.

Here’s the configuration I included in my .config/nvim/init.lua:

-------------------------------- Signify ------------------------------------
-- Configure signify for use with mercurial topics
vim.g.signify_vcs_cmds = {
    hg = 'hg diff --color=never --config aliases.diff= --nodates -U0 --from s0 -- %f',
}

and for vim:

let g:signify_vcs_cmds = {
            \ 'hg': 'hg diff --color=never --config aliases.diff= --nodates -U0 --from s0 -- %f',
            \ }

The trick is to include the --from s0 part so that you instruct mercurial to do the diff from the bottom of the patch stack.

The diff signs are back !

2 Likes

This is the default value so I do not think you need to redefine it.