There is a global variable `Settings` under which all settings are contained. They are typically organized by package name, although there are a few root-level settings. Each package can define settings, and you can edit the settings of any package.
We have included a shorthand notation to do a "deep merge", merging new values (and nested values) with the existing values using the following syntax:
```
Settings.somePackage = { ... }
``
You can edit any package's settings from your own `settings.coffee` file or from any other user-code (`.coffee` or `.js`) file:
unboundmusic/4f752cf8c0ead9bffee654d3784e226e
If you want to delete a certain setting
```
delete Settings.somePackage.someSetting
``
If a package name has a space or dash in its name it needs to be accessed using bracket-notation instead of dot-notation, since javascript variable names can only contain alphanumeric characters and underscores:
```
Settings['some package with a space']
``
If you need to access a setting in order for your code to make a decision, you can directly access any setting from any package using `Settings.packageName.settingName` such as:
unboundmusic/c53c1eae3d093bf641f0ccfbc9edbbd0
If you want to poke around with your live instance of VoiceCode, and all its runtime settings:
The main `~/voicecode/settings.coffee` is where most basic settings should be placed:
unboundmusic/fc1594baaaf61ae0a4ec67dcb80de3ec
VoiceCode lets you create any directory structure you want for your settings and commands. We recommend creating a directory at `~/voicecode/settings` under which you could put all your different settings files.
For any specific package settings that might have a long list of options (i.e. websites, abbreviations, etc.) we recommend creating a file just for that package. This is so that your main settings file does not get really long and unwieldy, and makes it easier to find the file/setting you are looking for. You can use JavaScript or CoffeeScript, here's some examples:
unboundmusic/6a819e45b734cd03ef6702f5de321460
unboundmusic/0cc1e488082da0ea5822d2d50b0b9893
unboundmusic/f830dab5464524113762c6d1dc723c4c
unboundmusic/a1a923966ae0f28649c9f880f810051c
unboundmusic/77e409648110f7f631efa0ac6347c14a
unboundmusic/c376b970653a43ace339a09a0457e8b3
unboundmusic/3244c9c5582e9b77c239204dd9bdf9d1
unboundmusic/e7302dc0acc321717945881834654f3d