remote-1032789: Update gitignore

Signed-off-by: Joe Walker <jwalker@mozilla.com>
remote-1032789: Change foo.addFoo() to just foo.add()

By unifying the add/remove APIs, we can make the implementation of
addItems much simpler. We also make it so we can built GCLI without
things like 'language' etc much easier.

Signed-off-by: Joe Walker <jwalker@mozilla.com>
remote-1032789: Change foo.getFoos() to just foo.getAll()

More API unification.

Signed-off-by: Joe Walker <jwalker@mozilla.com>
remote-1032789: Change Canon.addCommand() to just Canon.add()

Signed-off-by: Joe Walker <jwalker@mozilla.com>
remote-1032789: 2 minor tidy-ups

1. Remove unused function
2. Tidy how the language implementations interact with terminal

Signed-off-by: Joe Walker <jwalker@mozilla.com>
remote-1032789: s/Canon/Commands/g

It's much simpler if the plural of a thing is the obvious plural.
Pluralization is complex, but there's no point in making it harder
without due cause.

Signed-off-by: Joe Walker <jwalker@mozilla.com>
remote-1032789: Expose all components to API object.

The API object previously gave access to Commands and Types, but we are
looking to have a System object that stored all the pluggable types.

Signed-off-by: Joe Walker <jwalker@mozilla.com>
remote-1032789: s/getApi/createSystem/g

Since this object is going to bring together a set of plug-in points,
it's more than just an API, but is the system on which GCLI acts.

Signed-off-by: Joe Walker <jwalker@mozilla.com>
remote-1032789: s/populateApi/exportSystem/g

Much inline with the last change, this also moves the export to the
place it is used.

Signed-off-by: Joe Walker <jwalker@mozilla.com>
remote-1032789: Add 'system' parameter to Requisition and Terminal

Add a constructor parameter to Requisition and Terminal so they know
about the 'system' and can pass it on as needed.

Signed-off-by: Joe Walker <jwalker@mozilla.com>
remote-1032789: Use requisition.system.X rather than requisition.X

Where X is commands or types.

Signed-off-by: Joe Walker <jwalker@mozilla.com>
remote-1032789: Pass context to fileparser to avoid require(connectors)

Signed-off-by: Joe Walker <jwalker@mozilla.com>
remote-1032789: Pass context to host.spawn. Avoid require(connectors)

Signed-off-by: Joe Walker <jwalker@mozilla.com>
remote-1032789: Pass settings to FocusManager to avoid require(settings)

Signed-off-by: Joe Walker <jwalker@mozilla.com>
remote-1032789: Pass context to Output to avoid require(converters)

Signed-off-by: Joe Walker <jwalker@mozilla.com>
remote-1032789: Remove centralTypes and centralCommands

Signed-off-by: Joe Walker <jwalker@mozilla.com>
remote-1032789: Pass requisition to mockSettings. Kill require(settings)

Signed-off-by: Joe Walker <jwalker@mozilla.com>
remote-1032789: Avoid other require lines by using objects from context

Signed-off-by: Joe Walker <jwalker@mozilla.com>
remote-1032789: Encapsulate Connectors in object rather than module

Signed-off-by: Joe Walker <jwalker@mozilla.com>
remote-1032789: Encapsulate Converters in an object rather than module

Signed-off-by: Joe Walker <jwalker@mozilla.com>