[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 |
Hi,
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.
[Requirement]
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/)
[source]
|-GTAGS
|-GRTAGS
|-GSYMS
|-GPATH
|-[doc]
|-[src]
|-main.c
|-[lib]
|-util1.c
|-util2.c
POST-IT DIRECTORY (/home/me/post-it/)
[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