Kleurenschema's definiëren de kleuren van het tekstbewerkingsgebied en de syntaxisaccentuering. Een kleuren thema omvat het volgende:
De tekststijl, gebruikt voor syntaxisaccentuering via de standaard stijlen attributen. Bijvoorbeeld, de tekstkleur en de geselecteerde tekstkleur.
De achtergrond van het tekstbewerkersgebied, inclusief de tekstselectie en de huidige regel.
De pictogramrand van het tekstgebied: zijn achtergrond, de scheidingslijn, de regelnummers, de regelafbreekmarkering, de markering van gewijzigde regels en de ingevouwen code.
Tekstdecoratie zoals de zoekmarkeringen, de indentatie en markering van tab/spatie in regels, de bij elkaar behorende haakjes en de spellingcontrole.
Bladwijzers en tekstfragmenten.
Om verwarring te voorkomen, het volgende valt buiten het onderwerp:
Het lettertype en de lettergrootte.
De kleuren van de tekstbewerkertoepassing, zoals de schuifbalkplaats, de menu's, de tabbladbalk, de vensterkleur, etc. In KDE toepassingen, zoals Kate of KDevelop, zijn deze kleuren gedefinieerd door het
globale kleurrenschema van KDE Plasma™, die zijn gezet in de module “Kleuren” in Systeeminstellingen of uit de toepassing zelf in het menu → .

“Breeze licht” en “Breeze donker” kleurenthema's met de “C++” syntaxisaccentuering.
Het framework KSyntaxHighlighting, wat de syntaxisaccentueringsengine is, is de bibliotheek die de kleurenthema's levert en beheert. Dit is onderdeel van KDE Frameworks™ en wordt in KDE tekstbewerkers gebruikt zoals Kate, KWrite, Kile en KDevelop. Deze afhankelijkheid ziet er uit als volgt:

Afhankelijk van KDE Frameworks™ bibliotheken op tekstbewerkers.
KSyntaxHighlighting omvat een variëteit van ingebouwde thema's die getoond worden op de pagina “Kleurrenthema's” van de website van de tekstbewerker Kate.
Het framework KTextEditor, wat de tekstbewerkers-engine is, levert een gebruikersinterface voor aanmaken en bewerken van kleurenthema's, inclusief een hulpmiddel voor importeren en exporteren van thema's. Dit is de eenvoudigste manier om ze aan te maken en te bewerken, u kunt er toegang toe krijgen vanuit de dialoog “Configureren” van de tekstbewerker. Meer details in de paragraaf met de naam “De GUI voor kleurenthema's ”.

