# [gelöst] nano highlighting

## Fijoldar

Hallo,

ich habe bei mir über die /etc/nanorc das Syntax Highlighting für Gentoo spezfifische Dateien aktiviert, also auch für die Dateien /etc/portage/package.use etc. Nun habe ich neulich diese Dateien in Ordner strukturiert, also /etc/portage/package.use/* und dort entsprechende Dateien angelegt z.B. für gnome, mate etc. Mir wurde die einzelne Datei mit den vielen Einträgen einfach zu unübersichtlich. Seit ich die Einträge in diesem Unterordner vornehme, funktioniert allerdings das Highlighting von nano nicht mehr. Grund ist recht simpel, die Konfigurationsdatei hierfür bezieht sich nur auf die Dateien und kann mit den Ordnern nichts anfangen.

```
syntax "/etc/portage" "\.(keywords|accept_keywords|mask|unmask|use)(/.+)?$"
```

Wie muss ich denn diese Zeile ändern, damit ich das Hightlighting auch für Dateien bekomme, die sich in einem Ordner mit dem Namen package.use, package.accept_keywords etc. befinden? Ist vermutlich total simpel, aber ich blicke bei der Codestruktur noch nicht so richtig durch.

Schonmal danke  :Smile: Last edited by Fijoldar on Wed Oct 08, 2014 3:23 pm; edited 1 time in total

----------

## franzf

Aye, scheint ein Fehler im stable nano package zu sein. Ich habs probiert und hatte keine Probleme. Benutze aber auch ~amd64 nano.

Downgrade auf stable hat das aber gefixt - ich krieg jetzt auch nicht-syntax-gehighlightete (ouch) portage config files.

Also erstmal app-editors/nano in package.accept_keywords packen. Dann klappts auch mit syntax highlighting von package.* als directory  :Smile: 

[EDIT]

Ich hätte mehr probieren sollen (wollte grad nen bugreport aufmachen...)... Ich bekomme mit nano-2.3.2 GAR KEIN syntax highlighting. Nicht für ".ebuild", nicht für die .nanorc-files, nicht für python oder C-Quellcode. Kannst du das bestätigen?

----------

## Fijoldar

Super, danke für den Tipp! Ein Upgrade auf die Version app-editors/nano-2.3.6 hat auch bei mir geholfen.

Mit der Version 2.3.2 funktioniert das Highlighting sonst einwandfrei. Ich habe es einmal unter /etc/nanorc global und nochmal unter ~/.nanorc für meinen User aktiviert.

----------

## franzf

 *Fijoldar wrote:*   

> Mit der Version 2.3.2 funktioniert das Highlighting sonst einwandfrei. Ich habe es einmal unter /etc/nanorc global und nochmal unter ~/.nanorc für meinen User aktiviert.

 

Ganz dumme Frage: Wie kann man das aktivieren? Ich hab mir sowas gedacht, hab aber weder in der /etc/nanorc noch in den manpages einen Anhaltspunkt gefunden.

----------

## Fijoldar

Standardmäßig sind die ganzen Konfigurationsdateien /usr/share/nano/*.nanorc auskommentiert. Ich habe sie bei mir alle manuell in /etc/nanorc aktiviert, indem ich das "#" vor dem include entfernt habe.

----------

## franzf

OK...  :Very Happy: 

Hab jetzt include /usr/share/nano/gentoo.nanorc eingefügt und syntax highlighting funktioniert mit nano-2.3.2 selbst wenn package.* Verzeichnisse sind.

Ich habe bisher noch nichts an nano konfiuriert, verwende es auch gar nicht. Kann es sein, dass du irgendwo einen Fehler eingebaut hast?

----------

## Fijoldar

Ha, das Problem lag wohl weniger in der verwendeten nano-Version als an dem Punkt wie ich die Dateien aufrufe. Habe das gerade eher durch Zufall entdeckt.

Variante 1: ich rufe die Datei mit dem kompletten Pfad auf, z.B.

```
nano /etc/portage/package.use/gnome
```

Dann funktioniert das Hightlighting wunderbar (auch mit Version 2.3.2).

Variante 2: Ich navigiere in den Ordner und rufe die Datei einzeln auf, also

```
cd /etc/portage/package.use

nano gnome
```

Dann funktioniert das Highlighting nicht mehr.

Das Problem lag wohl mal wieder auf Benutzerebene. *facepalm*. Im Nachhinein ist das ja auch klar, woher sollte nano jetzt wissen, dass es sich um eine Gentoo Konfigurationsdatei handelt, wenn es den Pfad nicht kennt. Darauf muss man aber auch erstmal kommen. Denn manchmal ist es doch praktischer, wenn man zuerst in den Ordner navigiert. Als die Ordner noch Dateien waren, war das ja kein Problem, aber da sie nun freie Namen haben, kann sie nano nicht mehr zuordnen.

Auf jeden Fall nochmal danke franzf für deine Hilfe!

----------

## franzf

Nö, dann ist das mMn. ein bug in nano, der gemeldet werden sollte. vim (mein Haupt-editor) hat kein Problem mit beiden Varianten.

Die gentoo.nanorc wird Upstream verwaltet, ist also keine Gentoo-Beigabe. Demnach geht upstream davon aus, dass die fileregex nicht nur den Dateinamen sondern auch Pfade beinhalten kann.

----------

## Fijoldar

Wenn man den Pfad mitgibt, klappt's ja auch. Ich denke mir halt, nano kann ja nichts von den übergeordneten Ordnern wissen. Und wenn ich dann nur

```
nano gnome
```

 eingebe, greift die Syntax nicht mehr, da sie immer was in Richtung package.{use, accept_keywords,...} erwartet wie es ja auch in der gentoo.nanorc steht. Oder irre ich mich gerade und nano weiß stets in welchem Ordner man sich gerade befindet?

----------

## franzf

Irgendwer muss wissen, wo die Datei genau liegt, sonst könnte man die nicht öffnen  :Wink: 

nano kennt sein Arbeitsverzeichnis, mit dem er sich zusammen mit dem übergebenen Dateinamen den absoluten Pfad zusammenbasteln kann. Aber wahrscheinlich gibt es dafür sowieso C-Funktionen  :Wink: 

[EDIT:]

Bug erstellt:

https://bugs.gentoo.org/show_bug.cgi?id=524772

----------

