indent: Use last_line instead of another getline()
indent: Use last_line instead of another getline()

We already have last_line, which when inlined would boil down to:

  let last_line = getline(prevnonblank(v:lnum - 1))

The commit that introduced this change was
b06cccd8ff61149b13d3fc8b7e0d06caa55c9888, which unfortunately didn't
have a description about why it's not skipping blank lines, other than
just "improve multiline string indentation".

So I'd just assume that this should be meant for "directly after the
in" so that the following wouldn't be indented one level:

  let
    ...
  in

  {
    ...
  }

While I have certainly seen such code in the wild, I think it's very
uncommon to do something like this (1125 times in nixpkgs) and it's more
common to not indent directly after "in" without an extra blank line,
which occured 1932 times in nixpkgs.

The sed expression used to find these was:

  /\<in *$/ {
    h; :l
    n; H # Remove this to find lines with "in\n[^ ]"
    n; H
    /^[^ ]/ { g; p; b; }
    /[^ ]/b
    bl
  }

With things like "in\n{" being more common, it's still something we even
did indent before, so let's get rid of the extra getline() call and if
we *really* want to indent this properly I'd suggest to check whether
the "in" is at the beginning of the line instead.

That however is something that could be elaborated in the future if it
gets too annoying for people doing that.

Signed-off-by: aszlig <ee1aa092358634f9c53f01b5a783726c9e21b35a@nix.build>

LnL7/vim-nix