De GUI voor beheer van kleurenthema's in instellingen van Kate.
Het is belangrijk om te noemen dat in de KDE tekstbewerkers zoals Kate of KDevelop, de kleurenthema's van KSyntaxHighlighting gebruikt worden sinds KDE Frameworks™ 5.75, uitgegeven op 10 oktober, 2020. Eerder werden de kleurenschema's van Kate (op KConfig gebaseerde schemaconfiguratie) gebruikt en dezen zijn nu afgekeurd. Het is echter mogelijk om de oude schema's van Kate te converteren naar de kleurenthema's van KSyntaxHighlighting. The KSyntaxHighlighting opslagruimte bevat het script utils/kateschema_to_theme_converter.py en het programma utils/schema-converter/ voor dat doel.
Kleurenthema's worden opgeslagen in bestanden in JSON-formaat, met de extensie .theme.
In de broncode van KSyntaxHighlighting zijn de JSON bestanden van ingebouwde thema's gelokaliseerd in de map data/themes/. Merk op dat in tekstbewerkers, de ingebouwde thema's gecompileerd zijn in de bibliotheek van KSyntaxHighlighting, de manier van toegang naar hen is via de broncode of door ze exporteren uit de GUI om thema's van KTextEditor te beheren.
Het is ook mogelijk om gemakkelijk extra of aangepaste thema's toe te voegen, die geladen worden uit het bestandssysteem. Bestanden met door de gebruiker aangepaste themabestanden zijn gelokaliseerd in de map org.kde.syntax-highlighting/themes/ in uw gebruikersmap, die u kunt vinden met het commando qtpaths en zijn gewoonlijk --paths GenericDataLocation en $HOME/.local/share//usr/share/.
Voor pakketten uit Flatpak en Snap zal de bovenstaande map niet werken omdat de gegevenslocatie verschillend is voor elke toepassing. In een Flatpak toepassing is de locatie van aangepaste themabestanden gewoonlijk en in een Snap toepassing is die locatie $HOME/.var/app/flatpak-pakketnaam/data/org.kde.syntax-highlighting/themes/. $HOME/snap/snap-pakketnaam/current/.local/share/org.kde.syntax-highlighting/themes/
In Windows® zijn deze bestanden gelokaliseerd in %USERPROFILE%\AppData\Local\org.kde.syntax-highlighting\themes. %USERPROFILE% wordt gewoonlijk C:\Users\.gebruikersnaam
Samenvattend, voor de meeste configuraties is de aangepaste map met thema's als volgt:
| Voor lokale gebruiker | |
| Voor alle gebruikers | /usr/share/org.kde.syntax-highlighting/themes/ |
| Voor Flatpak pakketten | |
| Voor Snap pakketten | |
| Op Windows® | %USERPROFILE%\AppData\Local\org.kde.syntax-highlighting\themes |
| Op macOS® | |
Als meerdere themabestanden bestaan met dezelfde naam, zal het bestand met de hoogste revisie worden geladen.
De structuur van een JSON-bestand wordt uitgelegd op hun website. In de basis bestaat een JSON-bestandsformaat uit:
Verzamelingen van paren sleutel/waarde, gescheiden door komma's en gegroepeerd in
{ }die we “objects” zullen noemen.Geordende lijsten met waarden, gescheiden door komma's en gegroepeerd in
[ ]die we “array” zullen noemen.
De naamgeving “sleutel”, “waarde”, “object” en “array” zullen in dit artikel gebruikt worden. Als dit uw eerste keer is van werken met JSON-bestanden, ze begrijpen is zo eenvoudig als naar de onderstaande voorbeelden kijken.
Het hoofdobject van het JSON-bestand met kleurenthema bevat de volgende schemasleutels:
metadata: is verplicht. De waarde is een object met de metagegevens van het thema, zoals naam, revisie en licentie.Dit is gedetailleerd in de paragraaf met de naam “Metagegevens”.
editor-colors: het is verplicht. De waarde is een object met de kleuren van het tekstbewerkingsgebied, zoals de achtergrond, de pictogramrand en de tekstdecoratie.Dit is gedetailleerd in de paragraaf met de naam “Kleuren van bewerker”.
text-styles: het is verplicht. De waarde is een object met de attributen standaard tekststijl van de syntaxisaccentuering. Elk attribuut definieert zijn tekstkleur, zijn geselecteerde tekstkleur of of het bijvoorbeeld vet of cursiefmoet zijn. De tekststijlen kunnen gerefereerd worden uit de attributen van de XML bestanden met syntaxisdefinities.Dit is gedetailleerd in de paragraaf met de naam “Standaard tekststijlen”.
custom-styles: het is optioneel. Definieert tekststijlen voor de attributen van specifieke definities voor syntaxisaccentuering. Bijvoorbeeld, in een definitie voor accentuering zoalsPythonofMarkdownkunt u een andere tekststijl specificeren die de standaard gedefinieerde intext-stylesoverstijgt.Dit is gedetailleerd in de paragraaf met de naam “Aangepaste tekststijlen voor accentuering”.
De taal JSON ondersteunt geen commentaar. U kunt echter de optionele sleutel _comments in het hoofdobject gebruiken om commentaar te schrijven, bijvoorbeeld, als u een bestaand thema aanpast kunt u de URL van de originele opslagruimte er in zetten. De meest praktische manier is om een array van tekens te gebruiken.
Hier onder is een voorbeeldbestand voor het thema “Breeze Light”. U kunt zien dat, om te vermijden dat het voorbeeld te groot is, dat de kleuren van de bewerker en objecten met tekststijlen niet alle vereiste sleutels bevatten. U kunt het volledige archief van het thema “Breeze Light” zien in de opslagruimte KSyntaxHighlighting.
{
"_comments": [
"Dit is commentaar.",
"Als dit thema een aanpassing is van een ander, zet de koppeling naar de originele opslagruimte hier."
],
"metadata": {
"name" : "Breeze Light",
"revision" : 5,
"copyright": [
"SPDX-FileCopyrightText: 2016 Volker Krause <vkrause@kde.org>",
"SPDX-FileCopyrightText: 2016 Dominik Haumann <dhaumann@kde.org>"
],
"license": "SPDX-License-Identifier: MIT"
},
"editor-colors": {
"BackgroundColor" : "#ffffff",
"CodeFolding" : "#94caef",
"BracketMatching" : "#ffff00",
"CurrentLine" : "#f8f7f6",
"IconBorder" : "#f0f0f0",
"IndentationLine" : "#d2d2d2",
"LineNumbers" : "#a0a0a0",
"CurrentLineNumber" : "#1e1e1e",
De andere kleursleutels van de bewerker...
},
"text-styles": {
"Normal" : {
"text-color" : "#1f1c1b",
"selected-text-color" : "#ffffff",
"bold" : false,
"italic" : false,
"underline" : false,
"strike-through" : false
},
"Keyword" : {
"text-color" : "#1f1c1b",
"selected-text-color" : "#ffffff",
"bold" : true
},
"Function" : {
"text-color" : "#644a9b",
"selected-text-color" : "#452886"
},
"Variable" : {
"text-color" : "#0057ae",
"selected-text-color" : "#00316e"
},
De andere tekststijlsleutels...
},
"custom-styles": {
"ISO C++": {
"Data Type": {
"bold": true,
"selected-text-color": "#009183",
"text-color": "#00b5cf"
},
"Keyword": {
"text-color": "#6431b3"
}
},
"YAML": {
"Attribute": {
"selected-text-color": "#00b5cf",
"text-color": "#00b5cf"
}
}
}
}
Het JSON-object van de metagegevens sleutel bevat relevante informatie over het thema. Dit object heeft de volgende sleutels:
name: Het is een tekenreeks die de naam van de taal instelt. Het verschijnt nadien in de menu's en dialogen. Het is verplicht.revisieHet is een geheel getal dat de huidige revisie specificeert van het themabestand. Wanneer u een kleurenthemabestand bijwerkt, verzeker u ervan dat dit getal wordt verhoogt. Het is verplicht.license: het is een tekenreeks die de licentie van het thema definieert, met gebruik van de identifierSPDX-License-Identifieruit de standaard SPDX licentiecommunicatieformaat. Het is optioneel.U kunt de volledige lijst met SPDX-licentie-identifiers hier zien.
copyright: het is een array van tekenreeksen die de auteurs van het thema specificeren, met gebruik van de identifierSPDX-FileCopyrightTextuit de standaard SPDX licentiecommunicatieformaat. Het is optioneel.
"metadata": {
"name" : "Breeze Light",
"revision" : 5,
"copyright": [
"SPDX-FileCopyrightText: 2016 Volker Krause <vkrause@kde.org>",
"SPDX-FileCopyrightText: 2016 Dominik Haumann <dhaumann@kde.org>"
],
"license": "SPDX-License-Identifier: MIT"
}
Deze sectie detailleert alle beschikbare kleurattributen en beschikbare kleurinstellingen.
Komt overeen met de kleuren van het tekstbewerkingsgebied.
In het JSON themabestand, heeft de respectievelijke sleutel editor-colors als waarde een object waar elke sleutel refereert naar een kleurattribuut van de tekstbewerker. Hier zijn alle beschikbare sleutels verplicht, hun waarden zijn tekenreeksen met hexadecimale kleurcodes, zoals “#00B5CF”.
In de GUI om thema's van KTextEditor te beheren kunnen deze attributen gewijzigd worden in het tabblad Kleuren.
De beschikbare sleutels zijn als volgt; de sleutels gebruikt in het JSON bestand staan in de lijst vet, de namen gebruikt in de GUI worden getoond in ronde haakjes.
- Achtergrondkleuren van bewerker
BackgroundColor(Tekstgebied)Dit is de standaard achtergrond voor het tekstgebied. Het is de dominante kleur in de editor.

