Opens a file, sending the `textDocument/didOpen` message to the language server. If the file is already open, this does nothing.
if non-null, this means that `uri` is associated with an in-memory buffer `text`