patch 8.1.2229: cannot color number column above/below cursor differently

Problem:    Cannot color number column above/below cursor differently.
Solution:   Add LineNrAbove and LineNrBelow. (Shaun Brady, closes #624)
diff --git a/src/testdir/dumps/Test_relnr_colors_1.dump b/src/testdir/dumps/Test_relnr_colors_1.dump
new file mode 100644
index 0000000..ad0ddd9
--- /dev/null
+++ b/src/testdir/dumps/Test_relnr_colors_1.dump
@@ -0,0 +1,10 @@
+| +0#ff404010#ffffff0@1|4| |1+0#0000000&|0|6| @42
+| +0#ff404010&@1|3| |1+0#0000000&|0|7| @42
+| +0#ff404010&@1|2| |1+0#0000000&|0|8| @42
+| +0#ff404010&@1|1| |1+0#0000000&|0|9| @42
+|1+0#ff404010&@2| >1+0#0000000&@1|0| @42
+| +0#ff404010&@1|1| |1+0#0000000&@2| @42
+| +0#ff404010&@1|2| |1+0#0000000&@1|2| @42
+| +0#ff404010&@1|3| |1+0#0000000&@1|3| @42
+| +0#ff404010&@1|4| |1+0#0000000&@1|4| @42
+@32|1@2|,|1| @8|5@1|%| 
diff --git a/src/testdir/dumps/Test_relnr_colors_2.dump b/src/testdir/dumps/Test_relnr_colors_2.dump
new file mode 100644
index 0000000..0e80fc6
--- /dev/null
+++ b/src/testdir/dumps/Test_relnr_colors_2.dump
@@ -0,0 +1,10 @@
+| +0#4040ff13#ffffff0@1|4| |1+0#0000000&|0|6| @42
+| +0#4040ff13&@1|3| |1+0#0000000&|0|7| @42
+| +0#4040ff13&@1|2| |1+0#0000000&|0|8| @42
+| +0#4040ff13&@1|1| |1+0#0000000&|0|9| @42
+|1+0#ff404010&@2| >1+0#0000000&@1|0| @42
+| +0#ff404010&@1|1| |1+0#0000000&@2| @42
+| +0#ff404010&@1|2| |1+0#0000000&@1|2| @42
+| +0#ff404010&@1|3| |1+0#0000000&@1|3| @42
+| +0#ff404010&@1|4| |1+0#0000000&@1|4| @42
+|:|h|i| |L|i|n|e|N|r|A|b|o|v|e| |c|t|e|r|m|f|g|=|b|l|u|e| @3|1@2|,|1| @8|5@1|%| 
diff --git a/src/testdir/dumps/Test_relnr_colors_3.dump b/src/testdir/dumps/Test_relnr_colors_3.dump
new file mode 100644
index 0000000..f54a5be
--- /dev/null
+++ b/src/testdir/dumps/Test_relnr_colors_3.dump
@@ -0,0 +1,10 @@
+| +0#4040ff13#ffffff0@1|4| |1+0#0000000&|0|6| @42
+| +0#4040ff13&@1|3| |1+0#0000000&|0|7| @42
+| +0#4040ff13&@1|2| |1+0#0000000&|0|8| @42
+| +0#4040ff13&@1|1| |1+0#0000000&|0|9| @42
+|1+0#ff404010&@2| >1+0#0000000&@1|0| @42
+| +0#40ff4011&@1|1| |1+0#0000000&@2| @42
+| +0#40ff4011&@1|2| |1+0#0000000&@1|2| @42
+| +0#40ff4011&@1|3| |1+0#0000000&@1|3| @42
+| +0#40ff4011&@1|4| |1+0#0000000&@1|4| @42
+|:|h|i| |L|i|n|e|N|r|B|e|l|o|w| |c|t|e|r|m|f|g|=|g|r|e@1|n| @2|1@2|,|1| @8|5@1|%| 
diff --git a/src/testdir/dumps/Test_relnr_colors_4.dump b/src/testdir/dumps/Test_relnr_colors_4.dump
new file mode 100644
index 0000000..8202819
--- /dev/null
+++ b/src/testdir/dumps/Test_relnr_colors_4.dump
@@ -0,0 +1,10 @@
+| +0#ff404010#ffffff0@1|4| |1+0#0000000&|0|6| @42
+| +0#ff404010&@1|3| |1+0#0000000&|0|7| @42
+| +0#ff404010&@1|2| |1+0#0000000&|0|8| @42
+| +0#ff404010&@1|1| |1+0#0000000&|0|9| @42
+|1+0#ff404010&@2| >1+0#0000000&@1|0| @42
+| +0#40ff4011&@1|1| |1+0#0000000&@2| @42
+| +0#40ff4011&@1|2| |1+0#0000000&@1|2| @42
+| +0#40ff4011&@1|3| |1+0#0000000&@1|3| @42
+| +0#40ff4011&@1|4| |1+0#0000000&@1|4| @42
+|:|h|i| |c|l|e|a|r| |L|i|n|e|N|r|A|b|o|v|e| @10|1@2|,|1| @8|5@1|%| 
diff --git a/src/testdir/test_number.vim b/src/testdir/test_number.vim
index 81326bc..5417585 100644
--- a/src/testdir/test_number.vim
+++ b/src/testdir/test_number.vim
@@ -1,7 +1,10 @@
 " Test for 'number' and 'relativenumber'
 
+source check.vim
 source view_util.vim
 
+source screendump.vim
+
 func s:screen_lines(start, end) abort
   return ScreenLines([a:start, a:end], 8)
 endfunc
@@ -263,3 +266,34 @@
   redraw
   bwipe!
 endfunc
+
+func Test_relativenumber_colors()
+  CheckScreendump
+
+  let lines =<< trim [CODE]
+    call setline(1, range(200))
+    111
+    set number relativenumber
+    hi LineNr ctermfg=red
+  [CODE]
+  call writefile(lines, 'XTest_relnr')
+
+  " Check that the balloon shows up after a mouse move
+  let buf = RunVimInTerminal('-S XTest_relnr', {'rows': 10, 'cols': 50})
+  call term_wait(buf, 100)
+  " Default colors
+  call VerifyScreenDump(buf, 'Test_relnr_colors_1', {})
+
+  call term_sendkeys(buf, ":hi LineNrAbove ctermfg=blue\<CR>")
+  call VerifyScreenDump(buf, 'Test_relnr_colors_2', {})
+
+  call term_sendkeys(buf, ":hi LineNrBelow ctermfg=green\<CR>")
+  call VerifyScreenDump(buf, 'Test_relnr_colors_3', {})
+
+  call term_sendkeys(buf, ":hi clear LineNrAbove\<CR>")
+  call VerifyScreenDump(buf, 'Test_relnr_colors_4', {})
+
+  " clean up
+  call StopVimInTerminal(buf)
+  call delete('XTest_relnr')
+endfunc