Como fazer dabbrev suportar CamelCase ou um melhor preenchimento automático em buffers java
Eu uso dabbrev como minha função de autocompletar (e como a maior parte do que codifico é snake_case, funciona bem). No entanto, agora estou fazendo um projeto Java e tudo é CamelCase. Como faço para que dabbrev suporte CamelCase? Ou há uma função de preenchimento automático diferente que devo usar em buffers .java?
Em particular, se o texto que dabbrev está copiando está em alguma forma de CamelCase, por exemplo
GenericValue genericValue = new Ge...
e digito M- / onde o ... está, gostaria que expandisse o resto do texto em CamelCase sem tocar na caixa das letras digitadas atualmente e, portanto, com caixa baixa. assim, geM- / -> genericValue e GeM- / -> GenericValue.
Estou disposto a experimentar outra função para ver se funciona melhor. E, se eu tiver que hackear o dabbrev, também posso fazer isso.
Respostas
Uma vez que você parece usar dabbrev sem companydefinir as 2 variáveis a seguir, pode ajudar:
(setq dabbrev-case-fold-search nil
dabbrev-case-replace nil)
Para ver a documentação e outras configurações possíveis, você pode usar:
M-x customize-group <RET> dabbrev <RET>
Uma alternativa ao dabbrev seria hippie-expand