about summary refs log tree commit diff stats
path: root/pkgs/by-name/ne/neorg/functions/utils.sh
blob: c3843e8eee31a2c85af5a442cd70f771bd28e94a (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#!/usr/bin/env dash

# Runs it's first argument and then the second, regardless if the first failed or
# succeeded
utils0chain() {
    eval "$1"
    eval "$2"
}

utils0get_current_context() {
    current_context="$(task _get rc.context)"
    printf "%s\n" "$current_context"
}

utils0get_current_context_path() {
    current_context="$1"
    context_path="$(task _get rc.context."$current_context".rc.neorg_path 2>/dev/null)"
    if ! [ "$context_path" ]; then
        context_path="$(grep "context.$current_context.rc.neorg_path" "%HOME_TASKRC" | awk 'BEGIN {FS="="} {print $2}')"
        [ "$context_path" ] || die "All contexts should have a 'neorg_path' set!"
    fi
    printf "%s\n" "$context_path"
}

utils0get_neorg_project_dir() {
    # Perform shell expansion of Tilde
    neorg_project_dir="$(sed "s|^~|$HOME|" "$(ptmp "%DEFAULT_NEORG_PROJECT_DIR")")"
    printf "%s\n" "$neorg_project_dir"
}

utils0project2context() {
    project="$1"
    context="$(sed 's|\.|_|g' "$(ptmp "$project")")"
    printf "%s\n" "$context"
}
utils0context2project() {
    context="$1"
    project="$(sed 's|_|\.|g' "$(ptmp "$context")")"
    printf "%s\n" "$project"
}