TextSelection(Geselecteerde tekst)Dit is de achtergrond voor geselecteerde tekst.

CurrentLine(Huidige regel)Stel de kleur in voor de huidige regel. Door de kleur iets te laten afwijken van de normale tekst wordt de focus op deze regel gericht.

SearchHighlight(Accentuering van gezocht)Stel de kleur in voor de tekst die overeenkomt met uw laatste zoekopdracht.

ReplaceHighlight(Accentuering van vervanging)Stel de kleur in voor de tekst die overeenkomt met uw laatste vervanging.

- Pictogramrand
IconBorder(Achtergrondgebied)Deze kleur wordt gebruikt voor de randen van markeringen, regelnummers en invouwmarkeringen links van de editorweergave als die getoond worden.
LineNumbers(Regelnummers)Deze kleur wordt gebruikt voor de regelnummers links van de weergave als die getoond worden.
CurrentLineNumber(Huidige regelnummers)Deze kleur wordt gebruikt om het regelnummer van de huidige regel aan de linkerkant van de weergave te tekenen, indien getoond. Dit een beetje anders instellen dan “LineNumbers” helpt bij het gericht blijven op de huidige regel.
Scheidingsteken(Scheidingsteken)Deze kleur wordt gebruikt om de verticale lijn te tekenen die de pictogramrand scheidt van de achtergrond van het tekstgebied.

