API: Implement vim_change_directory

This commit is contained in:
Thiago de Arruda 2014-05-08 14:36:33 -03:00
parent d8f8521915
commit e07099cb78
2 changed files with 20 additions and 3 deletions

View File

@ -125,9 +125,25 @@ StringArray vim_list_runtime_paths(void)
return rv;
}
void vim_change_directory(String dir)
void vim_change_directory(String dir, Error *err)
{
abort();
char string[dir.size + 1];
memcpy(string, dir.data, dir.size);
string[dir.size] = NUL;
try_start();
if (vim_chdir((char_u *)string)) {
if (!try_end(err)) {
char msg[] = "failed to change directory";
strncpy(err->msg, msg, sizeof(err->msg));
err->set = true;
}
return;
}
post_chdir(FALSE);
try_end(err);
}
String vim_get_current_line(void)

View File

@ -44,7 +44,8 @@ StringArray vim_list_runtime_paths(void);
/// Changes vim working directory
///
/// @param dir The new working directory
void vim_change_directory(String dir);
/// @param[out] err Details of an error that may have occurred
void vim_change_directory(String dir, Error *err);
/// Return the current line
///