[Pharo-dev] [Pharo Trick: #0001] - Simple TODO list

Torsten Bergmann astares at gmx.de
Wed Dec 11 06:16:35 EST 2013


the mailinglist, stackoverflow and other Pharo related medias are typically used 
in the "here is a question to problem" followed by an "answer from community" style.

But lets also think the other way around: if we already have a solution for a 
problem that others may have too or may have in the future we should share the
answer/solution as well.

I'm sure many of you have some tricks that make developing with Pharo much easier
and others can profit from these tricks if we share them here on the list. 

Be it 
 - a simple and useful script
 - a simple key combination other may not yet know of
 - a package one can use or how you use it
 - a link to a nice description on the web related on how to use Pharo
 - a custom tool that makes development easier
 - an algorithm or something that you think was solved very elegant
 - a way you solved a common problem easily in your app
 - ...

Then just describe it in a few lines and post it. Also write in which Pharo
version you tried it - this makes it easier for others to see in which 
version the trick/solution is known to work.

The idea goes like this: if you have a trick to share then send a mail with
subject "Pharo Trick: #xxxx] - Short Description" to the Pharo dev AND Pharo user 
list (see http://lists.pharo.org). Make sure to increase the trick counter xxxx.

Using this special subject one can later easily get the tricks from the 
mailinglist archive. Also others can refer to the trick if it solves a common 
problem other may ask for on the list.

Lets see if we are able to reach the goals of 100, 1000 or more Pharo tricks ;)


I will start with something easy but useful:

[Pharo Trick: #0001] - Simple TODO
Works in: Pharo3.0 Latest update: #30635 but should work in other versions too

If you develop an app with Pharo you may not yet fully implement all features. 
Some kind of marker for future "ToDo's" is often needed. Using a pragma on a method is 
the easiest solution here:

     <todo: 'Add world later'>
     "That method is not yet fully implemented"     
     Transcript show: 'Hello'

Using a simple expression in the workspace you can browse all the TODOs for your 
project afterwards in a window:

    SystemNavigation default browseAllSendersOf: #todo:

You can even query the system for the todo descriptions if you need the full 
list of things to work on:

  (PragmaCollector filter: [:prg | prg keyword = 'todo:']) 
        collect: [:each| each arguments first ]

As the pragma keyword #todo: is very common and may be used by others too 
it may be wise to use a custom one like "myappplicationTodo:" or similar.

More information about the Pharo-dev mailing list