unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* todo-did.el complete rewrite
@ 2019-03-25  5:12 Emanuel Berg
  0 siblings, 0 replies; only message in thread
From: Emanuel Berg @ 2019-03-25  5:12 UTC (permalink / raw)
  To: help-gnu-emacs; +Cc: emacs-devel

Emacs/shell (here, zsh) interface to a TODO
buffer. Very useful and fast. (`todo-show-file'
ought to be bound to a key, e.g. I have it
`C-j t'.)

In the shell it is just

    $ todo sleep more, take less amphetamine

(Note the lack of apostrophes/quotes!) The next
time you do `C-j t' (or whatever you have it)
it'll be there - sorted, and saved.

Same if you do

    M-x todo RET fix all the bugs in todo-did.el RET

Ain't it cool stuff? :) Please comment!
The last couple of days I have posted tons of
code (of various degrees of advancedness, this
is probably the most advanced) - the last
couple of days I have posted tons of code and
not received a single comment :(
Very disappointing is my honest sensation.

PS. Check the date if you use the URL!
Might get a cached version otherwise. DS.

Aaanyway...

;; This file: http://user.it.uu.se/~embe8573/emacs-init/todo-did.el
;;
;; Updated: 25-03-2019 05:53
;;
;; zsh companion:
;;
;; set the TODO_FILE env in:  ~/.zshenv
;; 'todo' command:
;;   ~/.zsh/todo
;;   http://user.it.uu.se/~embe8573/conf/.zsh/todo

(defun todo-get-buffer ()
  (let*((todo-env-var "TODO_FILE")
        (todo-file     (getenv todo-env-var)) )
    (if todo-file
        (or (get-file-buffer    todo-file)
            (find-file-noselect todo-file) )
      (error "Set the env var %s first" todo-env-var) )))

(defun todo-sort-and-save ()
  (sort-lines nil ; not REVERSE
              (point-min) (point-max))
  (save-buffer) )

(defun todo (what)
  (interactive "sdo what: ")
  (let ((todo-buffer (todo-get-buffer)))
    (with-current-buffer todo-buffer
      (goto-char (point-max))
      (insert what)
      (todo-sort-and-save)
      )))

(defun todo-show-file ()
  (interactive)
  (let ((todo-buffer (todo-get-buffer)))
    (set-buffer todo-buffer)

    ;; this if if the file doesn't exist
    ;; but the env is set correctly
    (save-buffer)

    ;; this is if the file
    ;; has changed from the shell
    (revert-buffer t t) ; IGNORE-AUTO NOCONFIRM
    (todo-sort-and-save)

    (switch-to-buffer todo-buffer)
    ))

-- 
underground experts united
http://user.it.uu.se/~embe8573




^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2019-03-25  5:12 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-03-25  5:12 todo-did.el complete rewrite Emanuel Berg

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).