message: Fixed file completion for paths that start with '~'.
  We didn't add the remaining path behind the '~' to the completion string,
  causing it to just complete directories inside the user home directory. This
  patch just adds the directory of the remaining path if there is one.
  Fixes rdar://problem/40147002
diff: @@ -164,6 +164,12 @@ static int DiskFilesOrDirectories(const llvm::Twine &partial_name,
  // search in the fully resolved directory, but CompletionBuffer keeps the
  // unmodified form that the user typed.
  Storage = Resolved;
  + llvm::StringRef RemainderDir = path::parent_path(Remainder.str());
  + if (!RemainderDir.empty()) {
  + // Append the remaining path to the resolved directory.
  + Storage.append(path::get_separator());
  + Storage.append(RemainderDir);
  + }
  SearchDir = Storage;
  } else {
  SearchDir = path::parent_path(CompletionBuffer);
  