mirror of
https://github.com/neovim/neovim.git
synced 2025-09-27 21:48:35 +00:00
Introduce nvim namespace: Move files.
Move files from src/ to src/nvim/. - src/nvim/ becomes the new root dir for nvim executable sources. - src/libnvim/ is planned to become root dir of the neovim library.
This commit is contained in:
45
src/nvim/os/shell.h
Normal file
45
src/nvim/os/shell.h
Normal file
@@ -0,0 +1,45 @@
|
||||
#ifndef NEOVIM_OS_SHELL_H
|
||||
#define NEOVIM_OS_SHELL_H
|
||||
|
||||
#include <stdbool.h>
|
||||
|
||||
#include "types.h"
|
||||
|
||||
// Flags for mch_call_shell() second argument
|
||||
typedef enum {
|
||||
kShellOptFilter = 1, ///< filtering text
|
||||
kShellOptExpand = 2, ///< expanding wildcards
|
||||
kShellOptCooked = 4, ///< set term to cooked mode
|
||||
kShellOptDoOut = 8, ///< redirecting output
|
||||
kShellOptSilent = 16, ///< don't print error returned by command
|
||||
kShellOptRead = 32, ///< read lines and insert into buffer
|
||||
kShellOptWrite = 64, ///< write lines from buffer
|
||||
kShellOptHideMess = 128, ///< previously a global variable from os_unix.c
|
||||
} ShellOpts;
|
||||
|
||||
/// Builds the argument vector for running the shell configured in `sh`
|
||||
/// ('shell' option), optionally with a command that will be passed with `shcf`
|
||||
/// ('shellcmdflag').
|
||||
///
|
||||
/// @param cmd Command string. If NULL it will run an interactive shell.
|
||||
/// @param extra_shell_opt Extra argument to the shell. If NULL it is ignored
|
||||
/// @return A newly allocated argument vector. It must be freed with
|
||||
/// `shell_free_argv` when no longer needed.
|
||||
char ** shell_build_argv(char_u *cmd, char_u *extra_shell_arg);
|
||||
|
||||
/// Releases the memory allocated by `shell_build_argv`.
|
||||
///
|
||||
/// @param argv The argument vector.
|
||||
void shell_free_argv(char **argv);
|
||||
|
||||
/// Calls the user shell for running a command, interactive session or
|
||||
/// wildcard expansion. It uses the shell set in the `sh` option.
|
||||
///
|
||||
/// @param cmd The command to be executed. If NULL it will run an interactive
|
||||
/// shell
|
||||
/// @param opts Various options that control how the shell will work
|
||||
/// @param extra_shell_arg Extra argument to be passed to the shell
|
||||
int os_call_shell(char_u *cmd, ShellOpts opts, char_u *extra_shell_arg);
|
||||
|
||||
#endif // NEOVIM_OS_SHELL_H
|
||||
|
Reference in New Issue
Block a user