MediaWiki Extension:SyntaxHighlight, Python, Frescobaldi

Begonnen von Manuela, Freitag, 29. September 2017, 20:19

« vorheriges - nächstes »

Manuela

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 und ist in Python geschrieben.

Hier gibt es eine Liste der unterstützten 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 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, 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,
Danke für eure Hilfe
viele Grüße
-- Manuela

hansfaust

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)

Manuela

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 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.

Danke für eure Hilfe
viele Grüße
-- Manuela