Verificação ortográfica inteligente no modo organizacional

38

Por padrão, os resultados da execução M-x ispell-bufferno modo organizacional são muito decepcionantes.

  1. Ispell olha dentro de :PROPERTY:gavetas, que geralmente contêm coisas como

    :ID:       797495bd-581b-4a42-883b-c2a55a08f08a
    
  2. Ele tenta corrigir as instruções da organização! Por exemplo, ele reclama da SRCem

    #+BEGIN_SRC emacs-lisp
    
  3. Vai dentro de org-blocks. Suponho que isso possa ser útil para blocos como #+BEGIN_QUOTE, mas em blocos de código-fonte isso é bobo.

Existe um pacote que conserta tudo isso?

Adoraria verificar a ortografia da minha escrita, mas a quantidade de falsos positivos que estou recebendo inviabiliza.

Se isso importa, o corretor ortográfico do sistema operacional é o mesmo.

Malabarba
fonte
Há um predicado de flyspell para o modo organizacional (verificação (get 'org-mode 'flyspell-mode-predicate)), mas não tenho certeza de como isso poderia ser generalizado ispell-buffer.
legoscia 29/09/14
@legoscia Ispell tem uma variável chamada ispell-parser, então o predicado do flyspell pode funcionar bem lá com um wrapper ao redor.
Malabarba 29/09/14
1
Uso flyspell e hunspell e não vejo esse comportamento. Qualquer coisa nas linhas com #+ou nos blocos de código-fonte não é verificada com ortografia. Mas o texto normal sob os títulos é verificado. Eu tenho isso em minha configuração flyspell: (add-hook 'prog-mode-hook 'flyspell-prog-mode),(add-hook 'org-mode-hook 'turn-on-flyspell)
Kaushal Modi
@kaushalmodi Sim, o flyspell é mais inteligente que o ispell. Infelizmente, flyspell é um pouco exigente para os meus laptops poder :( processamento Não é inutilizável, mas é um pouco chato, que é por isso que eu estava tentando ispell..
Malabarba
3
Você já viu Can I prevent ispell from checking source blocks?em orgmode.org/worg/org-faq.html ?
rvf0068

Respostas:

26

Como o rvf0068 sugeriu , o ispell pode ser configurado para pular regiões que correspondem a regexes. Por exemplo, para pular :PROPERTIES:e :LOGBOOK:gavetas, bem como SRCblocos, você pode colocar isso no seu .emacsarquivo:

(add-to-list 'ispell-skip-region-alist '(":\\(PROPERTIES\\|LOGBOOK\\):" . ":END:"))
(add-to-list 'ispell-skip-region-alist '("#\\+BEGIN_SRC" . "#\\+END_SRC"))

(Sou novo no StackExchange, por isso, se eu violar a etiqueta ou as regras expandindo a resposta de rvf0068, por favor me avise.)

Saint Aardvark, o Carpete
fonte
4
Eu não me importo, obrigado pela elaboração adicional. :)
rvf0068
Aqui está o que eu queria que o ispell ignorasse: github.com/grettke/home/blob/master/TC3F.org
grettke:
Isso é útil, mas um martelo grande demais para mim. Costumo ter anotações no meu LOGBOOK de que gostaria de ser jogado no carretel.
Vanden
1
As regiões que eu excluo: github.com/grettke/home/blob/master/ALEC.org#L4546
grettke