Färgteman definierar färgerna i textredigeringsområdet och syntaxfärgläggningen. Ett färgtema omfattar följande:
Textstilen, använd för syntaxfärgläggning via förvalda stilegenskaper. Exempelvis textfärgen och den markerade textfärgen.
Textredigeringsområdets bakgrund, inklusive textmarkeringen och aktuell rad.
Textområdets ikonkant: deras bakgrund, separationslinjen, radnumren, markörerna för radbrytning, de modifierade radmarkörerna och kodvikningen.
Textdekorationer såsom sökmarkörerna, indenteringen och radmarkörer för tabulator och mellanslag, parentesmatchningen och stavningskontrollen.
Bokmärken och textsnuttar
För att undvika förvirring, följande är omfattas inte:
Teckensnittstypen och teckenstorleken.
Textredigeringsprogrammets färger, såsom rullningslistens avbildning, menyerna, flikraden, fönsterfärgen, etc. I KDE-program, såsom Kate eller KDevelop definieras de här färgerna av
KDE Plasma™ globala färgschema, som ställs in i modulen ”Färger” i systeminställningarna eller från programmet själv i menyn → .

”Breeze Light” och ”Breeze mörk” färgteman med ”C++” syntaxfärgläggning.
Ramverket KSyntaxHighlighting, som är gränssnittet för syntaxfärgläggning, är biblioteket som tillhandahåller och hanterar färgteman. Det är en del av KDE Ramverk och används i KDE:s texteditorer såsom Kate, KWrite, Kile och KDevelop. Beroendet ser ut på följande sätt:

Beroende av texteditorer i KDE Ramverk biblioteken.
KSyntaxHighlighting inkluderar ett antal inbyggda teman som visas på sidan ”Färgteman” på Kate editorns webbplats.
Ramverket KTextEditor, som är textredigeringsgränssnittet, tillhandahåller ett användargränssnitt för att skapa och redigera färgteman, inklusive ett verktyg för att exportera och importera teman. Det är det enklaste sättet att skapa och redigera dem, och du kan komma åt det från dialogrutan ”Anpassa” i texteditorn. Mer detaljerad information finns i ”Det grafiska användargränssnittet för färgteman”.

