É possível (e como) personalizar o usuário para realce de sintaxe no editor/visualizador integrado do Midnight Commander?

É possível (e como) personalizar o usuário para realce de sintaxe no editor/visualizador integrado do Midnight Commander?

Recentemente descobri um poder do MC para visualizar/editar certos tipos de arquivos. Por exemplo isto:

shell/.class
    Ver=%view{ascii} tmp=%p; javap -c ${tmp%%.class}

de~/.mc/bindingsdê uma breve olhada nos métodos/campos da classe Java pressionando F3. Mas é difícil ver quando todos os códigos usam as mesmas cores. Gostaria de ver palavras-chave e tipos destacados de alguma forma.

É possível (e como) personalizar o usuário para realce de sintaxe no editor/visualizador integrado do Midnight Commander (por regex)?

Responder1

Os arquivos relacionados à sintaxe são armazenados em formato /usr/share/mc/syntax. Esses arquivos são fornecidos pelo sistema de gerenciamento de pacotes. Eles poderiam ser editados como root e deveria funcionar, mas isso seria um hack.

A solução correta é copiar /usr/share/mc/syntax/Syntaxpara o seu diretório inicial: ~/.config/mc/mcedit/Syntax. (Nota: a versão antiga pode usar outro caminho, por exemplo ~/.mc/cedit:) Este arquivo define associações de tipos de arquivo e, se estiver presente em seu diretório inicial, substituirá o padrão. Portanto, pode ser editado agora.

Por exemplo, se você deseja adicionar um arquivo de sintaxe para qweextensões, você deve adicionar estas linhas:

file ..\*\\.qwe$ qwe\sFile
include /home/username/.config/mc/mcedit/qwe.syntax

Observe que includeé necessário um caminho absoluto, caso o arquivo não esteja localizado /usr/share/mc/syntax(ou também ~/.local/share/mc/mceditnas versões mais recentes). Depois disso você deve criar e editar seu qwe.syntaxarquivo com base nos demais.

Responder2

Não posso dizer nada sobre cores, mas a ligação precisa ser atualizada para visualizar os arquivos de classe dentro de um jar:

shell/.class
     View=%view{ascii} tmp=%f; xyxy=${tmp##*/}; javap -classpath ${tmp%/*.class} -c ${xyxy%.class}

informação relacionada