1. A computer-implemented method, comprising: receiving a user input into a user interface of an input method editor (IME); providing the user input to a script engine; selecting a script from a plurality of scripts electronically stored in a script repository; processing the user input through the script using the script engine to generate one or more candidates; and providing the one or more candidates to an IME engine.