Custom shells and error parsing

Most plugin shells will need to report compiler errors and such. To do this, you will first need to create and register an ErrorSource; see the ErrorList plugin documentation for details. You will also need to add the errors to the error source at some stage. There are two ways of doing this: