@iyernaveenr thank you for your better explanation.
It is not a bug, it shows Geany is behaving as it is intended, if the file ends with a `newline` character, Geany shows an empty line because thats what is after the `newline`, if the file does not end with a `newline` only the characters on the last line are shown.
Just to make sure you are understanding clearly, a `newline` is **a character in a file** that specifies that the following characters are to be on a new line. A `newline` character can exist at any point in the file, including being the last character in the file. If a `newline` character exists at the end of the file Geany and Vscode show the empty new line as that `newline` character specifies. This is intended behaviour, it shows what the `newline` character in the file specifies ... a new line which has no characters on it.
There is no issue with Geany behaviour, it is as intended and is not a bug.
That Vim has some other behaviour is presumably Vim's decision. The fact that it does not indicate that there is a `newline` is what it decides, but it seems to me to be wrong and as @b4n said at least confusing. But that is Vim behaviour not Geany behaviour.
Sure, thanks for your reply!