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;
|
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)
|
String vim_get_current_line(void)
|
||||||
|
@ -44,7 +44,8 @@ StringArray vim_list_runtime_paths(void);
|
|||||||
/// Changes vim working directory
|
/// Changes vim working directory
|
||||||
///
|
///
|
||||||
/// @param dir The new 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
|
/// Return the current line
|
||||||
///
|
///
|
||||||
|
Loading…
Reference in New Issue
Block a user