Como posso descobrir exatamente o que minha modelo está me dizendo?

7

Gostaria de saber exatamente o que minha modelo está me dizendo e como é derivada. No momento, se estiver trabalhando com um terminal gráfico, posso passar o mouse sobre cada entrada de modelo e, se tiver sorte, uma dica será exibida; obviamente, isso não funcionará em um console. Como alternativa, posso examinar a mode-line-formatvariável, mas não é óbvio como os valores se correlacionam com o que é exibido.

Idealmente, eu gostaria de algo dentro de Emacs que poderia explicar, por exemplo, como estou recebendo a partir "%e"no modo linha-formato para U:---, o que isso significa e onde obter mais informações: “ U:---vem %eem mode-line-formate através disto, aquilo e aquilo outro . Você pode personalizá-lo aqui. ”

Existe um modo ou ferramenta que me ajudará?

Saint Aardvark, o Carpete
fonte
@asjo: O OP procura entender a linha de modo em detalhes, em particular, para entender mode-line-formatmelhor. Isso está no manual Elisp, não no manual Emacs.
Tirou

Respostas:

5
  1. Até onde eu sei, não existe essa ferramenta no Emacs ou em uma biblioteca de terceiros. Mas talvez alguém venha com uma.

  2. Você apontou corretamente para as duas principais fontes de informações que eu mencionaria: (1) informações pop-up nas dicas de ferramentas e (2) estudo mode-line-formate seu documento (sequência de documentos e manual Elisp, nó Mode Line Top).

    Uma terceira fonte de informações que pode ajudar é ver como o código existente se modifica mode-line-formate o que ele faz com ele. Isso pode ser útil devido à complexidade de mode-line-format. Existem muitos exemplos de código por aí. A biblioteca modeline-posn.elé uma das minhas, mas existem muitas outras, incluindo código que faz parte da distribuição do Emacs.

  3. Por favor, considere sugerir isso como uma possível melhoria para o Emacs. Você faz isso com M-x report-emacs-bug(não é apenas para relatórios de erros). E se você tiver alguma idéia específica de quais recursos para isso podem ser úteis para os usuários, contribua com eles também.

    Você também pode enviar um email para [email protected], que é a lista de discussão de desenvolvimento do Emacs, para abrir uma discussão sobre essa possibilidade.

    (Existem outras estruturas complexas no Emacs que também podem se beneficiar de ajuda / exploração / navegação adicionais: menus e outros mapas de teclas, font-lock-keywords... Um meio genérico ou estrutura para explorar / interrogar essa estrutura também pode ser útil.)

Desenhou
fonte
4

Como qualquer ferramenta precisará ler mode-line-format, você não pode fazer melhor do que examiná-la. O manual possui uma seção extensa que descreve o formato aqui, incluindo todas as %construções.

Observe que mode-line-formatgeralmente é recursivo, ou seja, contém variáveis ​​que são formatos de modelo válidos, portanto é útil analisar parte dele independentemente. Nesse caso, format-mode-lineé uma função útil que pode fornecer informações sobre o que um snippet específico faz.

Observe também que muitos modos secundários ( anzu-mode, helmetc) geralmente adicionam seções próprias às modelines, o que pode não ser evidente mode-line-formatdiretamente. As opções de personalização de navegação geralmente fornecem informações sobre elas.

Vamsi
fonte