Grafiskt användargränssnitt för att hantera färgteman i Kates inställningar.
Det är viktigt att nämna att i KDE texteditorer som Kate eller KDevelop, används KSyntaxHighlighting färgteman sedan KDE Ramverk 5.75, utgivet 10:e oktober, 2020. Tidigare, användes Kates färgscheman (KConfig baserad schemainställning) och avråds nu från. Dock är det möjligt att konvertera de gamla Kate schema till KSyntaxHighlighting färgteman. Arkivet KSyntaxHighlighting inkluderar skriptet utils/kateschema_to_theme_converter.py och verktyget utils/schema-converter/ i det syftet.
Färgteman lagras i filer med JSON-format, med filändelsen .theme.
I källkoden för KSyntaxHighlighting, finns JSON-filerna för inbyggda teman i katalogen data/themes/. Observera att i texteditorer kompileras inbyggda teman i biblioteket KSyntaxHighlighting, därför är sättet att komma åt dem via källkoden eller genom att exportera dem från det grafiska användargränssnittet för att hantera teman i KTextEditor.
Det är också möjligt att enkelt lägga till ytterligare eller egna teman, som läses in från filsystemet. Användaranpassade temafiler finns i katalogen org.kde.syntax-highlighting/themes/ i användarkatalogen, som hittas med kommandot qtpaths och som oftast är --paths GenericDataLocation och $HOME/.local/share//usr/share/.
För Flatpak- och Snap-paket, fungerar inte ovanstående katalog eftersom dataplatsen är olika för varje program. I ett Flatpak-program, är platsen för anpassade temafiler oftast och i ett Snap-program är platsen $HOME/.var/app/flatpak-paketnamn/data/org.kde.syntax-highlighting/themes/. $HOME/snap/snap-paketnamn/current/.local/share/org.kde.syntax-highlighting/themes/
På Windows® är filerna placerade i %USERPROFILE%\AppData\Local\org.kde.syntax-highlighting\themes. %USERPROFILE% expanderas oftast till C:\Users\.användarnamn
Sammanfattningsvis, för de de flesta konfigurationer är den egna temakatalogen följande:
| För lokal användare | |
| För alla användare | /usr/share/org.kde.syntax-highlighting/themes/ |
| För Flatpak-paket | |
| För Snap-paket | |
| På Windows® | %USERPROFILE%\AppData\Local\org.kde.syntax-highlighting\themes |
Om flera temafiler finns med samma namn, läses filen med största revision in.
Strukturen för en JSON-fil förklaras på deras webbplats. I huvudsak består en JSON-formaterad fil av:
Samlingar av nyckel-värde par, åtskilda av kommatecken och grupperade inom
{ }, som vi kallar ”objekt”.Ordnade listor av värden, åtskilda av kommatecken och grupperade inom
[ ], vilket vi kallar ”fält”.
Terminologin ”nyckel”, ”värde”, ”objekt” och ”fält” används i det här avsnittet. Om det är första gången du arbetar med JSON-filer, är det enkelt nog att förstå dem genom att titta på exemplen nedan.
Färgtemats rotobjekt i JSON-filer innehåller följande schemanycklar:
metadata: Det är nödvändigt. Värdet är ett objekt med temats metadata, såsom ett namn, revision och licens.Det beskrivs detaljerat i ”Metadata”.
editor-colors: Det är nödvändigt. Värdet är ett objekt med färgerna i textredigeringsområdet, såsom bakgrunden, ikonkanten och textdekorationen.Det beskrivs detaljerat i ”Editorns färger”.
text-styles: De är nödvändiga. Värdet är ett objekt med egenskapen förvald textstil för syntaxfärgläggningen. Varje egenskap definierar exempelvis sin textfärg, sin markerad textfärg, eller om den är fetstil eller kursiv. Textstilar kan refereras från egenskaperna i syntaxdefinitionens XML-filer.Det beskrivs detaljerat i ”Förvalda textstilar”.
custom-styles: De är valfria. Definierar textstilar för egenskaperna av specifika syntaxfärgläggningsdefinitioner. Exempelvis, i en färgläggningsdefinition såsomPythonellerMarkdownkan man ange en annorlunda textstil som överskrider förval definierade avtext-styles.Det beskrivs detaljerat i ”Egna färgläggningstextstilar”.
JSON-språket stöder inte kommentarer. Dock kan du använda den valfria nyckeln _comments i rotobjektet för att skriva kommentarer. Om du exempelvis anpassar ett befintligt tema kan du lägga till webbadressen för originalarkivet. Det mest praktiska sättet är att använda ett fält av strängar.
Nedan finns en exempelfil för temat ”Breeze Light”. Du kanske märker att för att undvika att exemplet blir för stort, innehåller inte objekten editor-colors och text-styles alla nödvändiga nycklar. Du hittar hela arkivet av temat ”Breeze Light” i arkivet för KSyntaxHighlighting.
{
"_comments": [
"Det här är en kommentar.",
"Om temat är en anpassning av ett annat, ange länken till originalarkivet."
],
"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",
Andra färgnycklar för editorn ...
},
"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"
},
Nycklar för andra textstilar...
},
"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"
}
}
}
}
JSON-objektet för nyckeln metadata innehåller relevant information om temat. Objektet har följande nycklar:
name: Det är en sträng som anger språkets namn. Det visas senare i menyer och dialogrutor. Det är nödvändigt.revision: Det är ett heltal som anger aktuell version av temafilen. När du uppdaterar en färgtemafil, säkerställ att talet ökas. Det är nödvändigt.license: Det är en sträng som definierar temats licens, som använder identifierarenSPDX-License-Identifierfrån standarden SPDX license communication format. Det är valfritt.Du kan se hela listan med SPDX-licensidentifierare här.
copyright: Det är ett fält av strängar som anger temats upphovsman, och använder identifierarenSPDX-FileCopyrightTextfrån standarden SPDX license communication format. Det är valfritt.
"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"
}
Det här avsnittet beskriver alla tillgängliga färgegenskaper och tillgängliga färginställningar i detalj.
Motsvarar färgerna i textredigeringsområdet.
I JSON-temafiler, respektive nyckel editor-colors har ett värde, ett object, där varje nyckelreferens refererar till en egenskapsfärg i texteditorn. Här är alla tillgängliga nycklar nödvändiga, och deras värden är strängar med hexadecimala färgkoder, som ”#00B5CF”.
I det grafiska användargränssnitt för att hantera teman i KTextEditor, kan egenskaperna ändras under fliken Färger.
Följande nycklar är tillgängliga: nycklarna använda i JSON-filen listas med fetstil, och namnen använda i det grafiska användargränssnittet visas inom parentes.
- Editorns bakgrundsfärger
BackgroundColor(Textområde)Det här är förvald bakgrund för redigeringsområdet. Det kommer att vara den dominerande färgen i redigeringsområdet.

TextSelection(Markerad text)Det är bakgrunden för markerad text.

CurrentLine(Aktuell rad)Ställ in färgen för aktuell rad. Att ställa in den något annorlunda jämfört med den normala textbakgrunden hjälper till att hålla fokus på den aktuella raden.

SearchHighlight(Sökfärgläggning)Ställ in färgen på texten som matchar den senaste sökningen.

ReplaceHighlight(Ersättningsfärgläggning)Ställ in färgen på texten som matchar den senaste ersättningsåtgärden.

- Ikonkant
IconBorder(Bakgrundsområde)Den här färgen används för markeringar, radnummer och vikmarkörkanter till vänster i redigeringsvyn när de visas.
LineNumbers(Radnummer)Den här färgen används för att visa radnummer till vänster i vyn när de visas.
CurrentLineNumber(Aktuellt radnummer)Deh här färgen används för att återge den aktuella radens radnummer, på vänster sida om vyn när det visas. Att ställa in det lite annorlunda från ”LineNumbers” hjälper till att fokusera på den aktuella raden.
Separator(Separator)Den här färgen används för att återge den vertikala linjen som separerar ikonkanten från textområdets bakgrund.

WordWrapMarker(Radbrytningsmarkör)Den här färgen används för att rita ett mönster till vänster om rader med dynamisk radbrytning när de är vertikalt justerade, samt för statiska radbrytningsmarkörer.

CodeFolding(Kodvikning)Den här färgen används för att markera delen av koden som skulle kodvikas när du klickar på kodvikningspilen till vänster om ett dokument För mer information, se dokumentationen av kodvikning.

ModifiedLines(Ändrade rader)Den här färgen används för att färglägga rader som har ändrats men inte ännu sparats till vänster om ett dokument. För mer information se ”Indikering av radändringar”.
SavedLines(Sparade rader)Den här färgen används för att färglägga rader som har ändrats under den här sessionen och sparats till vänster om ett dokument. För mer information se ”Indikering av radändringar”.

- Textdekorationer
SpellChecking(Rad med stavfel)Den här färgen används för att indikera stavfel.

TabMarker(Tabulator- och mellanslagsmarkörer)Den här färgen används för att visa indikering av blanktecken, när de är aktiverade.

IndentationLine(Indenteringslinje)Den här färgen används för att rita en linje till vänster om indenterade block, om funktionen är aktiverad.

BracketMatching(Färglägg parenteser)Den här färgen används för att markera bakgrunden för matchande parenteser.

- Markeringsfärger
MarkBookmark(Bokmärke)Den här färgen används för att ange bokmärken. Observera att färgen har ogenomskinlighet 22 % (33 % för den aktuella raden). För mer information, se ”Att använda bokmärken”.

