1. A method of text entry, said method comprising: receiving, by a processor of a data processing system via a text entry program that provides a type-ahead feature for multiple applications, first text entered by a user, said received first text comprising a plurality of words; said processor entering, via the text entry program, the received first text into a first application; after said entering the received first text, said processor matching, via the text entry program, the received first text to one portion of each indexed segment of text of a plurality of indexed segments of text, said matching being based on matching rules, each indexed segment of text consisting of the one portion and a remaining portion; in response to said matching, said processor displaying to the user the plurality of indexed segments of text; said processor receiving from the user a selection of an indexed segment of text of the displayed plurality of indexed segments of text; in response to said receiving the selection from the user of the indexed segment of text of the displayed plurality of indexed segments of text, said processor entering into the first application, via the text entry program, the remaining portion of the selected indexed segment of text to auto-complete the received first text entered into the first application which results in auto-completed text in the first application, wherein the auto-completed text in the first application consists of (i) the received first text entered into the first application before said matching and (ii) the remaining portion of the selected indexed segment of text entered into the first application in response to said receiving the selection, and wherein the auto-completed text in the first application matches the selected indexed segment of text; said processor receiving second text entered by the user; said processor matching the second text to a portion of the first text, said first text consisting of the second text and a remaining portion of the first text, said remaining portion being a finite portion of the first text; said processor entering, via the text entry program, the received second text into a second application, said first and second applications being different applications; and after said entering the received second text into the second application, said processor entering, via the text entry program, into the second application the remaining portion of the first text to auto-complete the received second text entered into the second application which results in auto-completed text in the second application, wherein the auto-completed text in the second application consists of (i) the received second text entered into the second application and (ii) the remaining portion of the first text, and wherein the auto-completed text in the second application matches the first text.