From 7d43943e4ecf5bd82ffc041b1039e0b2db4d6d60 Mon Sep 17 00:00:00 2001 From: Andrej Zieger Date: Wed, 22 May 2019 22:41:05 +0200 Subject: Fixed ordering of signs to align vim and neovim behaviour --- src/nvim/buffer.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) (limited to 'src/nvim/buffer.c') diff --git a/src/nvim/buffer.c b/src/nvim/buffer.c index 1f4a1e0cd1..39242b0575 100644 --- a/src/nvim/buffer.c +++ b/src/nvim/buffer.c @@ -5261,7 +5261,7 @@ static int sign_compare(const void *a1, const void *a2) const signlist_T *s1 = *(const signlist_T **)a1; const signlist_T *s2 = *(const signlist_T **)a2; - // Sort by line number and the by id + // Sort by line number, priority and id if (s1->lnum > s2->lnum) { return 1; @@ -5269,12 +5269,18 @@ static int sign_compare(const void *a1, const void *a2) if (s1->lnum < s2->lnum) { return -1; } - if (s1->id > s2->id) { + if (s1->priority > s2->priority) { + return -1; + } + if (s1->priority < s2->priority) { return 1; } - if (s1->id < s2->id) { + if (s1->id > s2->id) { return -1; } + if (s1->id < s2->id) { + return 1; + } return 0; } -- cgit