Como criar a configuração de temas para linguagens no gedit

Publicado por Geraldo Albuquerque em 09/09/2011

[ Hits: 9.298 ]

 


Como criar a configuração de temas para linguagens no gedit



Esta necessidade surgiu após uma resposta no fórum aqui: Tópico: Shell-Script/Melhor-Editor-de-Shell-Script

Quando tentei configurar o gedit para trabalhar com cores padronizadas em PHP e ao mesmo tempo com sh, as cores de minha preferência não estavam legais. Percebi que nenhum dos arquivos de shemes/temas contemplava a minha necessidade.

Então pesquisando um pouco, localizei os locais onde os arquivos eram referenciados. Parti para realizar as minhas implementações. Após alterar e não ver o resultado na tela em alguns locais, percebi que não era um problema do gedit em si. O problema estava como cada linguagem estava sendo implementada em um diretório de especificações.

Então segue o meu aprendizado sobre este caso.

Dica válida para a versão gedit 2.30.4 compilada para trabalhar com Linuxmint, Ubuntu e Debian. Outras eu não sei, mas aparentemente deve ser o mesmo princípio.

Onde estão localizados os arquivos de configuração no gedit para as linguagens?

Em "/usr/share/gtksourceview-2.0/language-specs" você irá encontrar todas linguagens que o gedit entende para tentar fazer a customização de cores e templates. Lembre-se, estes arquivos só contem os registros para que o gedit possa entender o que fazer com cada estilo, exemplo: php.lang, sh.lang, c.lang, ruby.lang, perl.lang, js.lang, etc.

Não adianta você na hora da definição do arquivo xml tentar fazer uma determinada linguagem mostrar uma cor com algum atributo se originalmente não foi definida no arquivo de languages. Você pode fazer um mapeamento no arquivo xml, mas não há garantias que funcionará plenamente.

Agora que você já conferiu o conteúdo dos arquivos de languages, vamos para os arquivos de customizações.

Customizando o arquivo xml para refletir as suas preferências pessoais

Os arquivos estão localizados no diretório: "$HOME/.gnome2/gedit/styles" .

Neste diretório poderá encontrar vários exemplos de temas para uso no gedit. A minha intenção é que você possa criar o seu tema com todas as definições necessárias a todas linguagens de sua preferência. Com cobertura 100% nas especificações.

Para não perder tempo, criei um arquivo que contem 100% de todas as definições gerais, setoriais para algumas linguagens. Você pode fazer o download no final da página que é a base de meu exemplo: https://sites.google.com/site/shellscriptbr/esquema-de-cores-no-gedit

Como definir o meu arquivo pessoal de tema?

Basicamente são poucos passos. Os principais vou assinalar:

1 - Garantir que seja um Cabeçalho válido em xml;

2 - Ajustar esta linha com o nome físico de seu arquivo e nome, exemplo:

<style-scheme id="ga_tux" _name="ga_tux" version="1.0">

3 - (Opcional) Se você está criando o seu pessoal, pode alterar se desejar esta linha:

   <author>Geraldo Albuquerque</author>

4 - (Opcional) Se desejar, altere esta linha:

  <_description>Fundo preto dark matrix azul.  </_description>

5 - Crie várias linhas com suas definições de cores sem repetir nomes, exemplo:

   <color name="abobora"          value="#FFA500"/>

6 - Prefira utilizar nas seções gerais, e nas demais, estilos com o nome do id, exemplos:

  <!-- Configurações gerais //-->
  <style
      name="current-line"
      background="cinza_escuro"
  /> <!-- Côr de frente/fundo da linha do cursor atual. -->
  <style
      name="cursor"
        foreground="vermelho"
      background="vermelho"
  /> <!-- Côr que do cursor piscando na linha atual. -->
  <style
      name="line-numbers"
      foreground="cinza_fosco"
      background="asfalto"
  /> <!-- Se ativar número de linhas, Côr de fundo e frente. -->

7 - Todas as seções onde o "name" não tiver prefixo ou o prefixo for definido, indica que é padronizado para qualquer linguagem. O problema é que nem todas linguagens usam tais definições e sim outras.

8 - Muita atenção nas seções de linguagens para não repetir nomes ou usar nomes que não estão nas definições globais ou gerais.

9 - Como no item 7, procure usar o nome do id para ajustar os setores de linguagens, exemplos:

  <!-- Estilos Ruby //-->
  <tyle name="ruby:attribute-definition" use-style="def:special-char"/>
  <style name="ruby:base-n-integer"       use-style="def:base-n-integer"/>
  <style name="ruby:boolean"              use-style="def:boolean"/>
  <style name="ruby:builtin"              use-style="def:type"/>

10 - Note que não é usado a referência de cores diretamente na seção de linguagens. A dica é faze-lo nos setores gerais ou padronizados. Você é livre para colocar cores diretamente na seção de linguagens, mas a dica é fazer sempre no geral e no padrão definido. Desta forma você poderá adicionar várias linguagens aproveitando a padronização das definições dos arquivos lang citado no início desta dica.

11 - Download de arquivo de exemplo contendo 100% das definições padronizadas e gerais. Também conta com 100% das definições diferenciadas das linguagens citadas acima: https://sites.google.com/site/shellscriptbr/esquema-de-cores-no-gedit.

12 - Se você gravou o arquivo xml criado no diretório correto, exemplo: (usuários comuns) "$HOME/.gnome2/gedit/styles", já poderá encontrar este novo tema em: "Editar" -> "Preferências" -> "Fontes e cores" -> "Esquema de cores".

13 - Em caso de dúvidas, use este tópico no forum: Tópico: Como-criar-temas-no-gedit-para-varias-linguagens.

Espero que seja útil pra você ;)

Outras dicas deste autor

Gerenciador de pacotes em SHELL SCRIPT - PKGMGR

Leitura recomendada

Verificar saída de comando. Será que meu comando deu erro?

Achar ip válido e jogar para uma variável

Como lidar com variáveis retornadas pelo Expect - removendo CR do fim de linha

Script IP Válidos na rede interna

Controle e Automação

  

Comentários

Nenhum comentário foi encontrado.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts