https://github.com/bastibe/annotate.el provides an annote mode for Emacs.  It can add annotations to arbitrary files without changing the files themselves as they are stored in an external file.

Note: This doesn't exist (as far as I know.)

I really wish I had something that for lack of a better term, I'll call %%AnnotationMode%%.

The idea is that I want to be able to hang notes on to any file I'm visiting, without touching the file.

What I'm envisioning is a system that, when activated, will split the pane vertically and pull an annotation file from a repository someplace, if it exists, and create one if it doesn't.

Once up, it would allow the creation and maintenance of notes, which it would synchronize vertically, as best it could.

Thoughts? -- MichaelWilson

[new:EricPement:2017-09-07 12:25 UTC]
Google the term "descript.ion"; narrow by adding "file descriptions". Hidden "descript.ion" files were a feature of a popular utility 4DOS, NDOS, and later [[http://www.jpsoft.com|Take Command]]. They allowed a way to [[https://jpsoft.com/help/describe.htm|describe files]] so that the descriptions persisted when the files were copied, renamed, or moved. There are a number of third-party utilities, often Directory mangers or Norton Commander clones, which offered an integrated interface to these files---[[http://www.dopus.com|Directory Opus]] provided a way to edit the "descript.ion" files, though they preferred [[https://www.gpsoft.com.au/help/opus11/index.html#!Documents/File_Descriptions.htm|NTFS comments]] in the Alternate Data Stream. Since you are considering a file annotation system, it would be nice to link it to an existing standard.
-- EricPement


This idea was implemented several different times in the late 90s, culminating in a whole rebranding of Emacs that focused on making a hyperlinked "knowledge database" complete with shadowed annotations and everything (can't remember the name off-hand).  I tried them all, and they were all failures.  In fact, to this day I've never had a good annotation system on any platform. -- JohnWiegley

JohnWiegley - you are talking about [[Hyperbole]] -- TerrenceBrannon

[new:MichaelWilson:2010-07-22 14:44 UTC]
There were a bunch of web based annotation engines in the late 90s that had me pretty excited.  uTok and a few others.  None of them survived the dotcom bust unfortunately and some of them were a bit overly... "social" in that everybodies annotations were shared.  But there was some clever code involved.  The idea just dug itself in to my head and I haven't been able to get it out.   

Currently I'm doing a rather distressing amount of code spelunking (keeping a VAST derivitives risk analytics system limping along until the pie in the sky replacement is done, so... forever) and the ability to annotate the source, even in my own skunkworks repository would be spectacular.  -- MichaelWilson

[new:DrewAdams:2010-07-20 19:41 UTC]
Emacs bookmarks and their annotations come very close to what you describe (though that might not correspond closely to what you really have in mind ;-)).

You can bookmark any file (not just text -- image, music, anything), without necessarily visiting it.  And a bookmark can include an annotation (free-form plain text).  A bookmark does not alter its target file.

So far, bookmark annotations are pretty rudimentary.  Editing an annotation uses `##Edit Bookmark Annotation##' mode, which is not very fancy.  That could be improved.  And you could of course change the mode to any you like (e.g. OrgMode).

In addition to annotations, you can tag bookmarks, in the sense of [[http://delicious.com|del.icio.us]] tags.  Tags give you a good way to organize bookmarks and hence their target files or annotations.

See Manual:Bookmarks.  See also [[Bookmark+]] and [[Dired+]] for info on bookmark tags and bookmarking files without visiting them. -- DrewAdams

[new]

Nice.  Will do.  Seems like a lot of these try to be far more clever than they need to be. -- MichaelWilson

[new]

have a look at http://code.google.com/p/annot/ -- AlexHarsanyi

[new:NickDaly:2010-11-19 15:32 UTC]
You should also check out the excellent OrgAnnotateFile.  It does pretty much exactly what I was looking for: multiple annotations per file, stored in org-mode, with substring file selection.  It can also easily be integrated with the standard Bookmark mode. -- NickDaly

[new]
Have a look at BookmarkExtension it is now able to use org-mode and save annotation for each bookmark in individual org files. -- ThierryVolpiatto

[new]
In addition to the BookMarks that come with Emacs, see also VisibleBookmarks. 

Someone had started writing a primitive mode called [[Annotate]]. -- AaronHawley

[new:DrewAdams:2010-07-21 16:07 UTC]
%%VisibleBookmarks%% (##bm.el##) has a pretty poor annotation capability.  It just reads an annotation from the [[minibuffer]] as a string -- no editing buffer or mode. And it just shows you annotations in the [[echo area]], using `message'.  It can also show you annotations along with the bookmarks themselves in a summary buffer, but there is no display or editing mode for annotations.

[[Bookmark+]] also has visible bookmarks -- similar highlighting etc. (but more flexible).  But Bookmark+ annotations are those of ordinary Emacs bookmarks: multi-line, displayed and edited in separate annotation buffers, etc. Bookmark+ also has [[http://delicious.com|del.icio.us]]-style tags, which are like annotations but more powerful. -- DrewAdams

[new:MichaelWilson:2010-07-22 14:50 UTC]

Thanks for all the info everyone.  It looks like this is going to be a bit of a research project.  This itch has gone on too long to remain unscratched. -- MichaelWilson

