So, eigentlich wollte ich die EXE alleine anbieten in der das UserScript drin ist, aber nun hab ich es anders gemacht.
Hier die neuste Version des UserScripts:
- Operatoren und Trennzeichen können nun auch hervorgehoben werden
(eigentlich wollte ich die beiden Typen weglassen, da es zuviele davon gibt
und das Script dadurch langsam wird, aber nach ein paar Test, ist der Unterschied kaum größer)
- HighlightAuswahl und Defaults wieder weg, statt dessen der "Einfügbereich" der umgewandelten PreferenzDatei
UserScript - Pure Basic Syntax Highlighting - Version 1.4 (alter Link)
Das Script besitzt jetzt nur die "minimal Hervorhebung", der rest ist auskommentiert.
Eigene Editoreinstellungen benutzen:
Um euern eigenen Editoreinstellungen zu benutzen, startet ihr bitte diesen Code
mit Debugger
Code: Alles auswählen
Procedure.s HTMLColor(Color)
ProcedureReturn "#"+RSet(Hex(Red(Color)),2,"0")+RSet(Hex(Green(Color)),2,"0")+RSet(Hex(Blue(Color)),2,"0")
EndProcedure
Procedure Export(PreferencesFileName$)
If OpenPreferences(PreferencesFileName$)
PreferenceGroup("Editor")
Restore PreferenceKeys
Repeat
Read.s Keyword$
If Keyword$
String$ = ReplaceString(ReadPreferenceString(Keyword$, ""), ",", " ")
If Right(Keyword$, 5) = "Color" : String$ = HTMLColor(Val(String$)) : EndIf
If ReadPreferenceInteger(Keyword$+"_Disabled", 0)
Debug " //PBSH_Highlight['"+Keyword$+"'] = '"+String$+"';"
Else
Debug " PBSH_Highlight['"+Keyword$+"'] = '"+String$+"';"
EndIf
EndIf
Until Not Keyword$
ProcedureReturn #True
EndIf
EndProcedure
If Not Export(GetHomeDirectory()+"Anwendungsdaten\PureBasic\PureBasic.prefs")
PreferencesFileName$ = OpenFileRequester("Preference File", GetHomeDirectory(), "PureBasic.prefs", 0)
Export(PreferencesFileName$)
EndIf
DataSection
PreferenceKeys:
Data.s "EditorFontName", "EditorFontSize", "EditorFontStyle", "BackgroundColor", "NormalTextColor"
Data.s "BasicKeywordColor", "CommentColor", "ConstantColor", "StringColor", "PureKeywordColor"
Data.s "ASMKeywordColor", "PointerColor", "NumberColor", "StructureColor", "LabelColor"
Data.s "OperatorColor", "SeparatorColor", ""
EndDataSection
Den Inhalt des Debuggers dann einfach in das UserScript (
Wichtig! es geht nur mit der neusten Version 1.4) kopieren an die Stelle zwischen:
// ==PureBasicPreference==
// ==/PureBasicPreference==
Der Code wandelt automatisch die Farben in HTMLFarben um, und kommentiert nicht ausgewählte Highlights aus.
_______
Ich hoffe es nervt euch nicht all zu sehr, dass ich hier immer wieder Updates machen muss, aber ich und andere finden halt immer wieder einen Code der etwas anders ist als die anderen, wo dann etwas nicht stimmt.
Zu Inhaltlichen veränderungen im Code sollte es nicht mehr kommen.
Bei der Automatische SprachErkennung hatte ich bis jetzt kein Erfolg, da ich nciht weiß, nach was ich suchen soll, und von was ich die Auswahl abhängig machen soll.
Idee:
Wenn der Code ein
EndIf enthält => PureBasic
Wenn der Code ein
function enthält => kein PureBasic
Aber leider ist das nicht so einfach ^^
Es gibt einfach zu viele kleine Codes die zuwenig Informationen enthalten um darauf auf die Sprache zu schließen.
Stattdessen werde ich vllt ein Button in den CodeTitel einfügen um ein- und ausschalten der Hervorhebung.
Sodass man entscheiden kann:
- nie Hervorhebungen, und nur die Buttonklick in diesem Code aktivieren
- immer Hervorhebungen, und nur durch Buttonkick in diesem Code deaktivieren
EDIT: alle die vor 0:40 (16.10.) die Datei geladen haben, bitte noch mal laden, danke !
EDIT2: Oh weh, jemehr man verschiedene Codes anguckt tauchen immer wieder neue kleine Bugs auf ... also auch 1.4 war nicht das letzte Update ... 1.5 muss wohl bald kommen
Da hat zB jemand n Struktur gemacht mit der Variable
Next, ich dachte immer Schlüsselwörter sind da nicht gestattet, aber anscheind doch, sodass in Beispiel\Next , das Next nicht fett werden darf -.-