Promise<Object> (@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(); }