mirror of
https://github.com/neovim/neovim.git
synced 2025-02-25 18:55:25 -06:00
API: Implement vim_change_directory
This commit is contained in:
parent
d8f8521915
commit
e07099cb78
@ -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)
|
||||
|
@ -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
|
||||
///
|
||||
|
Loading…
Reference in New Issue
Block a user