Wie kann man Notepad ++ erweitern, um die Hervorhebung der Laravel-Blade-Syntax in einer PHP-Datei zu unterstützen?

2216
u01jmg3

Nachdem ich online gesucht habe, kann ich keine Informationen zur Verbesserung von N ++ finden, um die Syntaxhervorhebung für die Laravel-Blade- Syntax ( *.blade.php) zu unterstützen.

Beispiel: demo.blade.php

<html> <head> <title>App Name - @yield('title')</title> </head> <body> @section('sidebar') This is the master sidebar. @show  <div class="container"> @yield('content') </div> </body> </html> 

Ich weiß, Notepad ++ unterstützt benutzerdefinierte Sprachen, um Unterstützung für die Syntaxhervorhebung für neue Dateierweiterungen hinzuzufügen (ich habe dies zuvor für *.scssDateien verwendet).

Ich möchte jedoch weiterhin die integrierten Hervorhebungen von N ++ für *.phpDateien verwenden und diese durch Hinzufügen von Regeln ergänzen, die der Blade-Syntax in einer PHP-Datei entsprechen. Wenn ich die benutzerdefinierte Sprachfunktionalität von N ++ für Blade-Dateien verwenden würde, müsste ich auch alle Syntax-Hervorhebungen für PHP-Syntax neu definieren.

Ich habe versucht, N ++ - Dateien langs.xmlund stylers.xml-Dateien unter der PHP-Definition zu ändern, jedoch ohne Erfolg.

Wie würde ich daher N ++ verbessern, um Unterstützung für die Syntaxhervorhebung für Blade bereitzustellen? Dies war mein Ausgangspunkt, der Blade-Highlighting in Sublime ist.

1

1 Antwort auf die Frage

0
miroxlav

Dies ist nur möglich durch das Schreiben und Ihre eigenen Editor kompilieren ++ mit benutzerdefinierten zusammen bauen Einbau- Sprache. Siehe Notepad ++ - Quellcode, wie andere Sprachen (z. B. HTML, die JavaScript enthalten können) implementiert werden. Dies kann nicht durch einen benutzerdefinierten Sprachmechanismus erreicht werden, der (durch das Design) vereinfacht wird.

Es sollte auch einen anderen Weg geben, indem Sie ein Notepad ++ - Plugin schreiben. Es gibt mehrere solcher Plugins (Sie können sie mit dem Plugin-Manager finden ), sodass Sie einen Modellquellcode haben können.

Wenn Sie versuchen, das Programmieren für diese Aufgabe zu vermeiden, verwenden Sie zum Beispiel einen ähnlichen Editor namens SynWrite, der über eine wesentlich leistungsfähigere Engine für benutzerdefinierte Sprachen verfügt, die jedoch (natürlich) schwieriger zu erlernen ist. Dort ist das Ergebnis erreichbar.

Hier ist eine ähnliche Antwort .