WordWrapMarker(Markering van regelafbreking)Deze kleur wordt gebruikt om een patroon te tekenen links van dynamisch afgebroken regels wanneer die verticaal uitgelijnd zijn, evenals voor de statische regelafbrekingmarkering.

CodeFolding(Code invouwen)Deze kleur wordt gebruikt om de sectie met code te accentueren die zou worden ingevouwen wanneer u met de muis klikt op de codeinvouwpijl links van een document. Voor meer informatie, zie de documentatie over code invouwen.

ModifiedLines(Gewijzigde regels)Deze kleur wordt gebruikt om links van een document regels te accentueren die gewijzigd zijn, maar nog niet opgeslagen. Voor meer informatie, zie de paragraaf met de naam “Markeringen voor wijzigingen in regels”.
SavedLines(Opgeslagen regels)Deze kleur wordt gebruikt om links van een document regels te accentueren die in deze sessie gewijzigd en opgeslagen zijn. Voor meer informatie, zie de paragraaf met de naam “Markeringen voor wijzigingen in regels”.

- Tekstdecoraties
SpellChecking(Regel met verkeerde spelling)Deze kleur wordt gebruikt om spelfouten aan te geven.

TabMarker(Tab en spatie markering)Deze kleur wordt gebruikt om indicators in de witruimte te tekenen, als die ingeschakeld zijn.

IndentationLine(Inspringlijn)Deze kleur wordt gebruikt om een lijn links van de inspringende blokken te tekenen als die optie geactiveerd is.

BracketMatching(Accentuering van overeenkomende haakjes)Deze kleur wordt gebruikt voor de achtergrond van bij elkaar horende haakjes.

- Kleuren van markeringen
MarkBookmark(Bladwijzer)Deze kleur wordt gebruikt om bladwijzers aan te geven. Merk op dat deze kleur een dekking heeft van 22% (en 33% voor de huidige regel) met betrekking tot de achtergrond. Voor meer informatie, zie de paragraaf met de naam “Bladwijzers gebruiken”.

MarkBreakpointActive(Actief breekpunt)Deze kleur wordt gebruikt door de GDB-plug-in om een actief breekpunt aan te geven. Merk op dat de kleur een mindere dekking heeft ten opzichte van de achtergrond. Voor meer informatie, zie de documentatie van de GDB-plug-in.
MarkBreakpointReached(Bereikt breekpunt)Deze kleur wordt gebruikt door de GDB-plug-in om een actief breekpunt aan te geven dat is bereikt tijdens debuggen. Merk op dat de kleur een mindere dekking heeft ten opzichte van de achtergrond. Voor meer informatie, zie de documentatie van de GDB-plug-in.
MarkBreakpointDisabled(Uitgeschakeld breekpunt)Deze kleur wordt gebruikt door de GDB-plug-in om een inactief breekpunt aan te geven. Merk op dat de kleur een mindere dekking heeft ten opzichte van de achtergrond. Voor meer informatie, zie de documentatie van de GDB-plug-in.
MarkExecution(Uitvoering)Deze kleur wordt gebruikt door de GDB-plug-in om een regel aan te geven die wordt uitgevoerd. Merk op dat de kleur een mindere dekking heeft ten opzichte van de achtergrond. Voor meer informatie, zie de documentatie van de GDB-plug-in.
MarkeringsWaarschuwing(Waarschuwing)Deze kleur wordt gebruikt door de build-plug-in om een regel aan te geven die een waarschuwing bij compilatie heeft veroorzaakt. Merk op dat de kleur een mindere dekking heeft ten opzichte van de achtergrond. Voor meer informatie, zie de documentatie van de Build-plug-in.
MarkError(Fout)Deze kleur wordt gebruikt door de build-plug-in om een regel aan te geven die een fout bij compilatie heeft veroorzaakt. Merk op dat de kleur een mindere dekking heeft ten opzichte van de achtergrond. Voor meer informatie, zie de documentatie van de Build-plug-in.
- Tekstsjablonen & -fragmenten
TemplateBackground(Achtergrond)Deze kleur wordt door de fragmenten-plug-in van Kate gebruikt om de achtergrond van een fragment te markeren. Voor meer informatie, zie de documentatie van fragmenten in Kate.
TemplatePlaceholder(Te bewerken plaatshouder)Deze kleur wordt gebruikt door de Kate fragmenten-plug-in om een plaatshouder te markeren, waarop u kunt klikken om deze handmatig te bewerken. Voor meer informatie, zie de documentatie van Kate-snippets.
TemplateFocusedPlaceholder(Gefocuste bewerkbare plaatshouder)Deze kleur wordt gebruikt door de Kate fragmenten-plug-in om een plaatshouder te markeren, die u op dit moment bewerkt. Voor meer informatie zie de documentatie van Kate-snippets.

