oh, that's just a man page lookup away. use 'nl -ba' which numbers all the lines. default style is '-bt' which numbers only non-empty ones, as you have experienced...
$ printf 'foo\n\:\nbar\n' | cat -n 1 foo 2 \: 3 bar $ printf 'foo\n\:\nbar\n' | nl -ba 1 foo bar