MarkBreakpointActive(Aktiv brytpunkt)Den här färgen används av GDB-insticksprogrammet för att ange en aktiv brytpunkt. Observera att färgen är ogenomskinlig mot bakgrunden. För mer information, se dokumentationen av GDB-insticksprogrammet.
MarkBreakpointReached(Nådd brytpunkt)Den här färgen används av GDB-insticksprogrammet för att ange en brytpunkt du har nått under avlusning. Observera att färgen är ogenomskinlig mot bakgrunden. För mer information, se dokumentationen av GDB-insticksprogrammet.
MarkBreakpointDisabled(Inaktiv brytpunkt)Den här färgen används av GDB-insticksprogrammet för att ange en inaktiv brytpunkt. Observera att färgen är ogenomskinlig mot bakgrunden. För mer information, se dokumentationen av GDB-insticksprogrammet.
MarkExecution(Körning)Den här färgen används av GDB-insticksprogrammet för raden som för närvarande körs. Observera att färgen är ogenomskinlig mot bakgrunden. För mer information, se dokumentationen av GDB-insticksprogrammet.
MarkWarning(Varning)Den här färgen används av bygginsticksprogrammet för att ange en rad som har orsakat en kompilatorvarning. Observera att färgen är ogenomskinlig mot bakgrunden. För mer information, se dokumentationen av bygginsticksprogrammet.
MarkError(Fel)Den här färgen används av bygginsticksprogrammet för att ange en rad som har orsakat ett kompilatorfel. Observera att färgen är ogenomskinlig mot bakgrunden. För mer information, se dokumentationen av bygginsticksprogrammet.
- Textmallar och snuttar
TemplateBackground(Bakgrund)Den här färgen används av Kates insticksprogram för textsnuttar för att markera bakgrunden för en textsnutt. För mer information, se dokumentationen av Kates textsnuttar.
TemplatePlaceholder(Redigerbar platsmarkör)Den här färgen används av Kates insticksprogram för textsnuttar för att markera en platsmarkör som du kan klicka för att redigera manuellt. För mer information, se dokumentationen av Kates insticksprogram för textsnuttar.
TemplateFocusedPlaceholder(Fokuserad redigerbar platsmarkör)Den här färgen används av Kates insticksprogram för textsnuttar för att markera en platsmarkör som du för närvarande redigerar. För mer information, se dokumentationen av Kates insticksprogram för textsnuttar.

TemplateReadOnlyPlaceholder(Icke-redigerbar platsmarkör)Färgen används av Kates insticksprogram för textsnuttar för att markera en platsmarkör som inte kan redigeras manuellt, såsom en som fylls i automatiskt. För mer information, se dokumentationen av Kates insticksprogram för textsnuttar.

