Eu uso python-mode
para o meu código Python e, de vez em quando, o marcador de sintaxe fica confuso e acha que tudo no buffer é uma string literal. Isso normalmente parece acontecer quando eu crio uma sequência de caracteres; por alguns segundos depois de digitar as aspas, tudo depois do cursor é destacado como uma sequência.
Existe alguma maneira de evitar isso completamente? Ou, se não, existe alguma maneira de fazer o emacs / python-mode se recuperar mais rapidamente?
ed: Para ficar claro, o realce incorreto persiste mesmo após o fechamento das cotações e o buffer salvo. Mas, novamente, nem sempre é assim, às vezes.
syntax-highlighting
python
Abingham
fonte
fonte
python-mode
.Respostas:
Quando você modifica o buffer, somente as linhas que você modificou são realçadas imediatamente. Se a modificação afetar o realce das linhas mais abaixo, elas serão realçadas mais tarde através de um timer inativo (isto é, acontece depois que você para de digitar).
Esse atraso é controlado
jit-lock-context-time
e o padrão é 0.5s. Observe que realmente significa "O Emacs ficou ocioso por meio segundo", portanto, enquanto você continuar dando comandos ao Emacs sem deixar mais de meio segundo entre os comandos, o realce não ocorrerá.Se você acha que demora mais de 0,5s e pode criar uma receita que desencadeia esse atraso excessivo, convém
M-x report-emacs-bug
.fonte