1. A computer-implemented method for providing context-based word prediction, comprising: parsing documents associated with different applications and obtaining words contained in the documents; creating context-based data sources for the words including creating a context-based data source for each different application, each context-based data source comprising an instance of an application defined candidate provider and an application defined data store for storing the words for an associated application; receiving a text input in a document having an associated context-based data source; retrieving one or more words associated with the text input received in the document from the associated context-based data source by utilizing words stored in the associated context-based data source before utilizing words from an existing text prediction data source as part of prediction of candidates using the text input; and displaying the one or more words retrieved from the associated context-based data source in the document and allowing selection of one of the one or more words displayed in the document for automatically completing the text input received in the document.