De förvalda textstilarna ärvs av färgläggningstextstilarna, vilket gör det möjligt för editorn att visa text på ett mycket konsekvent sätt, till exempel använder kommentartext samma stil i nästan alla textformat som KSyntaxHighlighting kan färglägga.
Notera
Textstilarna kan refereras till från default styles använda i XML-definitionsfilerna för syntaxfärgläggning, exempelvis egenskapen ”Normal” är ekvivalent med ”dsNormal” i XML-filer, och ”DataType” är ekvivalent med ”dsDataType”. Se ”Tillgängliga standardstilar” i dokumentationen av syntaxfärgläggning.
Tips
Säkerställ att läsbara färger med god kontrast väljes, särskilt i kombination med editorns färger. Se ”Textfärgernas kontrast”.
I JSON-filen har respektive text-styles nyckel värdet object där varje nyckel motsvarar namnet på en förvald textstil, som är ekvivalent med de som används i syntaxfärgläggningsdefinitioner. Här är alla tillgängliga nycklarna för textstilar nödvändiga, och de listas nedan.
"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"
},
Nycklar för andra textstilar...
}
- Varje nyckel för en förvald textstil har ett JSON-objekt som sitt värde, där värden såsom color, bold, italic, etc. anges. Nycklarna är följande:
text-color: Det är en sträng med textfärg i hexadecimal färgkod. Det här nyckel/värdet är nödvändigt.selected-text-color: Textfärg när den är markerat är i allmänhet samma värde som ”text-color”. När texten är markerad, definieras bakgrunden av värdet TextSelection i editorns färger, så du måste säkerställa att texten har god kontrast och är läsbar med den bakgrunden. Värdet är en sträng med en hexadecimal färgkod. Det här nyckel/värdet är nödvändigt.bold: Det är en boolean som bestämmer om texten är i fetstil. Nyckeln är valfri, och förvalt värde ärfalse.italic: Det är en boolean som bestämmer om texten är kursiv. Nyckeln är valfri, och förvalt värde ärfalse.underline: Det är en boolean som bestämmer om texten är understruken. Nyckeln är valfri, och förvalt värde ärfalse.strike-through: Det är en boolean som bestämmer om texten är överstruken. Nyckeln är valfri, och förvalt värde ärfalse.background-color: Bestämmer textens bakgrund, exempelvis används för varningar i kommentarer. Värdet är en sträng med en hexadecimal färgkod. Nyckeln är valfri, normalt finns ingen bakgrund.selected-background-color: Bestämmer textens bakgrund när den är markerad. Värdet är en sträng med en hexadecimal färgkod. Nyckeln är valfri, normalt finns ingen bakgrund.
De här egenskaperna kan ändras i det grafiska användargränssnittet för att hantera färgteman i KTextEditor, under flikenFörvalda textstilar. Namnet i listan över stilar använder stilen inställd för det objektet, vilket ger dig en omedelbar förhandsgranskning när en stil anpassas. Varje stil låter dig välja vanliga egenskaper samt förgrunds- och bakgrundsfärger. För att välja bort en bakgrundsfärg, högerklicka för att använda den sammanhangsberoende menyn.
Följande nycklar för textstil är tillgängliga: nycklarna använda i JSON-filen listas med fetstil, och namnen använda i det grafiska användargränssnittet visas inom parentes om de är annorlunda.
- Normal text och källkod
Normal: Förvald textstil för normal text och källkod utan speciell färgläggning.Keyword: Textstil för inbyggda nyckelord i språket.Function: Textstil för funktionsdefinitioner och funktionsanrop.Variable: Textstil för variabler, om tillämplig. Exempelvis variabler i PHP/Perl typiskt börjar med$, så alla identifierare som följer mönstret$exempelfärgläggs som variabler.ControlFlow(Kontrollflöde): Textstil för kontrollflödesnyckelord, såsom if, then, else, return, switch, break, yield, continue, etc.Operator: Textstil för operatorer, såsom+,-,*,/,%, etc.BuiltIn(Inbyggda): Textstil för inbyggda språkklasser, funktioner och objekt.Extension: Textstil för välkända ändelser såsom Qt™-klasser och funktioner eller makron i C++ och Python eller boost.Preprocessor: Textstil för preprocessorsatser eller makrodefinitioner.Attribute: Textstilar för anmärkningar eller attribut för funktioner eller objekt, t.ex.@overridei Java, eller__declspec(...)och__attribute__((...))i C++.- Tal, typer och konstanter
DataType(Datatyp): Textstilar för inbyggda datatyper såsom int, char, float, void, u64, etc.DecVal(Decimal/Värde): Textstil för decimala värden.BaseN(Bas-N heltal): Textstil för nummer med en bas som skiljer sig från 10.Float(Flyttal): Textstil för flyttal.Constant: Textstil för språkkonstanter och användardefinierade konstanter, t.ex. True, False, None i Python eller nullptr i C/C++, eller matematiska konstanter som PI.- Strängar och tecken
Char(Tecken): Textstil för enstaka tecken såsom'x'.SpecialChar(Specialtecken): Textstil för undantagna tecken i strängar, t.ex. ”hej\n”, och andra tecken med specialmening i strängar, såsom ersättningar eller operatorer i reguljära uttryck.String: Textstil som strängar såsom ”hej allesamman”.VerbatimString(Ordagrann sträng): Textstil för ordagranna eller obehandlade strängar som'obehandlad \bakstreck'i Perl, CoffeeScript och skal, samtr'\obehandlad'i Python, eller sådant som HERE-dokument.SpecialString(Specialsträng): Textstil för specialsträng, såsom reguljära uttryck i ECMAScript, LATEX matematikläge, SQL, etc.Import(Importer, Moduler, Inkluderade filer): Textstil för inkluderade filer, importer, moduler eller LATEX-paket.- Kommentarer och dokumentation
Comment: Textstil för normala kommentarer.Dokumentation: Textstil för kommentarer som anger dokumentation av programmeringsgränssnitt, såsom/** doxygen-kommentarer */eller"""docstrings""".Annotation: Textstilar för anmärkningar i kommentarer eller dokumentationskommandon, såsom@parami Doxygen eller JavaDoc.CommentVar(Kommentarvariabel): Textstil som refererar till variabelnamn använda i kommandona ovan i en kommentar, såsomexempeli ”@param exempel”, i Doxygen eller JavaDoc.RegionMarker(Områdesmarkering): Textstil för områdesmarkeringar, ofta definierade av//BEGINoch//ENDi kommentarer.Information: Textstil för information, anteckningar och tips, såsom nyckelordet@notei Doxygen.Warning: Textstil för varningar, såsom nyckelordet@warningi Doxygen.Alert: Textstil för speciella ord i kommentarer, såsomTODO,FIXME,XXXXochWARNING.- Diverse
Error: Textstil som anger felmarkering och felaktig syntax.Others: Textstil för egenskaper som inte motsvarar någon av de andra förvalda stilarna.
Här kan du etablera textstilar för en specifik syntaxfärgläggningsdefinition, och överskrida förvald textstil beskriven i föregående avsnitt.
i JSON-temafilen motsvarar det nyckeln custom-styles vars värde är ett objekt där varje delschemanyckel motsvarar namnet på en syntaxfärgläggningsdefinition. Dess värde är ett objekt där en nyckel refererar till stilens egenskapsnamn definierat i elementen itemData i XML-filens syntaxfärgläggning, och respektive värde är ett delobjekt med nycklarna text-color, selected-text-color, bold, italic, underline, strike-through, background-color och selected-background-color, definierade i föregående avsnitt. Vart och ett av värdena är valfritt, eftersom om de inte anges, beaktas stilen angiven i text-styles.
Exempelvis, i det här kodavsnittet, har ”ISO C++” syntaxfärgläggningsdefinition en särskild textstil för egenskaperna ”Type Modifiers” och ”Standard Classes”. I motsvarande XML-fil ”isocpp.xml” använder den definierade egenskapen ”Standard Classes” förvald stil BuiltIn (eller dsBuiltIn). I denna egenskap överskrids bara värdet text-color av den nya färgen ”#6431b3”.
"custom-styles": {
"ISO C++": {
"Standard Classes": {
"text-color": "#6431b3"
},
"Type Modifiers": {
"bold": true,
"selected-text-color": "#009183",
"text-color": "#00b5cf"
}
}
}
Notera
Du bör ta hänsyn till att de här textstilarna hör ihop med egenskapsnamnen definierade i XML-filerna för syntaxfärgläggning. Om en XML-fil uppdateras och namnet ändras på vissa egenskaper eller de tas bort, gäller inte längre den egna stilen definierad i temat.
Syntaxfärgläggningsdefinitioner inkluderar ofta andra definitioner. Exempelvis inkluderar ”QML”-färgläggningen ”JavaScript”-färgläggning, eftersom de delar funktionaliteten i färgläggning.
I det grafiska användargränssnitt för att hantera teman i KTextEditor, kan egenskaperna ändras under fliken Färgläggningstextstilar. Normalt väljer editorn färgläggningen av det aktuella dokumentet i förväg. Du kommer att märka att många färgläggningar innehåller andra färgläggningar som representeras av grupper i stillistan. Exempelvis importerar de flesta färgläggningar ”Alert”, och många källkodsformat importerar ”Doxygen”.
Det enklaste sättet att skapa och redigera färgteman är via det grafiska användargränssnittet i dialogrutan ”Anpassa” som tillhandahålls av KTextEditor. För att komma åt det, välj → i texteditorns menyrad. Det visar dialogrutan Anpassa. Välj där Färgteman i sidopanelen.

