internal Task SetDirectory(string friendlyName)
        {
            string currentDirectory = GetFullPathName(RToolsSettings.Current.WorkingDirectory);
            string newDirectory     = GetFullPathName(friendlyName);

            if (newDirectory != null && currentDirectory != newDirectory)
            {
                RToolsSettings.Current.WorkingDirectory = GetFriendlyDirectoryName(newDirectory);
                _session.ScheduleEvaluation(async e => {
                    await e.SetWorkingDirectory(newDirectory);
                });
            }

            return(Task.CompletedTask);
        }