Check-in [96db071674]
Overview
SHA1:96db0716741c06335971acd6c3b933ed3e006437
Date: 2015-01-26 20:40:44
User: spaskalev
Comment:Added tbd.slide as well
Timelines: family | ancestors | descendants | both | trunk
Downloads: Tarball | ZIP archive
Other Links: files | file ages | folders | manifest
Tags And Properties
Context
2015-01-26
21:32
[3861ae4c57] Added missing depends interation in the collecting handler (user: spaskalev, tags: trunk)
20:40
[96db071674] Added tbd.slide as well (user: spaskalev, tags: trunk)
20:30
[61b0c5b57a] Added tbd from gophergala/tbd :) (user: spaskalev, tags: trunk)
Changes

Added docs/tbd.slide version [9ed118b5bc].

















































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
tbd
a tool for low ceremony task tracking
24 Jan 2015
Tags: foo, bar, baz

Stanislav Paskalev

kshorg@gmail.com
https://github.com/solarsea/tbd

* tbd

A common acronym for

- To be decided
- To be defined
- To be done
- To be d…

An application name that

- stands for #tag-based dependency
- is not a common command on most systems

* Task tracking

- Depedencies are common between tasks.
- Yet they are not straightforward to express

  To see the relationship between two things,
     put them close together.
  To remind yourself of the relationship,
     keep them together

                 Leo Brodie, Thinking Forth

tbd uses

- implicit ordering of tasks by their position
- user-defined #tags to #discover dependencies

* Low ceremony software

- requires little to none configuration
- ..providing sane default behavior

- does not enforce a strict usage model
- ..enabling uses beyond initial intent

tbd tries to follow suit by

- Using plain text for input and output
- Functioning as a one-way filter
- Off-loading editing to your text editor
- Keeping the code small and structured

* Usage

 % cat tbdata
 implement more #tests
 extract code out of #main
 support cgi/fast-cgi in #main


 % tbd
 1) [tests] implement more #tests
 2) [main] extract code out of #main


 % tbd main
 2) [main] extract code out of #main
 3) [main] support cgi/fast-cgi in #main

Modified src/0dev.org/commands/tbd/tbd.go from [bf4f228fed] to [2085cbcbc6].

1
2
3
4
5
6
7
8
9
..
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
// tbd, a #tag-based dependency tool for low ceremony task tracking
// see README.md for usage tips
package main

import (
	"bufio"
	"bytes"
	"fmt"
	"io"
................................................................................
			}
			fmt.Fprintln(os.Stderr, "Error reading input.", err.Error())
			return 1
		}
	}
}

// The tags struct contains hash (#) and at (@) tags
type tags struct {
	hash []string
}

// as per fmt.Stringer
func (t tags) String() string {
	var output bytes.Buffer

<







 







|







1

2
3
4
5
6
7
8
..
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
// tbd, a #tag-based dependency tool for low ceremony task tracking

package main

import (
	"bufio"
	"bytes"
	"fmt"
	"io"
................................................................................
			}
			fmt.Fprintln(os.Stderr, "Error reading input.", err.Error())
			return 1
		}
	}
}

// The tags struct contains hash (#) tags
type tags struct {
	hash []string
}

// as per fmt.Stringer
func (t tags) String() string {
	var output bytes.Buffer