SMOLNET PORTAL home about changes
iMajor internal rework by Quentin Rameau - notes - a console notes manager using git	Err	bitreich.org	70
1Log	/scm/notes/log.gph	bitreich.org	70
1Files	/scm/notes/files.gph	bitreich.org	70
1Refs	/scm/notes/refs.gph	bitreich.org	70
1Tags	/scm/notes/tag	bitreich.org	70
1LICENSE	/scm/notes/file/LICENSE.gph	bitreich.org	70
i---	Err	bitreich.org	70
1commit 901af4715f8b6dd389b9d047a4ff15e769b61723	/scm/notes/commit/901af4715f8b6dd389b9d047a4ff15e769b61723.gph	bitreich.org	70
1parent 15b0eb8c733c9fff27256068ba210d3d904bfadb	/scm/notes/commit/15b0eb8c733c9fff27256068ba210d3d904bfadb.gph	bitreich.org	70
hAuthor: Solene Rapenne <solene@perso.pw>	URL:mailto:solene@perso.pw	bitreich.org	70
iDate:   Sat, 14 Jul 2018 10:50:03 +0200	Err	bitreich.org	70
i	Err	bitreich.org	70
iMajor internal rework by Quentin Rameau	Err	bitreich.org	70
i	Err	bitreich.org	70
iDiffstat:	Err	bitreich.org	70
i  M notes                               |     130 ++++++++++++++-----------------	Err	bitreich.org	70
i	Err	bitreich.org	70
i1 file changed, 60 insertions(+), 70 deletions(-)	Err	bitreich.org	70
i---	Err	bitreich.org	70
1diff --git a/notes b/notes	/scm/notes/file/notes.gph	bitreich.org	70
i@@ -2,40 +2,40 @@	Err	bitreich.org	70
i 	Err	bitreich.org	70
i # tool for taking notes inside a git repository	Err	bitreich.org	70
i 	Err	bitreich.org	70
i-REPO=${REPO:=~/notes}	Err	bitreich.org	70
i+: ${REPO:=~/notes}	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+# search for a suitable editor	Err	bitreich.org	70
i+[ -z "$EDITOR" ] && \	Err	bitreich.org	70
i+for e in nvim vim emacs vi ed; do	Err	bitreich.org	70
i+        if command -v $e >/dev/null 2>&1; then	Err	bitreich.org	70
i+                EDITOR=$e	Err	bitreich.org	70
i+                break	Err	bitreich.org	70
i+        fi	Err	bitreich.org	70
i+done	Err	bitreich.org	70
i 	Err	bitreich.org	70
i-# default editor to vi	Err	bitreich.org	70
i if [ -z "$EDITOR" ]; then	Err	bitreich.org	70
i-        type nvim >/dev/null 2>&1 && EDITOR=nvim	Err	bitreich.org	70
i-        test -z "$EDITOR" && type vim   >/dev/null 2>&1 && EDITOR=vim	Err	bitreich.org	70
i-        test -z "$EDITOR" && type emacs >/dev/null 2>&1 && EDITOR=emacs	Err	bitreich.org	70
i-        test -z "$EDITOR" && EDITOR=vi	Err	bitreich.org	70
i+        printf 'Could not elect an editor. ED is the standard text editor!\n'	Err	bitreich.org	70
i+        exit 1	Err	bitreich.org	70
i fi	Err	bitreich.org	70
i 	Err	bitreich.org	70
i usage() {	Err	bitreich.org	70
i-        NAME=$(basename $0)	Err	bitreich.org	70
i-        echo "$NAME [init|ls|history|cat|rm] [path]"	Err	bitreich.org	70
i-        echo ""	Err	bitreich.org	70
i-        echo "  $NAME init"	Err	bitreich.org	70
i-        echo "     - initialize the git repository"	Err	bitreich.org	70
i-        echo ""	Err	bitreich.org	70
i-        echo "  $NAME [ls]"	Err	bitreich.org	70
i-        echo "     - show hierarchy tree"	Err	bitreich.org	70
i-        echo ""	Err	bitreich.org	70
i-        echo "  $NAME path"	Err	bitreich.org	70
i-        echo '     - start $EDITOR on file and auto commit'	Err	bitreich.org	70
i-        echo ""	Err	bitreich.org	70
i-        echo "  $NAME history path"	Err	bitreich.org	70
i-        echo "     - start tig on file to display file history"	Err	bitreich.org	70
i-        echo ""	Err	bitreich.org	70
i-        echo "  $NAME cat path"	Err	bitreich.org	70
i-        echo "     - output content of the file"	Err	bitreich.org	70
i-        echo ""	Err	bitreich.org	70
i-        echo "  $NAME rm path"	Err	bitreich.org	70
i-        echo "     - delete file"	Err	bitreich.org	70
i-        echo ""	Err	bitreich.org	70
i-        echo "  $NAME last"	Err	bitreich.org	70
i-        echo "     - show files ordered by edition time"	Err	bitreich.org	70
i+        name=$(basename $0)	Err	bitreich.org	70
i+        printf '%s\n' \	Err	bitreich.org	70
i+            "$name [ls] | init | last | [history|cat|rm] PATH" \	Err	bitreich.org	70
i+            "$name [ls]" \	Err	bitreich.org	70
i+            ': show hierarchy tree' \	Err	bitreich.org	70
i+            "$name init" \	Err	bitreich.org	70
i+            ': initialize the git repository' \	Err	bitreich.org	70
i+            "$name last" \	Err	bitreich.org	70
i+            ': show files ordered by edition time' \	Err	bitreich.org	70
i+            "$name history PATH" \	Err	bitreich.org	70
i+            ': uses tig to display file history' \	Err	bitreich.org	70
i+            "$name cat PATH" \	Err	bitreich.org	70
i+            ': output content of the file' \	Err	bitreich.org	70
i+            "$name rm PATH" \	Err	bitreich.org	70
i+            ': delete file' \	Err	bitreich.org	70
i+            "$name PATH" \	Err	bitreich.org	70
i+            ": start \$EDITOR ($EDITOR) on file and auto commit"	Err	bitreich.org	70
i }	Err	bitreich.org	70
i 	Err	bitreich.org	70
i # display a file tree of notes taken	Err	bitreich.org	70
i@@ -45,54 +45,46 @@ display() {	Err	bitreich.org	70
i 	Err	bitreich.org	70
i # edit a file given as parameter	Err	bitreich.org	70
i edit() {	Err	bitreich.org	70
i-        DEST="$1"	Err	bitreich.org	70
i-        DIRNAME=$(dirname "$DEST")	Err	bitreich.org	70
i         cd "$REPO"	Err	bitreich.org	70
i-	Err	bitreich.org	70
i-        if [ ! -d "$DEST" ]	Err	bitreich.org	70
i+        if [ ! -d "$1" ]	Err	bitreich.org	70
i         then	Err	bitreich.org	70
i-                mkdir -p "${DIRNAME}"	Err	bitreich.org	70
i-                $EDITOR "$DEST"	Err	bitreich.org	70
i-                git add "$DEST"	Err	bitreich.org	70
i-                git commit -m "editing by $USER" "$DEST"	Err	bitreich.org	70
i+                mkdir -p "$(dirname "$destdir")"	Err	bitreich.org	70
i+                "$EDITOR" "$1"	Err	bitreich.org	70
i+                git add "$1"	Err	bitreich.org	70
i+                git commit -m "editing by $USER" "$1"	Err	bitreich.org	70
i         else	Err	bitreich.org	70
i-                echo "${DEST} is a folder. Aborting"	Err	bitreich.org	70
i+                printf 'Aborting: "%s" is a directory.\n' "$1"	Err	bitreich.org	70
i                 exit 1	Err	bitreich.org	70
i         fi	Err	bitreich.org	70
i }	Err	bitreich.org	70
i 	Err	bitreich.org	70
i # show file history using tig program	Err	bitreich.org	70
i histo() {	Err	bitreich.org	70
i-        DEST="$1"	Err	bitreich.org	70
i         cd "$REPO"	Err	bitreich.org	70
i-	Err	bitreich.org	70
i-        tig "$DEST"	Err	bitreich.org	70
i+        tig "$1"	Err	bitreich.org	70
i }	Err	bitreich.org	70
i 	Err	bitreich.org	70
i # output the content of a file	Err	bitreich.org	70
i show_file() {	Err	bitreich.org	70
i-        DEST="$1"	Err	bitreich.org	70
i         cd "$REPO"	Err	bitreich.org	70
i-        cat "$DEST"	Err	bitreich.org	70
i+        cat "$1"	Err	bitreich.org	70
i }	Err	bitreich.org	70
i 	Err	bitreich.org	70
i # delete a file and commit in git	Err	bitreich.org	70
i delete() {	Err	bitreich.org	70
i-        DEST="$1"	Err	bitreich.org	70
i         cd "$REPO"	Err	bitreich.org	70
i-        if [ -f "$DEST" ];	Err	bitreich.org	70
i+        if [ -f "$1" ];	Err	bitreich.org	70
i         then	Err	bitreich.org	70
i-                git rm "$DEST"	Err	bitreich.org	70
i-                git commit -m "deleted by $USER" "$DEST"	Err	bitreich.org	70
i+                git rm "$1"	Err	bitreich.org	70
i+                git commit -m "deleted by $USER" "$1"	Err	bitreich.org	70
i         else	Err	bitreich.org	70
i-                echo "${DEST} is a folder. Aborting."	Err	bitreich.org	70
i+                printf 'Aborting: "%s" is a directory.\n' "$1"	Err	bitreich.org	70
i                 exit 1	Err	bitreich.org	70
i         fi	Err	bitreich.org	70
i }	Err	bitreich.org	70
i 	Err	bitreich.org	70
i # display the list of edited files ordered by time	Err	bitreich.org	70
i last() {	Err	bitreich.org	70
i-        DEST="$1"	Err	bitreich.org	70
i         cd "$REPO"	Err	bitreich.org	70
i         git log --pretty="%cr" --name-only | \	Err	bitreich.org	70
i                 awk '{	Err	bitreich.org	70
i@@ -113,12 +105,12 @@ _completion_list() {	Err	bitreich.org	70
i                 cd "$REPO"	Err	bitreich.org	70
i                 find . -name '.git' -prune -o -mindepth 2 -type f -print | sed 's,^\./,,'	Err	bitreich.org	70
i         else	Err	bitreich.org	70
i-                echo "$REPO does not exist. Aborting..."	Err	bitreich.org	70
i+                printf 'Aborting: "%s" does not exist.\n' "$REPO"	Err	bitreich.org	70
i                 exit 4	Err	bitreich.org	70
i         fi	Err	bitreich.org	70
i }	Err	bitreich.org	70
i 	Err	bitreich.org	70
i-# create a git repo	Err	bitreich.org	70
i+# create a git repository	Err	bitreich.org	70
i initialization() {	Err	bitreich.org	70
i         cd "$REPO"	Err	bitreich.org	70
i         if [ -d .git ]	Err	bitreich.org	70
i@@ -130,27 +122,25 @@ initialization() {	Err	bitreich.org	70
i         fi	Err	bitreich.org	70
i }	Err	bitreich.org	70
i 	Err	bitreich.org	70
i-mkdir -p "${REPO}"	Err	bitreich.org	70
i-if [ $? -ne 0 ]	Err	bitreich.org	70
i+if ! mkdir -p "$REPO"	Err	bitreich.org	70
i then	Err	bitreich.org	70
i-        echo "Can't create ${REPO}. Aborting."	Err	bitreich.org	70
i+        printf 'Aborting: cannot create "%s".\n' "$REPO"	Err	bitreich.org	70
i         exit 2	Err	bitreich.org	70
i fi	Err	bitreich.org	70
i 	Err	bitreich.org	70
i-PARAM1="$1"	Err	bitreich.org	70
i-PARAM2="$2"	Err	bitreich.org	70
i-	Err	bitreich.org	70
i-if [ "$PARAM1" = "ls" ];      then display          ; exit 0 ; fi	Err	bitreich.org	70
i-if [ "$PARAM1" = "init" ];    then initialization   ; exit 0 ; fi	Err	bitreich.org	70
i-if [ "$PARAM1" = "" ];        then display          ; exit 0 ; fi	Err	bitreich.org	70
i-if [ "$PARAM1" = "_files" ] ; then _completion_list ; exit 0 ; fi	Err	bitreich.org	70
i-if [ "$PARAM1" = "rm" ] && [ -n "$PARAM2" ]; then delete "$PARAM2" ; exit 0 ; fi	Err	bitreich.org	70
i-if expr "$PARAM1" : "^hi" >/dev/null && [ -n "$PARAM2" ]; then histo     "$PARAM2" ; exit 0 ; fi	Err	bitreich.org	70
i-if expr "$PARAM1" : "^c"  >/dev/null && [ -n "$PARAM2" ]; then show_file "$PARAM2" ; exit 0 ; fi	Err	bitreich.org	70
i-if expr "$PARAM1" : "^he" >/dev/null ; then usage ; exit 0 ; fi	Err	bitreich.org	70
i-if expr "$PARAM1" : "^l"  >/dev/null ; then last  ; exit 0 ; fi	Err	bitreich.org	70
i-	Err	bitreich.org	70
i-if [ -f "${REPO}/${PARAM1}" ] ; then edit "$PARAM1" ; exit 0 ; fi	Err	bitreich.org	70
i+if [ -f "$REPO/$1" ]; then	Err	bitreich.org	70
i+        edit "$1"	Err	bitreich.org	70
i+        exit 0	Err	bitreich.org	70
i+fi	Err	bitreich.org	70
i 	Err	bitreich.org	70
i-# nothing matched	Err	bitreich.org	70
i-echo "${PARAM1} is not a valid command or an existing filename" && exit 5	Err	bitreich.org	70
i+case "$1" in	Err	bitreich.org	70
i+        '') display ;;	Err	bitreich.org	70
i+        "ls") display ;;	Err	bitreich.org	70
i+        "i*") initialization ;;	Err	bitreich.org	70
i+        "la*") last ;;	Err	bitreich.org	70
i+        "hi*") [ -n "$2" ] && histo "$2" ;;	Err	bitreich.org	70
i+        "c*") [ -n "$2" ] && show_file "$2" ;;	Err	bitreich.org	70
i+        "r*") [ -n "$2" ] && delete "$2" ;;	Err	bitreich.org	70
i+        "_files") _completion_list ;;	Err	bitreich.org	70
i+        *) usage && exit 1 ;; 	Err	bitreich.org	70
i+esac	Err	bitreich.org	70
.
Response: text/plain
Original URLgopher://bitreich.org/0/scm/notes/commit/901af4715f8b6dd3...
Content-Typetext/plain; charset=utf-8