My future is static
It's already had it
(Sonic Youth, "Schizophrenia")

# Future?

To be honest, I didn't think `hsc` would make it to a state that I can call V1.0 without too much of a stomach ache. Neither am I sure anybody would agree that this has been reached, but here it is, over 10 years after the initial release and just late enough to bring the number of people who actually care down to a few dozen. Anyway, `hsc` is still useful to me and I will occasionally continue implementing one or another new thing to play around with. Agi thought of some of the things a long time ago so I just put the list below back again. Comments welcome.

## Minor Enhancements

- Improve hscpitt: Add a copy/move command.

## Major Enhancements

- New project database: instead of a single project file, `hsc` should store it's data in separate files for every document. A document data file is only loaded during parsing if some information about a specific document is needed. This should speedup huge projects with more than 100 documents.
- Additional document data: Without remarkable changes, `hsc` could also collect useful information about a document, like document title, URIs referenced etc. Of course, some access functions will be provided, too.
- Index document creation: A new tag `<$index>` will allow the user to attach some private information to the document data, which later can be retrieved using `hscpitt`. A script the user will have to write can use these to create an HTML object. Easy to implement for me, awfully cryptic and complicated, but rather flexible for the user.
- Functions with multiple arguments: Functions like `Exists()` or `GetFileSize` should use the same attribute syntax like tags, for example `GetEnv(VAR="HOME")`.

## Only If I'm Bored

- More conditionals: `<$select>`, `<$when>` and `<$otherwise>` as an extended version of `<$if>`
- Indention: Add option `INDENT` for `<$include>` and `<$source>` to indent preformatted text
- Improve expression parser: the current implementation is an embarrassment for a student of computer science, but.. well, it does it's job for now.
- Filename compatibility mode: this mostly means that a ```..`'' should act as parent directory on all systems without having to run additional system patches.

## Things Someone Else Can Do

- Improve hscdepp: As I do not consider dependency generators a reasonable concept, someone else will have to add things like excluding specific documents or pattern matching stuff. Hey, it's only about 700 lines of code..
- Document relation editor: It would be nice, if one could edit all those next/prev/up/.. relations with a program, and include these into hsc-sources later. It would make sense to store these relations in the document data file.

## No Future

For the thinggies below, from my point of view, there is no need to ever be implemented.

- Type checking for attributes: Anything more then the current (very relaxed) checking would not fit into the rather typeless concept if plain HTML.
- Move around in text using `<$goto>` and `<$label>`: This one's perverted to the core.
- Support other output-formats like texinfo or AmigaGuide: There are converters around for this task, and several people smarter than me have already failed to introduce the ultimate hypertext authoring tool.