aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/os/shell.h
blob: a63fed7277c0a8f66eec3143374b2acfb3da014d (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#ifndef NVIM_OS_SHELL_H
#define NVIM_OS_SHELL_H

#include <stdbool.h>

#include "nvim/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;

char ** shell_build_argv(char_u *cmd, char_u *extra_shell_arg);

void shell_free_argv(char **argv);

int os_call_shell(char_u *cmd, ShellOpts opts, char_u *extra_shell_arg);

#endif  // NVIM_OS_SHELL_H