Main configuration

All configuration is divided between three hashes in Zoidberg.pm, each having their own file to save to. By default these files are found in ~/.zoid/ .

{settings}

This hash contains Zoidbergs global settings and settings that didn't fit anywhere else. By default it is stored in settings.pd.

{settings}{init_plugins} Array

Plugins in this array will be loaded on init as soon as possible in the defined order. Array values are zoidnames, referring to plugin configuration in "{plugins}". This can be used to bootstrap plugins that influence the internals of Zoidberg, or to load modules one just likes to have around. Plugins that are not defined here will be loaded when called explicitly, see FIXME.

{settings}{naked_zoid} Boolean

Don't shield parent object, used for debugging or serious hacking only. Switch this bit if you wanna know what zoid really looks like ;)

{settings}{no_regex} Boolean

Do not use regex at all in expansion - this results in using (some kind of) globbing instead.

{settings}{strict_regex} Boolean

Do not use globbing at all in expansion - everything must be pure regex.

If both of the above expansion options are false this results in a kind of non-strict regex. This means that for example a '*' will sometimes be interpreted as a glob and sometimes as regex, this mode is also known as the "type less chars" modus.

For now it is advised to use strict regex when handling sensitive data -- this is the only way to be sure of the result.

{plugins}

This hash contains config trees for plugins that can be used with Zoidberg. It is a composit of individual plugin configuration files, which are by default located plugins/*.pd.

The pluging config is stored under a key identical to the filename of the configuration file, this is considered the zoidname of the plugin. Each plugin uses a ref to this hash so after deleting the object the config remains for later use, also changing config here should change the plugin's config hash. But in some cases this is just the theory.

FIXME link description plugin config-file structure

{grammar}

In this hash houses some black magick. It contains all kinds of regexes and code strings used by diverse parsers throughout Zoidberg. If you want to change the meaning of "&&" or would like to implement a new context, this is the place to look. It is by default stored in grammar.pd .

Warning: This structure has not yet stabalised -- work in progres.

FIXME

Some zoidnames like Buffer, Prompt, History, Intel and Commands are reserved. These are defined in @Zoidberg::core_objects and are provided with stub replacements.

Zoidberg