Seite 1 von 1

Syntaxhighlighting mit Scintilla – Sind Lexer in PureBasic enthalten oder wird Lexilla.dylib benötigt?

Verfasst: 03.11.2025 17:08
von Istvan42
Hallo zusammen,

ich arbeite gerade an einem einfachen Texteditor in PureBasic und nutze dafür Scintilla. Die Grundfunktionalität steht – ich kann Text eingeben und bearbeiten. Nun möchte ich Syntaxhighlighting implementieren und bin dabei auf widersprüchliche Informationen gestoßen.
Meine Frage: Sind die Lexer bereits in der PureBasic-Implementierung von Scintilla enthalten, oder benötige ich unter macOS eine separate  Lexilla.dylib ?

Hintergrund meiner Unsicherheit:
  • Die PureBasic-Dokumentation erwähnt, dass Scintilla statisch verknüpft ist
  • Gleichzeitig lese ich in neueren Scintilla-Dokumentationen (ab Version 5.0), dass Lexer in eine separate Lexilla-Bibliothek ausgelagert wurden
  • Meine bisherigen Tests mit  #SCI_SETLEXER  und  #SCI_GETLEXER  funktionieren nicht wie erwartet
  • Ich entwickle unter macOS und bin mir unsicher, ob ich eine  .dylib -Datei nachinstallieren muss

Was ich bereits versucht habe:
  • Recherche in der offiziellen Dokumentation
  • Tests mit  ScintillaSendMessage()  und verschiedenen Lexer-Konstanten ( #SCLEX_CPP ,  #SCLEX_PYTHON , etc.)
  • Suche im Forum (leider ohne passende Treffer)
Falls jemand hierzu eine definitive Antwort hat oder sogar einen kurzen Code-Auszug für einen funktionierenden Lexer-Test unter macOS teilen könnte, wäre ich sehr dankbar!

Vielen Dank im Voraus!
Istvan

Re: Syntaxhighlighting mit Scintilla – Sind Lexer in PureBasic enthalten oder wird Lexilla.dylib benötigt?

Verfasst: 03.11.2025 18:35
von Axolotl
Über Scintilla gibt es einiges... (ich weiß nicht ob das auf einem MAC funktioniert) aber probieren geht über studieren....
Vielleicht hilft es ja...

; > LINK : https://github.com/SicroAtGit/PB-CodeAr ... est%202.pb
; > German-Forum: http://www.purebasic.fr/german/viewtopi ... =8&t=30081
Color one line in a scintilla gadget
Editor Gadget
Source language lexer

Ansonsten kannste natürlich auch im Sourcecode der IDE nachgucken....