Acho que, em vez de (similar to the I command)
, deve ser (similar to the A command)
:
A
Accept the word for the rest of this hunspell session.
Vamos verificar novamente a página man
:
The -a option is intended to be used from other programs through a pipe.
In this mode, hunspell prints a one-line version identification message,
and then begins reading lines of input.
Então, quando em -a mode
, hunspell
session termina depois de ler e processar a última linha de entrada. Além disso,
When in the -a mode, hunspell will also accept lines of single words prefixed
with any of '*', '&', '@', '+', '-', '~', '#', '!', '%', ''', or '^'. A line
starting with '*' tells hunspell to insert the word into the user's dictionary
(similar to the I command)[........] A line prefixed with '#' will cause the
personal dictionary to be saved.
O prefixo de uma única linha de palavra com *
(note que não deve haver espaço entre palavra e prefixo) adicionará essa palavra ao dicionário do usuário, mas somente à sessão hunspell
atual, pois, de acordo com o man
página, apenas uma linha prefixada com #
fará com que o dicionário pessoal seja salvo (o arquivo em disco, isto é). Daí correr
echo "*goosfraba" | hunspell -a
não faz absolutamente nada. hunspell
adiciona goosfraba ao dicionário para esta sessão e sai (sem outras linhas para processar). Você precisa adicionar uma segunda linha com prefixo #
para salvar as palavras adicionadas recentemente:
echo -e "*goosfraba\n#" | hunspell -a
Vamos ver:
:: verificação ortográfica goosfraba :
echo -e "goosfraba" | hunspell -a
@(#) International Ispell Version 3.2.06 (but really Hunspell 1.3.2)
& goosfraba 1 0: goofball
& = Word
não está no dicionário, existe um próximo erro: goofball .
:: adicionando o goosfraba ao dicionário e depois a verificação ortográfica durante a mesma hunspell
session (duas linhas):
echo -e "*goosfraba\ngoosfraba" | hunspell -a
@(#) International Ispell Version 3.2.06 (but really Hunspell 1.3.2)
*
* = Word
está no dicionário.
:: verificação ortográfica goosfraba novamente (nova hunspell
sessão):
echo -e "goosfraba" | hunspell -a
@(#) International Ispell Version 3.2.06 (but really Hunspell 1.3.2)
& goosfraba 1 0: goofball
& = Novamente, word
não está no dicionário (nada foi salvo durante a sessão anterior)
:: adicionando goosfraba ao dicionário e salvando durante o mesmo hunspell
session (duas linhas):
echo -e "*goosfraba\n#" | hunspell -a
@(#) International Ispell Version 3.2.06 (but really Hunspell 1.3.2)
:: verificação ortográfica goosfraba novamente (nova hunspell
sessão):
echo "goosfraba" | hunspell -a
@(#) International Ispell Version 3.2.06 (but really Hunspell 1.3.2)
*
* = Word
está no dicionário.