Deutsch
XProfEd - Opensource IDE

Kann man den alten Lexer verbessern?

 
- Seite 1 -


Frage zum Lexxer:

Der moderne XProfaner (grins) hat da doch so die eine oder andere Anforderung an das Highlightening.

Was muß ich tun um das MultizeilenRem /* */ und das // -Rem sowie die zusätzlichen Compilerdirektiven in geschweiften Klammern { } (wie Delphi) erkennbar zu machen?

Ich würde nur ungerne darauf verzichten - und ich kann mir vorstellen so manch XPSE -Nutzer ebenfalls.
 
18.09.2006  
 



 
- Seite 1 -


Zur alten Version existiert kein Source?

Wie ist das denn passiert?
 
18.09.2006  
 



 
- Seite 2 -


Ist garnichts passiert, der hat noch nie existiert. Was soll ich auch mit C++ Source anfangen? Der Lexer hat nur gut gepaßt, wurde aber so nicht in die offiziele Version übernommen, so das Anpassungen erforderlich sind, wenn Du den offizielen Lexer verwenden möchtest (nicht so empfehlenswert).

Genaugenommen mußte einen komplett Neuen Lexer schreiben. Den haste aber eigentlich schon, im XPSE. Muß nur noch passend in einer DLL exportieren und fertig.

Die Doku zu Scintilla ist zwar etwas mager, aber es ist im endeffekt alles vorhanden.
 
18.09.2006  
 



Ach so! Gut also einen lexer schreiben hmpf hatte gehofft es ginge schneller...
 
18.09.2006  
 



Die von dir gewünschte Art der Kommentarerkennung ist doch dort nicht enthalten, ist doch klar, das Du dafür einen neuen Lexer brauchst. Den von C oder C++ an XProfan anpassen wird wohl nicht so gut passen

Aber in XPSE sollte doch ein Lexer enthalten sein, mußte nur noch da rausnehmen, dafür sorgen, das die entsprechenden Daten in einer dll exportiert werden, siehe oben. Die Funktion Fold kannste ja erstmal weglassen, die ist etwas komplizierter. Die beiden mit Get exportieren nur die Anzahl Lexer, also 1 und einen Pointer zu den Namen z.B: XPROFAN
Nur die Function Lex ist zu erschaffen damit es geht
 
18.09.2006  
 



Hm ich glaub Du bist mir zu schnell - ich habe jetzt erstmal Deinen Link verfolgt, das Projekt geladen und den Souce kompiliert - habe jetzt eine SciLexer.dll mit einer Exportfunktion namens Scintilla_DirectFunction.

Bin ich auf dem Holzweg?
 
18.09.2006  
 



@Roland: .Handle& = Control(ScintillaPb, , ~WS_CHILD | ~WS_VISIBLE, x%, y%, dx%, dy%, parent&, .ID&, %hInstance, 0) ?

Die DLL wird geladen und es gibt ein ScintillaPb-Control ? Mir ist unklar was genau ich hier nachstellen kann - Läuft XPrfEd nur mit einer speziellen DLL welche nicht mehr abgeändert werden kann?

Egal ich probiers mal hintenrum - ich hole mir so ein standardEditor welcher meine DLL frist und versuche in die DLL nen XProfanLexer einzuproggen...

Ich hatte hier irgendwo auch ein XProfanLexer in ASM geschrieben...
 
18.09.2006  
 



Die Scintilla Classe heißt bei der Original DLL nur Scintilla ohne pb
 
18.09.2006  
 



Juhu Erfolg - jetzt kann ich speziell für XProfan nen Lexer basteln! Es funktioniert...
 
18.09.2006  
 



[quote:24f03959ac=iF]Juhu Erfolg - jetzt kann ich speziell für XProfan nen Lexer basteln! Es funktioniert...[/quote:24f03959ac]
Machs aber am besten als extra Ladbaren Lexer (Zusatzdll), ist am saubersten. Einen vorhandenen Lexer verunstalten ist nicht so das wahre , bzw. wenn, dann ändere bitte auch wieder den Classennamen in was anderes, weil Scintilla steckt in sehr vielen Editoren, so kannste Probleme vermeiden.
 
18.09.2006  
 



Nein ich glaub ich machs am Besten direkt als neuen Lexer welcher in das Projekt integriert wird #79 und melde den Lexer auch bei SourceForge an. (Können ruhig alle wissen das es sowas wie XProfan gibt.)
 
19.09.2006  
 



@Roland:

Ich würde gerne das Folding einbauen - könntest Du von Deiner Seite aus das Folding aktivieren? Ein .diff reicht mir.

Irgendwie öffnet XPrfEdit (letzte V per Mail) nicht das letzte Prj beim Start.
 
19.09.2006  
 




RGH
[quote:7aed5dc757=iF]@Roland:
Ich würde gerne das Folding einbauen - könntest Du von Deiner Seite aus das Folding aktivieren?[/quote:7aed5dc757]
Klar, sobald ich eine DLL habe, die es beherrscht, kann ich versuchen es einzubauen. Und wenn es ein Sytaxhighlighning für Direktiven (zB $IFNDEF etc.) gibt, kann ich das auch noch in den Farbdialog integrieren.

Gruß
Roland
 
Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4
20.09.2006  
 




Antworten


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

10.215 Betrachtungen

Unbenanntvor 0 min.
Peter Max Müller28.10.2017
GDL11.05.2014
iF26.02.2013

Themeninformationen

Dieses Thema hat 4 Teilnehmer:

iF (14x)
unbekannt (6x)
RGH (2x)
Jac de Lad (1x)


Admins  |  AGB  |  Anwendungen  |  Autoren  |  Chat  |  Datenschutz  |  Download  |  Eingangshalle  |  Hilfe  |  Händlerportal  |  Impressum  |  Mart  |  Schnittstellen  |  SDK  |  Services  |  Spiele  |  Suche  |  Support

Ein Projekt aller XProfaner, die es gibt!


Mein XProfan
Private Nachrichten
Eigenes Ablageforum
Themen-Merkliste
Eigene Beiträge
Eigene Themen
Zwischenablage
Abmelden
 Deutsch English Français Español Italia
Übersetzungen

Datenschutz


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie