Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 24 additions & 0 deletions @
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ SELF_AUTHOR="Lucas Martin-King"
# |get-variable|<variable>|get variable value|

# |list-externals||list the names of all embedded externals|
# |external-init|<origin>|create skeleton external code and save to origin|
# |external-add|<origin>|add an external from origin|
# |external-update|<external> [<origin>]|update an external's code|
# |external-remove|<external>|remove external's code, keeping header|
Expand Down Expand Up @@ -261,6 +262,29 @@ _external-add () {
ext_insert $tmpfile $offset && _external-update $name
}

_external-init ()
{
local origin=$1

[[ -f $origin ]] && origin=$( readlink -f $origin )
name=$( basename $origin )

echo $name

[[ -e $origin ]] && die "An external already exist by that name"

cat > $origin <<EOF
# @
# |external-skel||describe what external-skel do|
_external-skel () {
echo "body of external-skel here"
}
EOF

sed -i "s/external-skel/$name/g" $origin
echo "External $name created saved as $origin"
}

_external-update () {
local ext=$1
local origin
Expand Down