Estou escrevendo um editor de texto. Depois de olhar para outros editores de texto, percebi que vários deles se referem a uma quebra automática de "soft" versus "hard". Qual é a diferença? Não consigo encontrar a resposta pesquisando.
Uma quebra automática de linha insere quebras de linha reais no texto em pontos de quebra, com quebra suave o texto real ainda está na mesma linha, mas parece que está dividido em várias linhas.
É comum que os editores de texto quebrem automaticamente o texto em parágrafos com novas linhas rígidas, mas é menos comum que o texto flua novamente para um bom parágrafo se você voltar mais tarde e editar / adicionar / remover palavras mais tarde. (Você pode fazer isso manualmente no emacs com Mq.)
Isso é bastante irritante, uma vez que pessoas obsessivo-compulsivas como eu voltam e têm que reinserir manualmente as pausas duras nos pontos apropriados.
Por outro lado, a quebra automática é irritante porque a maioria das ferramentas de linha de comando usa diferenciação baseada em linha (controle de versão é onde isso se torna mais perceptível para mim). Se você tem um parágrafo de 1/3 de página que é suavizado e corrige um erro de digitação, é basicamente impossível ver onde a alteração está em uma diff
saída normal ou semelhante.
git diff --word-diff
soft : O texto na textarea não é quebrado quando enviado em um formulário. Este é o padrão
hard : o texto na textarea é quebrado (contém novas linhas) quando enviado em um formulário. Quando "hard" é usado, o atributo cols deve ser especificado
Referência: W3Schools
fonte