sexta-feira, 23 de outubro de 2009

GEdit com Octave - Ajustes

Se você é como eu que gosta de usar o gedit como editor padrão, mesmo para programação, já percebeu que se você tiver o Octave ou Matlab instalado a sintaxe não é pintada corretamente.

Apesar de haver o mimetype correto, o gedit insiste em achar que os arquivos .m são arquivos em Objective-C.

Para resolver esta característica indesejada, faça o seguinte (Ubuntu 9.04, mas deve funcionar em outras versões e distros, apenas ajustando o caminho dos arquivos):
  1. Abra um terminal e inicie uma sessão de root:
    $ sudo su

  2. Edite o arquivo /usr/share/mime/packages/freedesktop.org.xml
    # gedit /usr/share/mime/packages/freedesktop.org.xml

  3. Comente toda a parte da definição do mime x-objsrc:
    <!-- <mime-type type="text/x-objcsrc">
    <comment>Objective-C source code</comment>
    <comment xml:lang="be@latin">Kryničny kod Objective-C</comment>
    <comment lang="bg">Изходен код — Objective C</comment>
    <comment lang="ca"&gtcodi font en Objective-C</comment>
    <comment lang="cs"&gtZdrojový kód v Objective-C</comment>
    <comment lang="da"&gtObjektiv C-kildekode</comment>
    <comment lang="de"&gtObjective-C-Quelltext</comment>
    <comment lang="el">πηγαίος κώδικας Objective-C</comment>
    <comment lang="en_GB"&gtObjective-C source code</comment>
    <comment lang="eo"&gtfontkodo en Objective-C</comment>
    <comment lang="es"&gtcódigo fuente en Objective-C</comment>
    <comment lang="eu"&gtObjective-C iturburu-kodea</comment>
    <comment lang="fi"&gtObjective-C-lähdekoodi</comment>
    <comment lang="fr"&gtcode source Objective-C</comment>
    <comment lang="ga"&gtcód foinseach Objective-C</comment>
    <comment lang="hu"&gtObjective-C forráskód</comment>
    <comment lang="id"&gtKode program Objective-C</comment>
    <comment lang="it"&gtCodice sorgente Objective-C</comment>
    <comment lang="ja"&gtObjective-C ソースコード</comment>
    <comment lang="ko"&gtObjective-C 소스 코드</comment>
    <comment lang="lt"&gtObjective-C pradinis kodas</comment>
    <comment lang="ms"&gtKod sumber Objective-C</comment>
    <comment lang="nb"&gtObjective-C-kildekode</comment>
    <comment lang="nl"&gtObjective-C-broncode</comment>
    <comment lang="nn"&gtObjective-C-kjeldekode</comment>
    <comment lang="pl"&gtKod źródłowy Objective-C</comment>
    <comment lang="pt"&gtcódigo fonte Objective-C</comment>
    <comment lang="pt_BR"&gtCódigo fonte Objective-C</comment>
    <comment lang="ru">исходный код Objective-C </comment>
    <comment lang="sq"&gtKod burues C objekt</comment>
    <comment lang="sr">Објектни-C изворни ко̂д</comment>
    <comment lang="sv"&gtObjective-C-källkod</comment>
    <comment lang="uk">Вихідний код на мові Objective-C</comment>
    <comment lang="vi"&gtMã nguồn Objective-C</comment>
    <comment lang="zh_CN"&gtObjective-C 源代码</comment>
    <comment lang="zh_TW"&gtObjective-C 源代碼</comment>
    <sub-class-of type="text/x-csrc"></sub-class-of>
    <magic priority="30">
    <match value="#import" type="string" offset="0"></match>
    </magic>
    <glob pattern="*.m"></glob>
    </mime-type> -->


  4. Atualize o banco de dados mime:
    # cd /usr/share
    # update-mime-database mime


  5. Remova/renomei o arquivo /usr/share/gtksourceview_2.0/language-spec/objc.lang para outra coisa que não tenha a extensão .lang:
    # cd /usr/share/gtksourceview_2.0/language-spec/
    # mv objc.lang objc.lang.bak


  6. Volte a ser usuário normal:
    # exit
    $ |


  7. Verifique se o gnome já está reconhecendo o mime correto:
    $ gnomevfs-info algum_arquivo.m | grep MIME
    MIME type : text/x-matlab
Com isso o gedit deixa de enxergar o mime do Objective-C e passa a enxergar o mime correto. Agora você já pode utilizar o Matlab e/ou Octave com realce de sintaxe!

Um comentário:

  1. Obrigado pela dica! Já tinha tentado fazer isto hà algum tempo atrás para tirar os ícones de Mathematica dos arquivo .m e no Gnome não tinha conseguido o que me levou (entre outros motivos) a passar a utilizar o KDE4, onde consegui configurar as extensões de forma transparente, sem editar arquivos de configuração.
    Só faltou citar a fonte de onde se pode buscar tal informação pois na época o que achei no google frustrou em tentativas fracassadas.

    ResponderExcluir