aboutsummaryrefslogtreecommitdiffstats
path: root/pkgs/by-name
diff options
context:
space:
mode:
authorBenedikt Peetz <benedikt.peetz@b-peetz.de>2024-12-20 18:13:32 +0100
committerBenedikt Peetz <benedikt.peetz@b-peetz.de>2024-12-20 18:25:57 +0100
commit796449ef00d90970c7c2e2cab6bbfb3de16abf3d (patch)
tree68e3f55da3e806cc3b14bdedeee8a82a5b206bf9 /pkgs/by-name
parentfix(modules/lf/ctpv/prev/any): Fix typo in `preview_xxd` function call (diff)
downloadnixos-config-796449ef00d90970c7c2e2cab6bbfb3de16abf3d.zip
feat(pkgs/neorg): Init `inputs` subcommand
Diffstat (limited to 'pkgs/by-name')
-rw-r--r--[-rwxr-xr-x]pkgs/by-name/ne/neorg/functions/add.sh0
-rw-r--r--[-rwxr-xr-x]pkgs/by-name/ne/neorg/functions/context.sh0
-rw-r--r--[-rwxr-xr-x]pkgs/by-name/ne/neorg/functions/dmenu.sh0
-rw-r--r--[-rwxr-xr-x]pkgs/by-name/ne/neorg/functions/f_start.sh0
-rw-r--r--[-rwxr-xr-x]pkgs/by-name/ne/neorg/functions/f_stop.sh0
-rw-r--r--pkgs/by-name/ne/neorg/functions/inputs.sh38
-rw-r--r--[-rwxr-xr-x]pkgs/by-name/ne/neorg/functions/list.sh0
-rw-r--r--[-rwxr-xr-x]pkgs/by-name/ne/neorg/functions/project.sh0
-rw-r--r--[-rwxr-xr-x]pkgs/by-name/ne/neorg/functions/review.sh0
-rw-r--r--[-rwxr-xr-x]pkgs/by-name/ne/neorg/functions/utils.sh0
-rw-r--r--[-rwxr-xr-x]pkgs/by-name/ne/neorg/functions/workspace.sh0
-rwxr-xr-xpkgs/by-name/ne/neorg/main.sh31
-rw-r--r--pkgs/by-name/ne/neorg/package.nix3
13 files changed, 69 insertions, 3 deletions
diff --git a/pkgs/by-name/ne/neorg/functions/add.sh b/pkgs/by-name/ne/neorg/functions/add.sh
index 5a830a10..5a830a10 100755..100644
--- a/pkgs/by-name/ne/neorg/functions/add.sh
+++ b/pkgs/by-name/ne/neorg/functions/add.sh
diff --git a/pkgs/by-name/ne/neorg/functions/context.sh b/pkgs/by-name/ne/neorg/functions/context.sh
index 7095847d..7095847d 100755..100644
--- a/pkgs/by-name/ne/neorg/functions/context.sh
+++ b/pkgs/by-name/ne/neorg/functions/context.sh
diff --git a/pkgs/by-name/ne/neorg/functions/dmenu.sh b/pkgs/by-name/ne/neorg/functions/dmenu.sh
index 5a138982..5a138982 100755..100644
--- a/pkgs/by-name/ne/neorg/functions/dmenu.sh
+++ b/pkgs/by-name/ne/neorg/functions/dmenu.sh
diff --git a/pkgs/by-name/ne/neorg/functions/f_start.sh b/pkgs/by-name/ne/neorg/functions/f_start.sh
index 2423dd44..2423dd44 100755..100644
--- a/pkgs/by-name/ne/neorg/functions/f_start.sh
+++ b/pkgs/by-name/ne/neorg/functions/f_start.sh
diff --git a/pkgs/by-name/ne/neorg/functions/f_stop.sh b/pkgs/by-name/ne/neorg/functions/f_stop.sh
index e4ff0b94..e4ff0b94 100755..100644
--- a/pkgs/by-name/ne/neorg/functions/f_stop.sh
+++ b/pkgs/by-name/ne/neorg/functions/f_stop.sh
diff --git a/pkgs/by-name/ne/neorg/functions/inputs.sh b/pkgs/by-name/ne/neorg/functions/inputs.sh
new file mode 100644
index 00000000..613d7574
--- /dev/null
+++ b/pkgs/by-name/ne/neorg/functions/inputs.sh
@@ -0,0 +1,38 @@
+#!/usr/bin/env dash
+
+inputs0add() {
+ url_file="$1"
+
+ mkdir --parents "$(dirname "%NEORG_INPUTS_STORAGE_FILE")"
+
+ clean "$url_file" >>"%NEORG_INPUTS_STORAGE_FILE" &&
+ msg2 "Successfully added file '$url_file' with $(wc -l <"$url_file") entries to the url list"
+}
+
+inputs0review() {
+ base_profile="$1"
+
+ [ -f "%NEORG_INPUTS_STORAGE_FILE" ] || die "'%NEORG_INPUTS_STORAGE_FILE' is not a file. Have you added something with 'inputs_add' yet?"
+
+ done_urls="$(mktmp)"
+
+ # We assume that the project is not yet open.
+ firefox -P "$base_profile" &
+
+ while read -r url; do
+ msg "Adding url '$url'"
+ notify-send "Neorg" "Reviewing '$url'"
+ firefox -P "$base_profile" "$url"
+
+ echo "$url" >>"$done_urls"
+ done <"%NEORG_INPUTS_STORAGE_FILE"
+
+ # Wait for the Firefox process from above to finish.
+ wait
+
+ tmp="$(mktmp)"
+ # source: https://stackoverflow.com/a/24324455
+ awk 'NR==FNR {a[$0]=1; next} !a[$0]' "$done_urls" "%NEORG_INPUTS_STORAGE_FILE" >"$tmp"
+
+ mv "$tmp" "%NEORG_INPUTS_STORAGE_FILE"
+}
diff --git a/pkgs/by-name/ne/neorg/functions/list.sh b/pkgs/by-name/ne/neorg/functions/list.sh
index 10659457..10659457 100755..100644
--- a/pkgs/by-name/ne/neorg/functions/list.sh
+++ b/pkgs/by-name/ne/neorg/functions/list.sh
diff --git a/pkgs/by-name/ne/neorg/functions/project.sh b/pkgs/by-name/ne/neorg/functions/project.sh
index 64591850..64591850 100755..100644
--- a/pkgs/by-name/ne/neorg/functions/project.sh
+++ b/pkgs/by-name/ne/neorg/functions/project.sh
diff --git a/pkgs/by-name/ne/neorg/functions/review.sh b/pkgs/by-name/ne/neorg/functions/review.sh
index a0a9ab8d..a0a9ab8d 100755..100644
--- a/pkgs/by-name/ne/neorg/functions/review.sh
+++ b/pkgs/by-name/ne/neorg/functions/review.sh
diff --git a/pkgs/by-name/ne/neorg/functions/utils.sh b/pkgs/by-name/ne/neorg/functions/utils.sh
index c3843e8e..c3843e8e 100755..100644
--- a/pkgs/by-name/ne/neorg/functions/utils.sh
+++ b/pkgs/by-name/ne/neorg/functions/utils.sh
diff --git a/pkgs/by-name/ne/neorg/functions/workspace.sh b/pkgs/by-name/ne/neorg/functions/workspace.sh
index d5eb2fca..d5eb2fca 100755..100644
--- a/pkgs/by-name/ne/neorg/functions/workspace.sh
+++ b/pkgs/by-name/ne/neorg/functions/workspace.sh
diff --git a/pkgs/by-name/ne/neorg/main.sh b/pkgs/by-name/ne/neorg/main.sh
index 559351b9..b4f0f0e6 100755
--- a/pkgs/by-name/ne/neorg/main.sh
+++ b/pkgs/by-name/ne/neorg/main.sh
@@ -9,11 +9,12 @@ SHELL_LIBRARY_VERSION="2.1.2" . %SHELL_LIBRARY_PATH
. ./functions/dmenu.sh
. ./functions/f_start.sh
. ./functions/f_stop.sh
+. ./functions/inputs.sh
. ./functions/list.sh
. ./functions/project.sh
+. ./functions/review.sh
. ./functions/utils.sh
. ./functions/workspace.sh
-. ./functions/review.sh
# these are used in version()
# shellcheck disable=2034
@@ -70,15 +71,25 @@ COMMANDS:
review
Review all firefox tabs
+
+ inputs_add F
+ Add all urls from the file F as inputs to be catogorized
+
+ inputs_review P
+ Like 'review', but for the inputs that have previously been added.
+ It takes a project in which to open the urls.
ARGUMENTS:
ID | *([0-9]) := [[%ID_GENERATION_FUNCTION]]
The function displays all possible IDs of the eligable tasks.
WS := %ALL_WORKSPACES
- All possible workspaces
+ All possible workspaces.
P := %ALL_PROJECTS_PIPE
- The possible project
+ The possible project.
+
+ F := [[fd . --max-depth 3]]
+ A URL-Input file to use as source.
EOF
}
@@ -153,6 +164,20 @@ while [ "$#" -ne 0 ]; do
review0start
exit 0
;;
+ "inputs_a"*) # inputs_add
+ shift 1
+ url_file="$1"
+ [ -f "$url_file" ] || die "Url file ('$url_file') is not a valid file."
+ inputs0add "$url_file"
+ exit 0
+ ;;
+ "inputs_r"*) # inputs_review
+ shift 1
+ base_project="$1"
+ [ -z "$base_project" ] && die "'inputs_review' requires a project."
+ inputs0review "$base_project"
+ exit 0
+ ;;
*)
die "Command '$1' does not exist! Please look at:\n $NAME --help"
exit 0
diff --git a/pkgs/by-name/ne/neorg/package.nix b/pkgs/by-name/ne/neorg/package.nix
index a9ab1ca8..3d26d1fb 100644
--- a/pkgs/by-name/ne/neorg/package.nix
+++ b/pkgs/by-name/ne/neorg/package.nix
@@ -31,6 +31,7 @@ sysLib.writeShellScriptMultiPart {
"dmenu.sh"
"f_start.sh"
"f_stop.sh"
+ "inputs.sh"
"list.sh"
"project.sh"
"review.sh"
@@ -48,6 +49,8 @@ sysLib.writeShellScriptMultiPart {
HOME_TASKRC = "${xdgConfigHome}/task/home-manager-taskrc";
NEORG_REVIEW_PATH = "${xdgDataHome}/neorg/review";
+ NEORG_INPUTS_STORAGE_FILE = "${xdgDataHome}/neorg/inputs/url_list.txt";
+
ALL_PROJECTS_NEWLINE = allProjectsNewline;
ALL_PROJECTS_COMMA = allProjectsComma;
ALL_PROJECTS_PIPE = allProjectsPipe;