Naposledy aktivní 1 month ago

Revize 2329efb064e44e416627c95b35527006987a3a7d

context.sh Raw
1#!/usr/bin/env bash
2# core/framework/context.sh
3
4# ============================================
5# Static Context — resolved once at source time
6# ============================================
7
8_CTX_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)"
9_CTX_CORE="${_CTX_ROOT}/core"
10_CTX_FRAMEWORK_CORE="${_CTX_ROOT}/core/framework"
11_CTX_APP_CORE="${_CTX_ROOT}/core/app"
12_CTX_MODULES="${_CTX_ROOT}/modules"
13_CTX_COMMANDS="${_CTX_ROOT}/commands"
14
15echo "ctx::root: $_CTX_ROOT"
16echo "ctx::modules: $_CTX_MODULES"
17
18# ============================================
19# Accessors
20# ============================================
21
22function ctx::root() { echo "$_CTX_ROOT"; }
23function ctx::core() { echo "$_CTX_CORE"; }
24function ctx::framework() { echo "$_CTX_FRAMEWORK_CORE"; }
25function ctx::app() { echo "$_CTX_APP_CORE"; }
26function ctx::modules() { echo "$_CTX_MODULES"; }
27function ctx::commands() { echo "$_CTX_COMMANDS"; }
28
29# ============================================
30# Path Helpers
31# ============================================
32
33function ctx::core::path() { local IFS="/"; echo "$_CTX_CORE/$*"; }
34function ctx::framework::path() { local IFS="/"; echo "$_CTX_FRAMEWORK_CORE/$*"; }
35function ctx::module::path() { local IFS="/"; echo "$_CTX_MODULES/$*"; }
36function ctx::command::path() { local IFS="/"; echo "$_CTX_COMMANDS/$*"; }
37