aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--autoload/notes.kak3
-rw-r--r--autoload/repl.kak5
-rwxr-xr-xscripts/logger.sh58
3 files changed, 65 insertions, 1 deletions
diff --git a/autoload/notes.kak b/autoload/notes.kak
new file mode 100644
index 0000000..3d360a4
--- /dev/null
+++ b/autoload/notes.kak
@@ -0,0 +1,3 @@
+define-command create-log -params 1.. %{
+ connect run env "EDITOR=kcr edit" "%val{config}/scripts/logger.sh" %arg{@}
+}
diff --git a/autoload/repl.kak b/autoload/repl.kak
index 1e3d369..3317e9f 100644
--- a/autoload/repl.kak
+++ b/autoload/repl.kak
@@ -42,7 +42,10 @@ define-repl-mode c 'Cypress' %{
'
set global xrepl_current_clear_screen true
}
-define-repl-mode a 'AI: Gemini' %{
+define-repl-mode a 'AI: Local' %{
+ set global xrepl_current_cmd 'aichat'
+}
+define-repl-mode g 'AI: Gemini' %{
set global xrepl_current_cmd 'gemini'
}
diff --git a/scripts/logger.sh b/scripts/logger.sh
new file mode 100755
index 0000000..0598c03
--- /dev/null
+++ b/scripts/logger.sh
@@ -0,0 +1,58 @@
+#!/usr/bin/env sh
+
+set -e -o pipefail
+
+logger_path="$HOME/nixos/extras/notes/logger"
+
+journal() {
+ capture_and_edit_date_log journal << EOF
+* $(date +%r)
+New entry
+EOF
+}
+
+record() {
+ capture_and_edit_date_log record << EOF
+* $(date +%r)
+** Situation
+-
+** Thoughts
+-
+** Feelings
+-
+** Actions
+-
+EOF
+}
+
+link() { capture_link "$@"; }
+
+capture_and_edit_date_log() {
+ path="${logger_path}/$1/$(date +%F).org";
+ mkdir -p "${logger_path}/$1";
+ cat >> "$path";
+ echo -e "" >> "$path";
+ edit "$path";
+}
+
+capture_link() {
+ [ $# -gt 0 ] || (echo "Please specify link to capture"; exit 1)
+ link="$1"
+ category="${2:-default}"
+ mkdir -p "${logger_path}/links";
+ path="${logger_path}/links/$category.org";
+ echo "[[$link]]" >> "$path";
+ notify-send "Captured $link in $category"
+}
+
+edit() {
+ setsid -f sh -c "exec ${EDITOR:-"${VISUAL:-kak}"} $@";
+}
+
+mkdir -p "$logger_path";
+cmd="$1"; shift 1;
+case "$cmd" in
+ journal) journal ;;
+ record) record ;;
+ link) link "$@" ;;
+esac