A blocking xdg-open alternative?

There are several applications require opening file with a specified command, wait for it while it is still opened, and process it after the specified program is terminated, like

  • The git rebase operation may spawn an editor to edit a temporary file to control the rebase process
  • An FTP client (e.g. FileZilla) may support editing remote document via downloading them to a temporary directory, open it with a preferred editor, then upload it after the editor is terminated

The xdg-open provided by the core snap, unfortunately, will instantly terminate after it is being called, is it possible to have an alternative that actually stays active and block the parent process?