blob: 4d35ea32542a7fa952440df3d31cc0ebb604a4b0 (
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
|
#!/usr/bin/env dash
# shellcheck source=/dev/null
SHELL_LIBRARY_VERSION="1.4.2" . %SHELL_LIBRARY_PATH
# these are used in version()
AUTHORS="Soispha"
YEARS="2023"
NAME="neorg"
help() {
cat << EOF
This is a quick wrapper to make starting neorg easier.
Usage:
$NAME [--help|--version] <neorg workspace>
Options:
--help | -h
Display this help and exit.
--version | -v
Display version and copyright information and exit.
--task | -t
Open the neorg project associated with the current context.
If no context is set, drop to the selection prompt
<neorg workspace>
The neorg workspace to open at startup, an empty value drops
you at a prompt to enter the workspace yourself
EOF
}
open_neorg_workspace() {
nvim -c "NeorgStart" -s "$(ptmp ":Neorg workspace $1\n")"
}
open_neorg_workspace_prompt() {
nvim -c "NeorgStart" -s "$(ptmp ":Neorg workspace ")"
}
open_current_task_context() {
current_context="$(task _get rc.context)";
if [ "$current_context" ]; then
context_path="$(task _get rc.context."$current_context".rc.neorg_path)";
[ "$context_path" ] || die "All contexts should have a 'neorg_path' set!"
# Perform shell expansion of Tilde
nvim "$(sed "s|~|$HOME|" "$(ptmp "%DEFAULT_NEORG_PROJECT_DIR/$context_path")")";
else
dbg "No context active";
open_neorg_workspace_prompt;
fi
}
for arg in "$@"; do
case "$arg" in
"--help" | "-h")
help;
exit 0;
;;
"--version" | "-v")
version;
exit 0;
;;
esac
done
while [ "$#" -ne 0 ]; do
case "$1" in
"--task" | "-t")
open_current_task_context;
exit 0;
;;
*)
open_neorg_workspace "$1";
exit 0;
;;
esac
shift 1
done
open_neorg_workspace_prompt;
# vim: ft=sh
|