=pod =head1 Common configuration options for Zoidberg 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 F<~/.zoid/> . =over 4 =item B<{core}> This hash stores config variables that are of immidiated influence on the Zoidberg parent object. It is default saved to F . in this hash there are: C<{core}{init_objects}> Plugins to be loaded at initialisation. Entries of the form C<$zoidname =E [$class, [@args], $code]>, where $zoidname is arbitrary*, $class is the perl class, @ars are init args if plugin uses base class Zoidberg::Fish, else it are constructor args, and $code is post_init evalled (for non-standard initialisations). *) Some zoidnames like I, I, I, I and I are reserved. These should on runtime be defined in C<{core}{core_objects}> and are provided with stub replacements. C<{core}{show_naked_zoid}> Don't shield parent object, used for debugging or serious hacking only. C<{core}{cache_time}> Time items (for example dir contents) are kept in cache. Tune this one for the right balance between speed and memory size. C<{core}{no_regex}> Do not use regex at all in expansion - this results in using (some kind of) globbing instead. C<{core}{strict_regex}> 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. I =item B<{config}> This hash contains config trees for the plugins which use the Zoidberg::Fish base class. It is default saved to F . The key to store a config should be the same as the zoidname of the plugin. In theory each plugin uses a ref to this hash so after deleting the object the config remains for later use. =item B<{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 changes the meaning of "&&" or would like to implement a new context, this is the place to look. It is by default stored in F . Most important parts are: C<{grammar}{context}> Defines non-built-in contexts C<{grammar}{script_gram}> Used to parse logic blocks. C<{grammar}{pipe_gram}> Used to parse pipes and redirections. C<{grammar}{space_gram}> Used to parse "shell-style" command options. C<{grammar}{syntax}> Defines grammars for the syntax highlighting per context. =back =cut