From 69a1d04c86dc83a5369eeb46f7cbb3272f045417 Mon Sep 17 00:00:00 2001 From: Daniele Scasciafratte Date: Wed, 12 Jun 2024 17:53:23 +0200 Subject: [PATCH] feat(std): more command --- src/std/main.ab | 53 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) diff --git a/src/std/main.ab b/src/std/main.ab index 48bb2760..234f3fbd 100644 --- a/src/std/main.ab +++ b/src/std/main.ab @@ -128,3 +128,56 @@ pub fun includes(arr, value) { } return false } + +pub fun move(origin: Text, destination: Text): Null { + unsafe $mv "{origin}" "{destination}"$ +} + +pub fun change_dir(path: Text): Null { + if dir_exist(origin) { + unsafe $cd "{path}" || exit$ + } + + return false +} + +pub fun make_symbolic_link(origin: Text, destination: Text): Null { + if file_exist(origin) { + unsafe $ln -s "{origin}" "{path}"$ + return true + } + + echo "The file {$origin} doesn't exist!" + return false +} + +pub fun create_dir(path: Text): Null { + if not dir_exist(origin) { + unsafe $mkdir -p "{path}"$ + } +} + +pub fun make_executable(path: Text): Null { + if file_exist(origin) { + unsafe $chmod +x "{path}"$ + return true + } + + echo "The file {$path} doesn't exist!" + return false +} + +pub fun switch_user_permission(user: Text, path: Text): Null { + // TODO when OR will be available we need to check if the folder or file exist + unsafe $chown -R "{user}" "{path}"$ +} + +pub fun delete(path: Text): Null { + if not includes(['/', '.', '..'], path) { + unsafe $rm -fr "{path}"$ + return true + } + + echo "The file {$path} can't be deleted!" + return false +}