lua-lsp
lua-lsp copied to clipboard
Return type inference
we can complete simple expressions, like
module.a.b:c()
but only when we know the type of each of the ids. We should be equally informative in these kinds of cases:
local a = { str = return_a_string() }
a.str:m---
or the inline equivalent, like for example
("string"):m
return_a_table().a
assert(module.table).a
These are all built around guessing what the type of a Call or Invoke expression will be and then storing it.