Deutschsprachiges LilyPond-Forum

LilyPond und andere Programme => Frescobaldi => Thema gestartet von: Manuela am Freitag, 29. September 2017, 20:19

Titel: MediaWiki Extension:SyntaxHighlight, Python, Frescobaldi
Beitrag von: Manuela am Freitag, 29. September 2017, 20:19
Hi,

kennt sich jemand zufällig mit Python aus? Ich habe (unter Schwierigkeiten) die Extension SyntaxHighlight auf meinem HeimWiki zum Laufen gebracht, sodass Code auch eingefärbt wird. Das Programm, welches das bewirkt, heißt Pygments (http://pygments.org/) und ist in Python geschrieben.

Hier gibt es eine Liste der unterstützten Sprachen (https://www.mediawiki.org/wiki/Extension:SyntaxHighlight/de#Unterst.C3.BCtzte_Sprachen), Lilypond ist leider nicht dabei. latex kommt einigermaßen hin, jedoch die Scheme-Teile fallen vollständig unter den Tisch.

Frescobaldi ist ebenfalls in Python geschrieben und hat offensichtlich bereits einen perfekt funktionierenden SyntaxHighlighter für Lilypond eingebaut. Man kann Pygments durch eigene Lexer (http://pygments.org/docs/lexerdevelopment/) ergänzen, vll. weiß jemand zufällig, wie das geht und wie man den Code von Frescobaldi dafür nutzen könnte.

Ich fand schon eine diesbezügliche Anfrage (https://bitbucket.org/birkenfeld/pygments-main/issues/904/new-lexer-request-lilypond), wo sich anscheinend nichts weiter getan hat.

Ich möchte nicht allzuviel Zeit in diese Sache investieren, da es bloß ein "nice to have" wäre, momentan behelfe ich mich halt mit Latex. Vielleicht hat ja jemand im Forum hier schon eine fertige Lösung für dieses Problem, ansonsten bitte keine Zeit investieren,
Titel: Antw:MediaWiki Extension:SyntaxHighlight, Python, Frescobaldi
Beitrag von: hansfaust am Freitag, 15. Dezember 2017, 18:35
Hi Manuela,
bin gerade ins Forum "reingeschneit", und habe Deine Anfrage gelesen ... auf die bisher nicht geantwortet wurde.
Bisher habe ich immer jedit mit dem Lilypond-plugin für meine Notensatz-Arbeit verwendet. Längere Zeit habe ich mit Frescobaldi gewartet,
weil bestimmte Funktionen, die mir wichtig waren, in Frescobaldi (noch) nicht integriert waren, oder nicht so bequem waren.
Nun habe ich nach ein paar Versuchen Frescobaldi auf Windows 10 (Fall Creator Update - 1709) zum Laufen bekommen.
Fast konnte ich es nicht glauben, alle mir lieb gewordenen Funktion sind da und zum Teil sogar bequemer zu handhaben als in jedit.
z.B.: Die Abteilung "Schnipsel", die einen eigenen sehr komfortablen Editor hat, mit allem, was man dafür braucht (incl. Tastaturkürzel-Festlegung)
D.h. für mich: jetzt ist Frescobaldi 1.Wahl.

Syntax-Highlighting:
In den Einstellungen (Menu->Bearbeiten->Einstellungen->Schriftarten&Farben) finden sich die Einstellung für das Syntax-Highlighting.
Dort kann man seine eigene Form des Einfärbens sehr bequem einstellen.
Und nebenbei, die Programmierer von Frescobaldi haben sich alle Mühe gegeben, dass auch Leute ohne große Programmierkenntnisse
gut zurechtkommen. Sicher kann man noch eine ganze Menge mehr machen, wenn man Python beherrscht. Die Frage ist nur,
lohnt es sich Python zu lernen, nur um eine ganz spezielle (außergewöhnliche) Farbmarkierung im Quelltext für Lilypond anzubringen?
Denn letztendlich geht es um Notensatz und nicht um Programmierung in Python (ich selbst habe viele Jahre programmiert).

Meineserachtens ist:
-Lilypond die erste -weil kostenlose- Wahl für Notensatz am Computer ... mein Geldbeutel ist nur klein  :-[
  und weil das Notensatz-Ergebnis excellent ist - ich habe massenweise Noten für einen Kirchenchor gesetzt, und und und ...
-Frescobaldi ist tatsächlich für Lilypond-Notensatz, die im Moment beste Entwicklungsumgebung. (weit mehr als nur ein Editor)
Titel: Antw:MediaWiki Extension:SyntaxHighlight, Python, Frescobaldi
Beitrag von: Manuela am Freitag, 15. Dezember 2017, 20:08
Hans,

danke für deine ausführliche Antwort.

Super, dass dir Lilypond gefällt.  :)

Meine Frage hat sich inzwischen mehr oder weniger erübrigt. Die Freundin meines Sohnes hält Vorlesungen über Python, und sie hat das ganze angesehen. Leider gibt es keinen einfachen Weg, die "Färbebibliotheken" von Frescobaldi zu übernehmen, da Frescobaldi ganz andere Bibliotheken verwendet. Die Anpassung wäre also mit erheblichem Aufwand verbunden, ich werde in meinem Wiki (http://www.lilywiki.org/wiki/index.php?title=Hauptseite) den Lilypondcode also weiterhin mit der Sprachvariante Latex einfärben (d.h. in dem verlinkten Wiki funktioniert das überhaupt nicht, weil ich dort keine Rootserverrechte habe, aber in meinem "Heimwiki" geht es).

Ich werde meine Zeit lieber in das Notensetzen investieren als darin, Python zu lernen.