Consider trying dynamic-completion-mode
(standard library completion.el
).
You can change between different dynamic-completion files, one for each language. Option save-completions-file-name
holds the file name, but nothing says that you cannot change its value dynamically, e.g. using a command, in order to switch among several sets of completions. (Naturally, such a command should save to one file before switching to another.)
The "doc" for dynamic-completion-mode
is in the Commentary
of library completion.el
. The library is old, but still quite useful, IMHO. Excerpts from the Commentary
:
This watches all the words that you type and remembers them. When
typing a new word, pressing "complete" (meta-return) "completes" the
word by inserting the most recently used word that begins with the
same characters. If you press meta-return repeatedly, it cycles
through all the words it knows about.
If you like the completion then just continue typing, it is as if you
entered the text by hand. If you want the inserted extra characters
to go away, type control-w or delete. More options are described below.
The guesses are made in the order of the most recently "used". Typing
in a word and then typing a separator character (such as a space) "uses"
the word. So does moving a cursor over the word. If no words are found,
it uses an extended version of the dabbrev style completion.
(See also Icicles completion for dynamic-completion-mode
.)