+elsif ( ( $command eq "projects" ) || ( $command eq "list" ) )
+{
+ # Todo/future extensions:
+ # TODO: Sort list of names alphabetically
+ # TODO: Get total-hours for projects
+ # TODO:
+ my $projects = get_projects();
+ printf("Currently tracked project names:\n\n");
+ my $current = get_current_project();
+
+ foreach my $id ( keys $projects )
+ {
+ printf(" %s %s\n", ($id eq $current ? ">" : " " ),$projects->{$id} );
+ }
+ print("\n");
+}
+elsif ( $command eq "edit" )
+{
+
+ my ( undef, $title ) = parse_arguments(EDIT);
+ my $id = get_last_project();
+
+ if ( $title )
+ {
+ $id = get_project_id($title);
+ if ( not $id )
+ {
+ printf("No project by that name. Try 'list'\n");
+ exit(0);
+ }
+ }
+
+ system( "/usr/bin/editor " . $trk_dir . "/" . $id . "/tracking" );
+}