Kates inställningsdialogruta med färgtemahantering.
I den här dialogrutan kan du ställa in alla färgerna i de teman du har, samt skapa/kopiera nya teman, ta bort dem, exportera dem till .theme-filer med JSON-format eller importera dem från externa .theme-filer. Varje tema har inställningar för textfärger och stilar.
Inbyggda teman kan normalt inte ändras. För att göra det måste du kopiera dem och ge dem nya namn.
För att använda ett tema permanent i din texteditor måste du välja det i kombinationsrutan med beteckningen Standardtema för program längst ner i dialogrutan och klicka på eller . Normalt är alternativet Automatiskt val aktivt, vilket väljer ett lämpligt färgtema enligt det KDE Plasma™ färgschema som används i textredigeringsprogrammet. Det väljer oftast mellan ”Breeze Light” och ”Breeze mörk” beroende på om schemat är ljust eller mörkt.
Tips
Du kan justera KDE:s globala färgschema i modulen ”Färger” i systeminställningarna. Du kan också ändra det individuellt i vissa program, såsom Kate eller KDevelop, i menyn → .
För att skapa ett nytt tema är det först nödvändigt att kopiera ett befintligt. Välj ett befintligt tema som du vill använda som grund, såsom ”Breeze Light” eller ”Breeze mörk”, och klicka på . Skriv sedan in ett namn på det nya temat.
Om du vill ändra en inbyggt eller skrivskyddat tema, måste det först kopieras till ett annat namn.
Du kan exportera ett valt tema (inklusive inbyggda) till en JSON-fil med filändelsen .theme, med knappen . Det visar en dialogruta för att spara filen. För att lägga till ett färgtema från en extern JSON-fil, klicka helt enkelt på knappen och välj .theme-filen i dialogrutan.
Tips
Som nämnts ovan, lagras användaranpassade temafiler i katalogen
org.kde.syntax-highlighting/themes/. När du kopierar eller skapar ett tema hamnar det automatiskt där. Dessutom, är import eller tillägg av ett tema ekvivalent med att kopiera en extern.theme-fil till katalogen. KSyntaxHighlighting hämtar automatiskt färgtemafiler från den här katalogen.Om du vill publicera ett tema du skapar, är det ytterst viktigt att kontrollera metadata-objektet i JSON-filen, lägga till respektive licens och kontrollera revisionsnumret.
Här justerar färgerna i textredigeringsområdet. De beskrivs detaljerat i ”Editorns färger”.
De förvalda textstilarna ärvs av färgläggningstextstilarna, vilket gör det möjligt för editorn att visa text på ett mycket konsekvent sätt, till exempel använder kommentartext samma stil i nästan alla textformat som KSyntaxHighlighting kan färglägga.
Namnet i listan med stilar använder stilen som är inställd för objektet, vilket ger en omedelbar förhandsgranskning när en stil ställs in.
Varje stil låter dig välja gemensamma egenskaper samt förgrunds- och bakgrundsfärger. För att inte använda en bakgrundsfärg, högerklicka och använd den sammanhangsberoende menyn.
Det här områdets egenskaper beskrivs detaljerat i ”Förvalda textstilar”.
Här kan du redigera textstilarna som används av en viss färgläggningsdefinition. Editorn väljer färgläggningen som används av aktuellt dokument i förväg. För att arbeta med en annan färgläggning, välja en i kombinationsrutan ovanför listan med stilar.
Namnet i listan med stilar använder stilen som är inställd för objektet, vilket ger en omedelbar förhandsgranskning när en stil ställs in.
Varje stil låter dig välja gemensamma egenskaper samt förgrunds- och bakgrundsfärger. För att inte använda en bakgrundsfärg, högerklicka och använd den sammanhangsberoende menyn. Dessutom kan du se om en stil är samma som den förvalda stilen för objektet, och ställa in den till det om den inte är det.
Du märker att många färgläggningar innehåller andra färgläggningar representerade av grupper i stillistan. De flesta färgläggningar importerar till exempel färgläggningen Alerts, och många källkodsformat importerar färgläggningen Doxygen. Redigering av färger i grupperna påverkar bara stilarna när de används i det redigerade färgläggningsformatet.
En viktig aspekt vid arbete med färgteman är att välja en textkontrast som gör det lättare att läsa, särskilt i kombination med bakgrunden.
Programmet Kontrast är ett verktyg för kontroll av färgkontrast. Det talar om för dig att kombinationen av textfärg och bakgrundsfärg är läsbara och handikappanpassade, så det är ett utmärkt verktyg för att hjälpa dig skapa färgteman.
Du kan ladda ner Kontrast från webbplatsen för KDE program eller från Flatpak-paketet på Flathub (bara i GNU/Linux).
GNOME-programmet Contrast är liknande. Du kan ladda ner Flatpak-paketet på Flathub (bara på GNU/Linux).
KSyntaxHighlighting inkluderar mer än 300 syntaxfärgläggningsdefinitioner, och därför är det idealiskt att du säkerställer att ditt nya tema ser bra ut i alla syntaxfärgläggningsdefinitioner. De inbyggda färgteman har följande likheter som det rekommenderas (men inte krävs) att du följer för att åstadkomma korrekt visning av alla syntaxfärgläggningsdefinitioner:
Använd fetstil för textstilarna ”Keyword” och ”ControlFlow”.
Använd inte bakgrundsfärg i någon textstil, utom ”Alert” och ”RegionMarker”.
De flesta av syntaxfärgläggningarna är avsedda att se bra ut med standardteman ”Breeze Light” och ”Breeze mörk”, därför är ett annat sätt att behålla likformighet att använda liknande färger textstilar, som grön för ”Preprocessor” och ”Others”, blå för ”DataType” och ”Attribute”, eller violett för ”Function”.
Observera att rekommendationerna inte är obligatoriska när ett tema skapas och publiceras.