Why Sponsor Oils? | source | all docs for version 0.32.0 | all versions | oils.pub
(in progress)
This page links to topics in the Oils Reference. It's organized differently than the YSH Table of Contents or OSH Table of Contents.
YSH:
OSH:
YSH:
ENV
ysh-prefix-binding
- for NAME=val
env bindingssimple-command
- external commands are started with an
environ
shopt --unset no_exported
shopt --set env_obj
OSH:
export
prefix-binding
- for NAME=val
env bindingsYSH:
OSH:
YSH:
proc
__invoke__
, Obj
simple-command
is how you invoke procsOSH:
use
is-main
_this_dir
__provide__
Obj
with an __invoke__
methodOSH:
OSH:
complete
compexport
, compadjust
set -x
aka set -o xtrace
SHX_*
OSH Debug Stack:
YSH Debug Stack:
These may be combined with
Other YSH reflection:
Also see the Unicode doc.
Obj
__invoke__
__call__
first()
and rest()
ENV
is an Obj
.
ysh-attr->
thin-arrowA closure is a way of bundling data and code. The idea originated in Lisp, and is widely used in JavaScript.
YSH behaves much like JavaScript. Exception: YSH has flat function scope,
except for the body of for
loops.
shopt --set for_loop_frames
, part of option group
ysh:all
func
__call__
and Obj
(TODO)ysh-func-call
shell-flags
for --eval-pure
func/eval
and
func/evalExpr
func
- functions are pureio
and vm
- impure
behavior is attached to these objects