TemplateReadOnlyPlaceholder(Niet-bewerkbare plaatshouder)Deze kleur wordt gebruikt door de Kate fragmenten-plug-in om een plaatshouder te markeren, die niet handmatig is te bewerken, zoals een die automatisch wordt gevuld. Voor meer informatie, zie de documentatie van Kate-snippets.

De standaard stijlen voor tekst zijn dezelfde als de stijlen voor geaccentueerde tekst, waardoor de editor tekst op een hele consistente manier kan presenteren. Zo wordt bijvoorbeeld voor commentaartekst dezelfde stijl gebruikt in bijna alle opmaakprofielen die kunnen worden geaccentueerd door KSyntaxHighlighting.
Opmerking
Deze tekststijlen kunnen gerefereerd worden uit de standaard stijlen gebruikt in de XML definitiebestanden voor syntaxisaccentuering, bijvoorbeeld, het attribuut “Normaal” is gelijk aan “dsNormal” in de XML bestanden en “DataType” is gelijk aan “dsDataType”. Zie de paragraaf met de naam “Beschikbare standaard stijlen” in de documentatie van syntaxisaccentuering.
Tip
Let op om leesbare kleuren met goed contrast te kiezen speciaal in combinatie met de Kleuren van bewerker. Zie de paragraaf met de naam “Contrast van tekstkleuren”.
In het JSON-bestand heeft de respectievelijke sleutel text-styles als waarde een object waar elke sleutel overeenkomt met de naam van een standaard tekststijl, die gelijk zijn aan die gebruikt in de definities voor syntaxisaccentuering. Hier zijn, alle beschikbare tekststijlsleutels verplicht, deze staan onderstaand in een lijst.
"text-styles": {
"Normal" : {
"text-color" : "#1f1c1b",
"selected-text-color" : "#ffffff",
"bold" : false,
"italic" : false,
"underline" : false,
"strike-through" : false
},
"Keyword" : {
"text-color" : "#1f1c1b",
"selected-text-color" : "#ffffff",
"bold" : true
},
"Function" : {
"text-color" : "#644a9b",
"selected-text-color" : "#452886"
},
De andere tekststijlsleutels...
}
- Elke sleutel van de standaard tekststijl heeft een JSON-object als zijn waarde, waar waarden zoals color, bold, italic, etc. zijn gespecificeerd. Deze sleutels zijn als volgt:
text-color: het is een tekenreeks met de tekstkleur in hexadecimale kleurcodering. Deze sleutel/waarde is vereist.selected-text-color: de tekstkleur wanneer het is geselecteerd is in het algemeen hetzelfde als “text-color”. Wanneer de tekst is geselecteerd wordt de achtergrond gedefinieerd door de waarde van TextSelection in de Kleuren van bewerker, u moet dus verzekeren dat de tekst goed contrast heeft en leesbaar is met deze achtergrond. De waarde is een tekenreeks met een hexadecimale kleurcode. Deze sleutel/waarde is vereist.bold: het is een boolean die bepaalt of de tekst vet is. Deze sleutel is optioneel, de standaard waarde isfalse.italic: het is een boolean die bepaalt of de tekst cursief is. Deze sleutel is optioneel, de standaard waarde isfalse.underline: het is een boolean die bepaalt of de tekst onderstreept is. Deze sleutel is optioneel, de standaard waarde isfalse.strike-through: het is een boolean die bepaalt of de tekst doorgestreept is. Deze sleutel is optioneel, de standaard waarde isfalse.background-color: bepaalt de achtergrond van de tekst, bijvoorbeeld, gebruikt in opmerkzaam maken in commentaar. De waarde is eentekenreeksmet een hexadecimale kleurcode. Deze key is optioneel, standaard is er geen achtergrond.selected-background-color: bepaalt de achtergrond van de tekst wanneer deze is geselecteerd. De waarde is eentekenreeksmet een hexadecimale kleurcode. Deze key is optioneel, standaard is er geen achtergrond.
In de GUI om kleurenthema's van KTextEditor te beheren kunnen deze attributen gewijzigd worden in het tabblad Standaard teksttstijlen. De naam in de lijst met stijlen gebruikt de stijl geconfigureerd voor het item, waarmee u een onmiddellijk voorbeeld krijgt bij het configureren van een stijl. Elke stijl laat u gemeenschappelijke attributen selecteren evenals voor- en achtergrondkleuren. Om een achtergrondkleur niet in te stellen, klik rechts om het contextmenu te gebruiken.
De beschikbare tekststijlsleutels zijn als volgt; de sleutels gebruikt in het JSON bestand staan in de lijst vet, de namen gebruikt in de GUI worden getoond in ronde haakjes, als ze anders zijn.
- Normale tekst & broncode
Normaal: standaard tekststijl voor normale tekst en broncode zonder speciale accentuering.Sleutelwoord: tekststijl voor ingebouwde sleutelwoorden voor taal.Functie: tekststijl voor functie-definities en functie-aanroepen.Variable: tekststijl voor variabelen, indien van toepassing. Variabelen in bijvoorbeeld PHP/Perl starten typisch met een$, dus alle identifiers volgens het patroon$fooworden als variabele geaccentueerd.ControlFlow(Loop van controle): Tekststijl voor loop van sleutelwoorden, zoals if, then, else, return, switch, break, yield, continue, etc.Operator: tekststijl voor operators, zoals+,-,*,/,%, etc.Ingebouwd(Ingebouwd): tekststijl voor ingebouwde klassen, functies en objecten van talen.Extensie: tekststijl voor bekende extensies, zoals Qt™-klassen en functies/macro's in C++ en Python of boost.Preprocessor: tekststijl voor preprocessor statements of macro-definities.Attribuut: tekststijl voor annotaties of attributen van functies of objecten, bijv.@overridein Java of__declspec(...)en__attribute__((...))in C++.- Getallen, typen & constanten
DataType(Type gegeven): tekststijl voor ingebouwde gegevenstypen zoals int, char, float, void, u64, etc.DecVal(Decimaal/Waarde): tekststijl voor decimale waarden.BaseN(Base-N geheel getal): tekststijl voor getallen met basis anders dan 10.Float(Floating Point): tekststijl voor getallen met drijvende komma.Constante: tekststijl voor taalconstanten en gebruikergedefinieerde constanten, bijv. True, False, None in Python of nullptr in C/C++; of wiskundige constanten zoals PI.- Tekenreeksen & tekens
Char(Teken): tekststijl voor losse tekens zoals'x'.SpecialChar(Speciaal teken): tekststijl voor tekens met escape in tekenreeksen, bijv. “hello\n” en andere tekens met speciale betekenis in tekenreeksen, zoals substituties of regex-operators.String: tekststijl voor tekenreeksen zoals “hallo wereld”.VerbatimString(Letterlijke tekenreeks): tekststijl voor letterlijke of raw-tekenreeksen zoals'raw \backlash'in Perl, CoffeeScript en shells, evenals inr'\raw'in Python of zoals HIER-documenten.SpecialString(Speciale tekenreeks): tekststijl voor speciale tekenreeksen, zoals reguliere expressies in ECMAScript, de LATEX wiskundige modus, SQL, etc.Import(Geïmporteerde dingen, modulen, invoegingen): tekststijl voor invoegingen, geïmporteerde dingen, modules of LATEX pakketten.- Commentaar & documentatie
Comment: tekststijl voor normaal commentaar.Documentation: tekststijl voor commentaar dat gaat over API-documentatie, zoals/** doxygen comments */of"""docstrings""".Annotation: tekststijl voor annotaties in commentaar of documentatiecommando's, zoals@paramin Doxygen of JavaDoc.CommentVar(Commentaarvariabele): tekststijl die verwijst naar variabelenamen gebruikt in bovenstaande commando's in een commentaar, zoalsfoobarin “@param foobar”, in Doxygen of JavaDoc.RegionMarker(Gebiedsmarkering): tekststijl voor gebiedsmarkering, typisch gedefinieerd door//BEGINen//ENDin commentaar.Information: tekststijl voor informatie, notities en tips, zoals het sleutelwoord@notein doxygen.Waarschuwing: tekststijl voor waarschuwingen, zoals het sleutelwoord@warningin doxygen.Alert: tekststijl voor speciale woorden in commentaar, zoalsTODO,FIXME,XXXXenWAARSCHUWING.- Diversen
Fout: tekststijl die een fout en verkeerde syntaxis aangeeft met accentuering.Overigen: tekststijl voor attributen die niet overeenkomen met een van de andere standaard stijlen.
Hier kunt u tekststijlen instellen voor een specifieke definitie voor syntaxisaccentuering, overschrijvend de standaard tekststijl beschreven in de vorige sectie.
In het JSON themabestand correspondeert dit met de sleutel custom-styles, waarvan de waarde een object is waar elke subschemasleutel overeenkomt met de naam van een definitie voor syntaxisaccentuering. Zijn waarde is een object waar elke sleutel refereert naar de stijlattribuutnaam gedefinieerd in de elementen itemData van het XML-bestand met syntaxisaccentuering en de respectievelijke waarde een sub-object is met de sleutels text-color, selected-text-color, bold, italic, underline, strike-through, background-color en selected-background-color, gedefinieerd in de vorige sectie. Elk van deze waarden zijn optioneel, omdat als ze niet aanwezig zijn, de stijl ingesteld in text-styles wordt beschouwd.
In dit stukje code, bijvoorbeeld, heeft de definitie voor “ISO C++” syntaxisaccentuering een speciale tekststijl voor de attributen “Type Modifiers” en “Standard Classes”. In het overeenkomstige XML-bestand “isocpp.xml” gebruikt het gedefinieerde attribuut “Standard Classes” de standaard stijl BuiltIn (of dsBuiltIn). In dit attribuut wordt alleen de waarde van text-color overschreven door de nieuwe kleur “#6431b3”.
"custom-styles": {
"ISO C++": {
"Standard Classes": {
"text-color": "#6431b3"
},
"Type Modifiers": {
"bold": true,
"selected-text-color": "#009183",
"text-color": "#00b5cf"
}
}
}
Opmerking
U zou deze tekststijlen moeten beschouwen als geassocieerd met de attribuutnamen gedefinieerd in de XML-bestanden voor syntaxisaccentuering. Als een XML bestand wordt bijgewerkt en sommige attributen worden hernoemd of verwijderd, zal de aangepaste stijl gedefinieerd in het thema niet langer van toepassing zijn.
Definities voor syntaxisaccentuering bevatten vaak andere definities. Bijvoorbeeld, de module voor accentueren van “QML” bevat deze voor “JavaScript”, omdat ze functionaliteit in accentueren delen.
In de GUI om thema's van KTextEditor te beheren kunnen deze attributen gewijzigd worden in het tabblad Tekststijlen voor accentueren. Standaard selecteert het module voor accentueren van het huidige document voor. U zult opmerken dat veel accentuering andere accentuering representeert door groepen in de lijst met stijlen. De meeste accentueringen importeren de accentuering “Alert” en veel broncodeformaten importeren de accentuering “Doxygen”.
De eenvoudigste manier om kleurenthema's aan te maken en te bewerken is via de GUI in de dialoog “Configureren” geleverd door KTextEditor. Om er toegang toe te krijgen, selecteer → uit de menubalk in uw tekstbewerker. Dit toont het dialoogvenster Configureren, selecteer daar Kleurenthema's in het zijpaneel.

