From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Tim O'Callaghan" Subject: Re: Feature Request: "Keeping me honest" Date: Thu, 1 Oct 2009 02:31:48 +0200 Message-ID: <3d6808890909301731n5f23120er8966af846ab3271d@mail.gmail.com> References: <3d6808890908030647k3ecfd8b1u45bca71320ca34cc@mail.gmail.com> <7EA78739DB6FF044926304E83668BF8222E0303C@brewer.cmass.criticalmass.com> <3d6808890909210722h5b145187xc55de0331e73104e@mail.gmail.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary=00151747ba9c0a0b430474d4c7c9 Return-path: Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1Mt9ah-0004i7-L3 for emacs-orgmode@gnu.org; Wed, 30 Sep 2009 20:32:15 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1Mt9ac-0004eJ-Mk for emacs-orgmode@gnu.org; Wed, 30 Sep 2009 20:32:15 -0400 Received: from [199.232.76.173] (port=60313 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Mt9ac-0004dz-E5 for emacs-orgmode@gnu.org; Wed, 30 Sep 2009 20:32:10 -0400 Received: from mail-bw0-f220.google.com ([209.85.218.220]:63867) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1Mt9ab-0004vZ-O7 for emacs-orgmode@gnu.org; Wed, 30 Sep 2009 20:32:10 -0400 Received: by bwz20 with SMTP id 20so5696154bwz.42 for ; Wed, 30 Sep 2009 17:32:08 -0700 (PDT) In-Reply-To: <3d6808890909210722h5b145187xc55de0331e73104e@mail.gmail.com> List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: org-mode --00151747ba9c0a0b430474d4c7c9 Content-Type: text/plain; charset=ISO-8859-1 Attached is a working implementation of the idea. So, in GTD each 'next action' is supposed to be an actual doable thing to further the project it is associated with. When creating next actions or project headlines there is sometimes a tendency to use a heading that is a bit vague/undoable. This is usually a sign that the task the headline represents needs more thinking about and will probably need more than one next action or spawn another project. org-action-verbs was created to use a list of GTD 'action verbs' to diagnose non-functional next action and project headlines. It searches for headlines of a specific TODO type and checks to see if the first word in the headline is specified as an action verb for that TODO type. If not, then it highlights that first non actionable word. Its a bit like flyspell mode but for checking doable org headlines. To use put the following in your .emacs: (require 'org-action-verbs) To change the default TODO Type->Action Verb table you can set 'org-action-todo-verbs'. Below is an example. The first checks for the right spaceship name associated with the 'SPACESHIP' TODO type, and the right colour for the 'COLOR' and 'COLOUR' TODO types. - note the Action verbs are case sensitive. (setq org-action-todo-verbs '( (("SPACESHIP") . ("Challenger" "Voyager" "Enterprise" "Nostromo" "Apollo" )) (("COLOUR" "COLOR") . ("Red" "Yellow" "Green" "Aquamarine" "Blue" "Black")) ) The current default mappings are based on David Allen's GTD verb list: Verbs for the TODO types "TODO" and "NEXT" -> Address Ask Avoid Buy Change Clarify Collect Commend Confront Consider Create Decide Defer Develop Discard Do Again Download Enter File Follow Up Hire Improve Increase Inform Inquire Enquire Maintain Measure Monitor Order Paint Phone Prioritize Prioritise Purchase Question Reduce Remember Repair Reply Report Research Resolve Review Schedule Sell Send Service Specify Start Stop Suggest Tidy Train Update Upgrade Write Verbs for the TODO type "PROJECT" -> Finalize Finalise Resolve Handle Look-Into Submit Maximize Maximise Organize Organise Design Complete Ensure Research Roll-Out Update Install Implement Set-Up Enjoy, Tim. --00151747ba9c0a0b430474d4c7c9 Content-Type: application/emacs-lisp; name="org-action-verbs.el" Content-Disposition: attachment; filename="org-action-verbs.el" Content-Transfer-Encoding: base64 X-Attachment-Id: f_g08rtnu80 TTs7OyBvcmctYWN0aW9uLXZlcmJzLmVsIC0tLSBIaWdobGlnaHQgcG90ZW50aWFsbHkgdW4tZG9h YmxlIGhlYWRsaW5lcy4KCjs7IENvcHlyaWdodCAoQykgMjAwOCBUaW0gTydDYWxsYWdoYW4KCjs7 IEF1dGhvcjogVGltIE8nQ2FsbGFnaGFuIDx0aW1vQGRzcHNydi5jb20+Cjs7IFZlcnNpb246IDAu MQoKOzsgVGhpcyBmaWxlIGlzIG5vdCBjdXJyZW50bHkgcGFydCBvZiBHTlUgRW1hY3MuCgo7OyBU aGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5k L29yCjs7IG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1Ymxp YyBMaWNlbnNlIGFzCjs7IHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u OyBlaXRoZXIgdmVyc2lvbiAyLCBvciAoYXQKOzsgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJz aW9uLgoKOzsgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQg d2lsbCBiZSB1c2VmdWwsIGJ1dAo7OyBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVu IHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCjs7IE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZP UiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCjs7IEdlbmVyYWwgUHVibGljIExp Y2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KCjs7IFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNv cHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCjs7IGFsb25nIHdpdGggdGhpcyBw cm9ncmFtIDsgc2VlIHRoZSBmaWxlIENPUFlJTkcuICBJZiBub3QsIHdyaXRlIHRvCjs7IHRoZSBG cmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSAtIFN1aXRlIDMz MCwKOzsgQm9zdG9uLCBNQSAwMjExMS0xMzA3LCBVU0EuCgo7OzsgQ29tbWVudGFyeToKCjs7IFRo aXMgaXMgYW4gaW1wbGVtZW50YXRpb24gb2YgYW4gaWRlYSBJIGhhZCB0byBrZWVwIG1lIGhvbmVz dC4gSW4KOzsgR1REIGVhY2ggJ25leHQgYWN0aW9uJyBpcyBzdXBwb3NlZCB0byBiZSBhbiBhY3R1 YWwgZG9hYmxlIHRoaW5nIHRvCjs7IGZ1cnRoZXIgdGhlIHByb2plY3QgaXQgaXMgYXNzb2NpYXRl ZCB3aXRoLgoKOzsgV2hlbiBjcmVhdGluZyBuZXh0IGFjdGlvbnMgb3IgcHJvamVjdCBoZWFkbGlu ZXMgdGhlcmUgaXMgc29tZXRpbWVzCjs7IGEgdGVuZGVuY3kgdG8gdXNlIGEgaGVhZGluZyB0aGF0 IGlzIGEgYml0IHZhZ3VlL3VuZG9hYmxlLiBUaGlzIGlzCjs7IHVzdWFsbHkgYSBzaWduIHRoYXQg dGhlIHRhc2sgdGhlIGhlYWRsaW5lIHJlcHJlc2VudHMgbmVlZHMgbW9yZQo7OyB0aGlua2luZyBh Ym91dCBhbmQgd2lsbCBwcm9iYWJseSBuZWVkIG1vcmUgdGhhbiBvbmUgbmV4dCBhY3Rpb24gb3IK Ozsgc3Bhd24gYW5vdGhlciBwcm9qZWN0LgoKOzsgb3JnLWFjdGlvbi12ZXJicyB3YXMgY3JlYXRl ZCB0byB1c2UgYSBsaXN0IG9mIEdURCAnYWN0aW9uIHZlcmJzJyB0bwo7OyBkaWFnbm9zZSBub24t ZnVuY3Rpb25hbCBuZXh0IGFjdGlvbiBhbmQgcHJvamVjdCBoZWFkbGluZXMuIEl0IHNlYXJjaGVz Cjs7IGZvciBoZWFkbGluZXMgb2YgYSBzcGVjaWZpYyBUT0RPIHR5cGUgYW5kIGNoZWNrcyB0byBz ZWUgaWYgdGhlIGZpcnN0Cjs7IHdvcmQgaW4gdGhlIGhlYWRsaW5lIGlzIHNwZWNpZmllZCBhcyBh biBhY3Rpb24gdmVyYiBmb3IgdGhhdCBUT0RPCjs7IHR5cGUuIElmIG5vdCwgdGhlbiBpdCBoaWdo bGlnaHRzIHRoYXQgZmlyc3Qgbm9uIGFjdGlvbmFibGUgd29yZC4gCgo7OyBJdHMgYSBiaXQgbGlr ZSBmbHlzcGVsbCBtb2RlIGJ1dCBmb3IgY2hlY2tpbmcgZG9hYmxlIG9yZyBoZWFkbGluZXMuCgo7 OyBUbyB1c2UgcHV0IHRoZSBmb2xsb3dpbmcgaW4geW91ciAuZW1hY3M6Cjs7IChyZXF1aXJlICdv cmctYWN0aW9uLXZlcmJzKQoKOzsgVG8gY2hhbmdlIHRoZSBkZWZhdWx0IFRPRE8gVHlwZS0+QWN0 aW9uIFZlcmIgdGFibGUgeW91IGNhbiBzZXQKOzsgJ29yZy1hY3Rpb24tdG9kby12ZXJicycuIEJl bG93IGlzIGFuIGV4YW1wbGUuIFRoZSBmaXJzdCBjaGVja3MgZm9yIHRoZQo7OyByaWdodCBzcGFj ZXNoaXAgbmFtZSBhc3NvY2lhdGVkIHdpdGggdGhlICdTUEFDRVNISVAnIFRPRE8gdHlwZSwgYW5k Cjs7IHRoZSByaWdodCBjb2xvdXIgZm9yIHRoZSAnQ09MT1InIGFuZCAnQ09MT1VSJyBUT0RPIHR5 cGVzLiAgCgo7OyhzZXRxIG9yZy1hY3Rpb24tdG9kby12ZXJicwo7OyAgICcoCjs7ICAgICAoKCJT UEFDRVNISVAiKSAuICgiQ2hhbGxlbmdlciIgIlZveWFnZXIiICJFbnRlcnByaXNlIiAiTm9zdHJv bW8iICJBcG9sbG8iICkpCjs7ICAgICAoKCJDT0xPVVIiICJDT0xPUiIpIC4gKCJSZWQiICJZZWxs b3ciICJHcmVlbiIgIkFxdWFtYXJpbmUiICJCbHVlIiAiQmxhY2siKSkKOzsgICAgICkKOzsKCihy ZXF1aXJlICdvcmcpCgooZGVmZmFjZSBvcmctYWN0aW9uLWluY29ycmVjdC1mYWNlCiAgJygoKChj bGFzcyBjb2xvcikgKGJhY2tncm91bmQgbGlnaHQpKSAoOmZvcmVncm91bmQgInB1cnBsZSIgOmJv bGQgdCA6dW5kZXJsaW5lIHQpKQogICAgKCgoY2xhc3MgY29sb3IpIChiYWNrZ3JvdW5kIGRhcmsp KSAoOmZvcmVncm91bmQgInB1cnBsZSIgOmJvbGQgdCA6dW5kZXJsaW5lIHQpKQogICAgKHQgKDpi b2xkIHQgOnVuZGVybGluZSB0KSkpCiAgIlVzZWQgYnkgb3JnLWFjdGlvbi12ZXJicyB0byBoZWxw IG1hcmsgYmFkICd1bi1kb2FibGUnIGhlYWRsaW5lcy4iKQoKOzsgYmFja3dhcmQtY29tcGF0aWJp bGl0eSBhbGlhcwoocHV0ICdvcmctYWN0aW9uLWluY29ycmVjdC1mYWNlICdmYWNlLWFsaWFzICdv cmctYWN0aW9uLWluY29ycmVjdCkKCihkZWZ2YXIgb3JnLWFjdGlvbi10b2RvLXZlcmJzIAogICco CiAgICAoKCJUT0RPIiAiTkVYVCIpIC4gCiAgICAgKCJBZGRyZXNzIiAiQXNrIiAiQXZvaWQiICJC dXkiICJDaGFuZ2UiICJDbGFyaWZ5IiAiQ29sbGVjdCIgIkNvbW1lbmQiICJDb25mcm9udCIKICAg ICAgIkNvbnNpZGVyIiAiQ3JlYXRlIiAiRGVjaWRlIiAiRGVmZXIiICJEZXZlbG9wIiAiRGlzY2Fy ZCIgIkRvIEFnYWluIiAiRG93bmxvYWQiCiAgICAgICJFbnRlciIgIkZpbGUiICJGb2xsb3cgVXAi ICJIaXJlIiAiSW1wcm92ZSIgIkluY3JlYXNlIiAiSW5mb3JtIiAiSW5xdWlyZSIKICAgICAgIk1h aW50YWluIiAiTWVhc3VyZSIgIk1vbml0b3IiICJPcmRlciIgIlBhaW50IiAiUGhvbmUiICJQcmlv cml0aXplIiAiUHVyY2hhc2UiCiAgICAgICJRdWVzdGlvbiAiICJSZWR1Y2UiICJSZW1lbWJlciIg IlJlcGFpciIgIlJlcGx5IiAiUmVwb3J0IiAiUmVzZWFyY2giICJSZXNvbHZlIgogICAgICAiUmV2 aWV3IiAiU2NoZWR1bGUiICJTZWxsIiAiU2VuZCIgIlNlcnZpY2UiICJTcGVjaWZ5IiAiU3RhcnQi ICJTdG9wIiAiU3VnZ2VzdCIKICAgICAgIlRpZHkiICJUcmFpbiIgIlVwZGF0ZSIgIlVwZ3JhZGUi ICJXcml0ZSIpKQogICAgKCgiUFJPSkVDVCIpIC4gCiAgICAgKCJGaW5hbGl6ZSIgIlJlc29sdmUi ICJIYW5kbGUiICJMb29rLUludG8iICJTdWJtaXQiICJNYXhpbWl6ZSIgIk9yZ2FuaXplIgogICAg ICAiRGVzaWduIiAiQ29tcGxldGUiICJFbnN1cmUiICJSZXNlYXJjaCIgIlJvbGwtT3V0IiAiVXBk YXRlIiAiSW5zdGFsbCIKICAgICAgIkltcGxlbWVudCIgIlNldC1VcCIpKQogICAgKQogICJvcmct YWN0aW9uIHRvZG8ga2V5d29yZHMgdG8gYXBwbHkgdG8gaW5jb3JyZWN0IGFjdGlvbiB2ZXJiIG92 ZXJsYXkgdG8uIikKCihkZWZ1biBvcmctZm9udC1sb2NrLWFkZC1hY3Rpb24tZmFjZXMgKGxpbWl0 KQogICJBZGQgdGhlIHNwZWNpYWwgYWN0aW9uIHdvcmQgZmFjZXMuIgogIChsZXQgKHJ0biBhKQog ICAgOzsgY2hlY2sgdmFyaWFibGUgaXMgc2V0LCBhbmQgYnVmZmVyIGxlZnQgdG8gc2VhcmNoCiAg ICAod2hlbiAoYW5kIChub3QgcnRuKSBvcmctYWN0aW9uLXRvZG8tdmVyYnMpCiAgICAgIDs7IGZv ciBlYWNoIHRvZG8vYWN0aW9uIHZlcmIgc2V0CiAgICAgIChkb2xpc3QgKHRvZG8gb3JnLWFjdGlv bi10b2RvLXZlcmJzKQogICAgICAgIDs7IGJ1aWxkIHJlZ2V4cHMKICAgICAgICAobGV0ICgodG9k by1rZXl3b3Jkcy1yZWdleHAKICAgICAgICAgICAgICAgKGNvbmNhdCAiXlxcKitbIAldKyIgCiAg ICAgICAgICAgICAgICAgICAgICAgKHJlZ2V4cC1vcHQgKGNhciB0b2RvKSAnd29yZHMpKSkKICAg ICAgICAgICAgICAodG9kby1hY3Rpb24tdmVyYnMtcmVnZXhwCiAgICAgICAgICAgICAgIChjb25j YXQgIlsgCV0rIiAocmVnZXhwLW9wdCAoY2RyIHRvZG8pICd3b3JkcykpKSkKICAgICAgICAgIDs7 IHdoaWxlIHdlIGNhbiBmaW5kIGEgdG9kbyBrZXl3b3JkCiAgICAgICAgICAod2hpbGUgKHJlLXNl YXJjaC1mb3J3YXJkIHRvZG8ta2V5d29yZHMtcmVnZXhwIGxpbWl0IHQpCiAgICAgICAgICAgIDs7 IGNoZWNrIGZvciBhY3Rpb24gdmVyYgogICAgICAgICAgICAoaWYgKGxvb2tpbmctYXQgdG9kby1h Y3Rpb24tdmVyYnMtcmVnZXhwKQogICAgICAgICAgICAgICAgbmlsCiAgICAgICAgICAgICAgOzsg bm90IGFuIGFjdGlvbiB2ZXJiLCByZXNldCBtYXRjaCBkYXRhIHRvIG5leHQgd29yZAogICAgICAg ICAgICAgIChpZiAobG9va2luZy1hdCAiWyAJXStcXChcXDxcXHdcXHcrXFw+XFwpIikKICAgICAg ICAgICAgICAgICAgOzsgYXBwbHkgbmV3IG92ZXJsYXkKICAgICAgICAgICAgICAgICAgKGxldCAo KG92ZXJsYXkgKG1ha2Utb3ZlcmxheSAobWF0Y2gtYmVnaW5uaW5nIDEpIChtYXRjaC1lbmQgMSkg bmlsIHQgbmlsKSkpCiAgICAgICAgICAgICAgICAgICAgKG92ZXJsYXktcHV0IG92ZXJsYXkgJ2Zh Y2UgJ29yZy1hY3Rpb24taW5jb3JyZWN0KQogICAgICAgICAgICAgICAgICAgIDs7KG92ZXJsYXkt cHV0IG92ZXJsYXkgJ21vdXNlLWZhY2UgbW91c2UtZmFjZSkKICAgICAgICAgICAgICAgICAgICAo b3ZlcmxheS1wdXQgb3ZlcmxheSAnb3JnLWFjdGlvbi1vdmVybGF5IHQpCiAgICAgICAgICAgICAg ICAgICAgKG92ZXJsYXktcHV0IG92ZXJsYXkgJ2V2YXBvcmF0ZSB0KQogICAgICAgICAgICAgICAg ICAgIChvdmVybGF5LXB1dCBvdmVybGF5ICdoZWxwLWVjaG8gIm1vdXNlLTI6IGNvcnJlY3Qgd29y ZCBhdCBwb2ludCIpCiAgICAgICAgICAgICAgICAgICAgb3ZlcmxheSkpKQogICAgICAgICAgICA7 OyByZXNldCBzZWFyY2ggcG9pbnQ/CiAgICAgICAgICAgIChiYWNrd2FyZC1jaGFyIDEpKSkpKQog ICAgcnRuKSkKCihkZWZ1biBvcmctbW9kZS1hY3Rpb24tdmVyYnMtaG9vayAoKQogICJJbml0YWxp c2Ugb3JnLWFjdGlvbi12ZXJicy4iCiAgKGludGVyYWN0aXZlKSAKICAoZm9udC1sb2NrLWFkZC1r ZXl3b3JkcyBuaWwgJygob3JnLWZvbnQtbG9jay1hZGQtYWN0aW9uLWZhY2VzKSkpCiAgKQoKOzsg VHVybiBvbiBhY3Rpb24gdmVyYiBmb250IGxvY2tpbmcuCihhZGQtaG9vayAnb3JnLW1vZGUtaG9v ayAnb3JnLW1vZGUtYWN0aW9uLXZlcmJzLWhvb2spCgoocHJvdmlkZSAnb3JnLWFjdGlvbi12ZXJi cykKOzs7IG9yZy1hbm5vdGF0ZS1maWxlLmVsIGVuZHMgaGVyZQo= --00151747ba9c0a0b430474d4c7c9 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Emacs-orgmode mailing list Remember: use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode --00151747ba9c0a0b430474d4c7c9--