@Override
  protected @NotNull Promise<Object> _execute(@NotNull PlaybackContext context) {
    File file = context.getPathMacro().resolveFile(myDir, context.getBaseDir());
    if (!file.exists()) {
      context.message("Cannot cd, directory doesn't exist: " + file.getAbsoluteFile(), getLine());
      return Promises.rejectedPromise();
    }

    try {
      context.setBaseDir(file.getCanonicalFile());
    }
    catch (IOException e) {
      context.setBaseDir(file);
    }

    context.message("{base.dir} set to " + context.getBaseDir().getAbsolutePath(), getLine());
    return Promises.resolvedPromise();
  }
@Override
  protected @NotNull Promise<Object> _execute(@NotNull PlaybackContext context)