Het instellingendialoogvenster van Kate met het beheer van kleurenthema's.
In deze dialoog kunt u alle kleuren in elk thema dat u hebt configureren, evenals nieuwe thema's aanmaken/kopiëren, ze verwijderen, ze exporteren naar een bestand .theme in JSON-formaat of ze importeren uit externe bestanden .theme. Elk thema heeft instellingen voor tekstkleuren en stijlen.
De ingebouwde thema's kunnen niet standaard gewijzigd worden. Om dat te doen moet u ze kopiëren en een nieuwe naam geven.
Om een thema permanent in uw tekstbewerker te gebruiken moet u het in de keuzelijst met label Standaard thema voor Toepassing onderaan de dialoog selecteren en op of drukken. Standaard is de optie Automatische selectie actief, die een meer toepasselijk kleurenthema volgens het KDE Plasma™ kleurenschema gebruikt in de tekstbewerkertoepassing; er wordt gewoonlijk gekozen tussen “Breeze Light” en “Breeze Dark” als het schema, respectievelijk licht of donker is.
Tip
U kunt het KDE globale kleurenschema in de module “Kleuren” in Systeeminstellingen aanpassen. U kunt het ook individueel wijzigen in sommige toepassingen zoals Kate of KDevelop, uit het menu → .
Om een nieuw thema aan te maken is het eerst noodzakelijk om een bestaande te kopiëren. Selecteer een bestaand thema die u als basis wilt gebruiken, zoals “Breeze Light” of “Breeze Dark” en klik op . Schrijf daarna een naam voor het nieuwe thema.
Als u een ingebouwde of alleen-lezen thema wilt wijzigen, moet u het eerst kopiëren onder een andere naam.
U kunt een geselecteerd thema (inclusief ingebouwden) exporteren naar een JSON-bestand met extensie .theme, met de knop . Dit zal een dialoog openen om het bestand op te slaan. Om een kleurenthema uit een extern JSON-bestand toe te voegen, druk gewoon op de knop en selecteer het bestand .theme uit de dialoog.
Tip
Zoals boven genoemd worden door gebruikers aangepaste themabestanden opgeslagen in de map
org.kde.syntax-highlighting/themes/. Wanneer u hier een thema kopieert of maakt zal het automatisch daar verschijnen. Importeren of toevoegen van een thema is equivalent met kopiëren van een extern.theme-bestand in deze map. KSyntaxHighlighting pikt automatisch kleurenthemabestanden op uit deze map.Als u een door u gemaakt thema wilt publiceren is het essentieel om het metagegevens-object van het JSON bestand te controleren, met toevoeging van de respectievelijke licentie en controle op het revisienummer.
Hier zijn de kleuren van het tekstbewerkingsgebied aangepast. Deze zijn gedetailleerd in de paragraaf met de naam “Kleuren van bewerker”.
De standaard stijlen voor tekst zijn dezelfde als de stijlen voor geaccentueerde tekst, waardoor de editor tekst op een hele consistente manier kan presenteren. Zo wordt bijvoorbeeld voor commentaartekst dezelfde stijl gebruikt in bijna alle opmaakprofielen die kunnen worden geaccentueerd door KSyntaxHighlighting.
De naam in de lijst met stijlen gebruikt de stijl die voor dat item is ingesteld, en u krijgt onmiddellijk een voorbeeld te zien wanneer u een stijl aanpast.
Bij elke stijl kunt u algemene kenmerken kiezen en voorgrond- en achtergrondkleuren. Om een achtergrondkleur uit te zetten klikt u met rechts zodat het contextmenu verschijnt.
De attributen in dit gebied zijn gedetailleerd in de paragraaf met de naam “Standaard tekststijlen”.
Hier kunt u de tekststijlen die gebruikt worden bij een specifieke accentueringsdefinitie bewerken. De editor zal de accentuering die gebruikt wordt door uw huidige document voorselecteren. Om aan een andere accentuering te werken kiest u er een in het combinatieveld Accentueren boven de lijst met stijlen.
De naam in de lijst met stijlen gebruikt de stijl die voor dat item is ingesteld, en u krijgt onmiddellijk een voorbeeld te zien wanneer u een stijl aanpast.
Bij elke stijl kunt u algemene kenmerken kiezen en voorgrond- en achtergrondkleuren. Om een achtergrondkleur uit te zetten klikt u met rechts zodat het contextmenu verschijnt. Bovendien kunt u zien of een stijl gelijk is aan de standaardstijl die voor het item gebruikt wordt en die al dan niet gebruiken.
U ziet dat vele accentueringen andere accentueringen bevatten die als groepen vertegenwoordigd zijn in de lijst met stijlen. Zo importeren bijvoorbeeld de meeste accentueringen de Alert-accentuering, en vele opmaken voor broncode importeren de Doxygen-accentuering.
Een belangrijk aspect bij werken met kleurenthema's is een tekstcontrast te kiezen dat het gemakkelijk maakt om te lezen, speciaal in combinatie met de achtergrond.
De toepassing Kontrast is een controleur op kleurcontrast. Het vertelt dat de combinaties van tekstkleur en achtergrondkleur leesbaar en toegankelijk zijn, dit is dus een uitstekend hulpmiddel om u te helpen bij het maken van kleurenthema's.
U kunt Kontrast downloaden uit de website voor KDE toepassingen of uit het Flatpak pakket op Flathub (alleen in GNU/Linux).
De Contrast toepassing van GNOME is vergelijkbaar. U kunt het Flatpak pakket op Flathub downloaden (alleen in GNU/Linux).
Een python script in Opslagruimte voor syntaxisaccentuering laat u alle kleuren in een theme zien, evenals het contrast met de verschillende geconfigureerde achtergronden.
KSyntaxHighlighting omvat meer dan 300 definities voor syntaxisaccentuering, het is daarom ideaal dat u nagaat dat uw nieuwe thema er goed uitziet in alle definities voor syntaxisaccentuering. De ingebouwde kleurenthema's hebben de volgende te volgen gelijkenissen die aanbevolen zijn (maar niet verplicht) om een juiste weergave van alle definities voor syntaxisaccentuering te verkrijgen:
Vet gebruiken voor het “Sleutelwoord” en “loop van het programma” tekststijlen.
Geen achtergrondkleur in elk tekststijlen, behalve “Alert” en “Gebiedsmarkeringen”.
De meeste syntaxisaccentueringen zijn bedoeld om er goed uit te zien met de standaard thema's “Breeze Light” en “Breeze Dark”, een andere manier om consistentie te behouden is om soortgelijke kleuren in de tekststijlen te gebruiken, zoals groen voor “Preprocessor” en “Overigen”, blauw voor “Gegevenstype” en “Attribuut” of paars voor “Functie”.
Merk op dat deze aanbevelingen niet verplicht zijn bij aanmaken en publiceren van een thema.