[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Post-it project (Re: Feature suggestion)

From: Shigio Yamaguchi
Subject: Post-it project (Re: Feature suggestion)
Date: Wed, 12 Oct 2005 15:13:16 +0900

Thank you for your detailed proposal.

> This is exactly it. IRC may be a better means of discussing this? I can
> be found as "tigger^" on the freenode network.

Here is the place. :)
Let's call it 'Post-it' project.

> A key/value file (normal bdb style) where the key is either the symbol
> (easily tracked during a move) or a file name + line number + checksum
> of the line.
> This way we can easily migrate comment files to new versions of the
> source if needed. Comments which refer to symbols are painless as we
> already know how to parse the file for symbols and can slot the comment
> to the right place. In the case where it is not a specific symbol which
> is the target, we take a checksum (ignoring whitespace) so that we can
> check the line is still as it was. I presume there would be a
> configurable "scan distance" to check lines before/after the one
> mentioned in case of line moves. Similar to fuzzy patching.
> Maybe it's wise to ignore the line move case to start with in favour of
> quicker development of the concept ;)

I agree.
> Anyway, the file format should be very simple, and close to what you
> already use as far as I can see.
> Once the database format is defined the client should be able to
> add/edit/delete comments using the file+line/symbol notation that
> gozilla already knows how to parse. This would enable very easy command
> line usage and easy integration into $EDITOR.

I agree roughly.

Additionally, I think that we should make Post-it database independent
from GLOBAL system, because it is also profitable for other programming
tools like doxygen.

1. Any client can add/edit/delete Post-it in the database.
2. Post-it database should be able to be shared by some auditors.
3. Post-it database is independent from the source directory
   to keep clean sources.
4. Post-it database is independent from GLOBAL system.

I thought about the implementation approach of the Post-it database.

How about using file system as the database?

The image of Post-it structure

* [xxx] means a directory.

SOURCE DIRECTORY (/usr/local/source/)

POST-IT DIRECTORY (/home/me/post-it/)
          |-[file]                      <- post-it directory for file.
          |   |-main.c                  <- refer main.c at line 1.
          |   |-main.c:55               <- refer main.c at line 55.
          |   |-[lib]
          |       |-util1.c:102         <- refer util.c at line 102.
          |-[define]                    <- post-it directory for definition.
              |-main                    <- refer definition 'main'.
              |-func1                   <- refer definition 'func1'.

o Each Post-it is a file in POST-IT DIRECTORY.
o The file name is definition name or '<filename>:<line number>'.

Htags should refer the POST-IT DIRECTORY like follows.
(Of course, the --post-it option will be replaced with a more suitable name.)

$ cd /usr/local/source
$ htags --post-it=/home/me/post-it

What do you think?
Shigio YAMAGUCHI <address@hidden> - Tama Communications Corporation
PGP fingerprint: D1CB 0B89 B346 4AB6 5663  C4B6 3CA5 BBB3 57BE DDA3

reply via email to

[Prev in Thread] Current Thread [Next in Thread]