*vital/Process.txt*		Utilities for process.

Maintainer: tyru    <tyru.exe@gmail.com>

==============================================================================
CONTENTS				*Vital.Process-contents*

INTRODUCTION			|Vital.Process-introduction|
INTERFACE			|Vital.Process-interface|
  Functions			  |Vital.Process-functions|

==============================================================================
INTRODUCTION				*Vital.Process-introduction*

*Vital.Process* provides utility functions which manipulates process.

Note: this module is pre-obsolete. Check if you can use |Vital.System.Process|
instead.

==============================================================================
INTERFACE				*Vital.Process-interface*
------------------------------------------------------------------------------
FUNCTIONS				*Vital.Process-functions*

spawn({command} [, {special}])		*Vital.Process.spawn()*
	Execute program in the background from Vim.  Return an empty string
	always.

	{command} is |List| or |String| to run as background process.
	If {command} is a |List|, it'll |shellescape()| each argument.
	If {command} is |String| and {special} was given and non-zero,
	escape special characters.

	Windows:
	Using :!start , execute program without via cmd.exe.
	Spawning 'expr' with 'noshellslash'
	keep special characters from unwanted expansion.
	(see :help shellescape())
	
	Unix:
	using :! , execute program in the background by shell.

	See |shellescape()|'s {special} argument for the details.

iconv({expr}, {from}, {to})		*Vital.Process.iconv()*
	|iconv()| wrapper for safety.
	Built-in |iconv()| returns an empty string when the conversion
	completely fails.
	But this function won't return an original string not an empty string
	when failure.

has_vimproc()				*Vital.Process.has_vimproc()*
	Returns non-zero if |vimproc| is installed, zero otherwise.
	You can download the |vimproc| from
	https://github.com/Shougo/vimproc.vim.

					*Vital.Process.system()*
system({command} [, {input} [, {timeout}]])
system({command} [, {dict}])
	Gets the output of the shell command {expr}.
	This function calls |vimproc#system()| if |has_vimproc()| returns
	non-zero, otherwise |system()|.
	If {timeout} is specified, the command will be killed after {timeout}
	milliseconds.  Note that {timeout} is available only when
	|has_vimproc()| returns non-zero.
	Note NeoVim cannot use system() with '&',
	Please See :h system() on NeoVim.

	When the 2nd argument is Dictionary, you can specify more options.
	{dict} structure is:
>
	{dict} = {
		use_vimproc: bool,
		input: string,
		timeout: bool,
		background: bool,
	}

get_last_status()			*Vital.Process.get_last_status()*
	Returns the result of the last shell command either via |vimproc| or
	not.

==============================================================================
vim:tw=78:fo=tcq2mM:ts=8:ft=help:norl
