Laborante kun Koloraj Etosoj

Superrigardo

Koloretosoj difinas la kolorojn de la tekstredakta areo kaj la sintaksreliefigo. Koloretoso ampleksas la jenon:

  • La teksta stilo, uzata por sintaksa reliefigo per la defaŭltaj stilaj atributoj. Ekzemple, la tekstokoloro kaj la elektita tekstokoloro.

  • La fono de la teksta redakta areo, inkluzive de la tekstoelekto kaj la aktuala linio.

  • La piktograma rando de la teksta areo: ilia fono, la apartlinio, la linionumeroj, la liniaj vortvolvaj markiloj, la modifitaj linimarkoj kaj la koda faldado.

  • Tekstaj dekoraciistoj kiel ekzemple la serĉsignoj, la indentaĵo kaj tab-/spac-liniomarkoj, la kongruo de krampoj kaj la literuma kontrolo.

  • Legosignoj kaj fragmentoj.

Por eviti konfuzon, la jena estas ekstere de amplekso:

  • La tiparo kaj la tipa grandeco.

  • La koloroj de la tekstredakta aplikaĵo, kiel la rulumbreta mapo, la menuoj, la langetobreto, la fenestrokoloro, ktp. En KDE-aplikoj, kiel KateKDevelop, ĉi tiuj koloroj estas difinitaj per la KDE Plasma™ ĉiea kolorskemo, kiuj estas fiksitaj en la modulo Koloroj en Sistemargordoj aŭ de la aplikaĵo mem en la menuo AgordojKolorskemo.

“Breeze Light” kaj “Breeze Dark” koloretosoj kun la sintaksa reliefigo de “C++”.

Breeze Light kaj Breeze Dark koloretosoj kun la sintaksa reliefigo de C++.

La KSyntaxHighlighting Koloraj Etosoj

La KSyntaxHighlighting kadro, kiu estas la sintaksreliefigo-motoro, estas la biblioteko kiu provizas kaj administras la koloretosojn. Ĉi tio estas parto de KDE Frameworks™ kaj estas uzata en KDE tekstredaktiloj kiel Kate, KWrite, Kile kaj KDevelop. Ĉi tiu dependeco aspektas kiel jena:

Dependeco de KDE Frameworks™ 5 bibliotekoj pri tekstoredaktiloj.

Dependeco de KDE Frameworks™ bibliotekoj pri tekstoredaktiloj.

KSyntaxHighlighting inkluzivas diversajn enkonstruitajn etosojn kiuj estas montritaj sur la paĝo Koloraj Etosoj de la retejo de Kate-redaktilo. .

La kadro KTextEditor, kiu estas la tekstoredaktadmotoro, disponigas uzantinterfacon por krei kaj redakti koloretosojn , inkluzive de ilo por importi kaj eksporti etosojn. Ĉi tio estas la plej simpla maniero krei kaj redakti ilin, vi povas aliri ĝin de la Agordi dialogo de la tekstredaktilo. Pliaj detaloj en la sekcio nomata “La Koloraj Etosoj GUI.

La GUI por administri koloretosojn en la agordoj de Kate.

La GUI por administri kolorajn etosojn en la agordoj de Kate.

Estas grave mencii ke, en la KDE tekstredaktiloj kiel KateKDevelop, la koloretosoj de KSyntaxHighlighting estas uzataj ekde KDE Frameworks™ 5.75, publikigita la 10-an de oktobro 2020. Antaŭe, la kolorskemoj de Kate (skem-agordo bazita en KConfig) estis uzataj kaj nun estas malrekomenditaj. Tamen, eblas konverti la malnovan Kate skemoj al la koloretosoj de KSyntaxHighlighting. La KSyntaxHighlighting-deponejo inkluzivas la utils/kateschema_to_theme_converter.py skripton kaj la utils/schema-converter/ ilo por tiu celo.

La Koloraj Etosoj JSON Formato

Superrigardo

Koloraj etosoj estas konservitaj en JSON; formataj dosieroj, kun la etendo .theme.

En la KSyntaxHighlighting fontkodo, la JSON dosieroj de enkonstruitaj etosoj troviĝas en la dosierujo data/themes/. Notu, ke en tekstredaktiloj, la enkonstruitaj etosoj estas kompilitaj en la bibliotekon KSyntaxHighlighting, tial la maniero aliri ilin estas per la fontkodo aŭ per eksportante ilin el la GUI por administri etosojn de KTextEditor.

Ankaŭ eblas facile aldoni pliajn aŭ proprajn etosojn, kiuj estas ŝargitaj de la dosiersistemo. Uzant-personigitaj etosdosieroj troviĝas en la dosierujo org.kde.syntax-highlighting/themes/ en via uzantdosierujo, kiun vi povas trovi per la komando qtpaths --paths GenericDataLocation kaj estas kutime $HOME/.local/share/ kaj /usr/share/.

En Flatpak kaj Snap-pakaĵoj, ĉi-supra dosierujo ne funkcios ĉar la datuma loko estas malsama por ĉiu aplikaĵo. En Flatpak-aplikaĵo, la loko de propraj etosdosieroj estas kutime $HOME/.var/app/flatpak-package-name /data/org.kde.syntax-highlighting/themes/ kaj en Snap-aplikaĵo tiu loko estas $HOME/snap/ snap-package-name/current/.local/share/org.kde.syntax-highlighting/themes/.

Sur Windows® ĉi tiuj dosieroj troviĝas %USERPROFILE%\AppData\Local\org.kde.syntax-highlighting hemes. %USERPROFILE% kutime vastiĝas al C:\Users\uzantnomo.

Resume, por la plej multaj agordoj la propraj etosoj dosierujo estas jena:

Por loka uzanto$HOME/.local/share/org.kde.syntax-highlighting/themes/
Por ĉiuj uzantoj/usr/share/org.kde.syntax-highlighting/themes/
Por Flatpak-pakaĵoj$HOME/.var/app/flatpak-package-name/data/org.kde.syntax-highlighting/themes/
Por Snap-pakaĵoj$HOME/snap/snap-package-name/current/.local/share/org.kde.syntax-highlighting/themes/
Sur Windows®%USERPROFILE%\AppData\Local\org.kde.syntax-highlighting hemes

Se ekzistas pluraj etosodosieroj kun la sama nomo, la dosiero kun la plej alta revizio estos ŝargita.

La JSON Strukturo

La strukturo de JSON dosiero estas klarigita en ilia retejo. Esence, JSON formato dosiero konsistas el:

  • Kolektoj de ŝlosilaj/valoraj paroj, apartigitaj per komoj kaj grupigitaj en { } kiujn ni nomos objektoj.

  • Ordigitaj valorlistoj, apartigitaj per komoj kaj grupigitaj en [ ] kiun ni nomos tabelo.

La nomenklaturo ŝlosilo, valoro, objekto kaj tabelo estos uzataj en ĉi tiu artikolo. Se ĉi tio estas via unua fojo laboranta kun JSON dosierojn, kompreni ilin estas tiel simple kiel rigardi la ekzemplojn sube.

Ĉefaj Sekcioj de la JSON Koloraj Etosoj Dosieroj

La radika objekto de la koloretoso JSON dosiero enhavas la sekvajn skemajn ŝlosilojn:

  • metadatenoj: Ĝi estas deviga. La valoro estas objekto kun la metadatenoj de la etoso, kiel nomo, revizio kaj permesilo.

    Ĉi tio estas detala en la sekcio nomata “Metadatenoj”.

  • editor-colors: Ĝi estas deviga. La valoro estas objekto kun la koloroj de la teksta redakta areo, kiel la fono, la piktogramo kaj la teksta ornamado.

    Ĉi tio estas detala en la sekcio nomata “Redaktilaj Koloroj”.

  • teksto-stiloj: Ĝi estas deviga. La valoro estas objekto kun la defaŭlta tekstostilo atributoj de la sintaksa reliefigo. Ĉiu eco difinas sian tekstokoloron, ĝian elektitan tekstokoloron, aŭ ĉu ĝi ekzemple grasakursiva. La tekstostiloj povas esti referencitaj de la atributoj de la sintaksdifinaj XML-dosieroj.

    Ĉi tio estas detala en la sekcio nomata “Defaŭltaj Tekstaj Stiloj”.

  • personaj stiloj: Ĝi estas laŭvola. Difinas tekstajn stilojn por la atributoj de specifaj sintakso elstarigante difinojn. Ekzemple, en reliefiga difino kiel PythonMarkdown vi povas specifi malsaman tekstostilon, kiu anstataŭas la defaŭltan difinitan en teksto-stiloj.

    Ĉi tio estas detala en la sekcio nomata “Propraj Reliefigaj Tekstostiloj”.

La JSON lingvo ne subtenas komentojn. Tamen, vi povas uzi la laŭvolan klavon _comments en la radika objekto por skribi komentojn, ekzemple, se vi adaptas ekzistantan etoson vi povas meti la URL de la originala deponejo. La plej praktika maniero estas uzi tabelon de ĉenoj.

Malsupre estas ekzempla dosiero por la etoso Breeze Light. Vi povas rimarki ke, por eviti ke la ekzemplo estu tro granda, la objektoj editor-colors kaj text-stiloj ne enhavas ĉiujn postulatajn ŝlosilojn. Vi povas vidi la plenan arkivon de la Breeze Light etoso en la KSyntaxHighlighting-deponejo.

{
    "_comments": [
        "Ĉi tio estas komento.",
        "Se ĉi tiu etoso estas adapto de alia, metu la ligilon al la origina deponejo."
    ],
    "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",
        La aliaj redaktilaj kolorklavoj...

    },
    "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"
        },
        La aliaj tekstaj stilklavoj...

    },
    "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"
            }
        }
    }
}

Metadatenoj

La JSON objekto de la ŝlosilo metadata enhavas koncernajn informojn pri la etoso. Ĉi tiu objekto havas la sekvajn ŝlosilojn:

  • nomo: Ĝi estas ĉeno fiksas la nomon de la lingvo. Ĝi aperas poste en la menuoj kaj dialogoj. Ĝi estas deviga.

  • revizio: Ĝi estas entjera nombro kiu specifas la nunan revizion de la etosodosiero. Kiam ajn vi ĝisdatigas koloretosan dosieron, certigu pliigi ĉi tiun nombron. Ĝi estas deviga.

  • licenco: Ĝi estas ĉeno kiu difinas la permesilon de la etoso, uzante la identigilon SPDX-License-Identifier el la norma SPDX-licenca komunikformato. Ĝi estas laŭvola.

    Vi povas vidi la plenan liston de SPDX-licencaj identigiloj ĉi tie.

  • kopirajto: Ĝi estas tabelo de ĉenoj kiu specifas la aŭtorojn de la etoso, uzante la identigilon SPDX-FileCopyrightText de la norma SPDX-licenca komunika formato. Ĝi estas laŭvola.

"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"
}

Koloroj en Detalo

Ĉi tiu sekcio detaligas ĉiujn disponeblajn kolorajn atributojn kaj disponeblajn kolorajn agordojn.

Redaktilaj Koloroj

Korespondas al la koloroj de la tekstredakta areo.

En la JSON etosodosiero, la respektiva klavo editor-colors havas kiel valoron objekton kie ĉiu ŝlosilo referencas al atributokoloro de la tekstredaktilo. Ĉi tie, ĉiuj disponeblaj ŝlosiloj estas devigaj, iliaj valoroj estas ĉenoj kun deksesuma kolorkodoj, kiel #00B5CF.

En la GUI por administri etosojn de KTextEditor, ĉi tiuj atributoj povas esti modifitaj en la langeto Koloroj.

La disponeblaj ŝlosiloj estas la jenaj; la ŝlosiloj uzataj en la JSON dosiero estas listigitaj en grasa, la nomoj uzataj en la GUI estas montritaj inter krampoj.

Redaktilaj Fonkoloroj
BackgroundColor (Teksta Areo)

Ĉi tio estas la defaŭlta fono por la redaktila areo, ĝi estos la domina koloro sur la redaktilareo.

TextSelection (Elektita Teksto)

Ĉi tio estas la fono por elektita teksto.

CurrentLine (Nuna Linio)

Agordu la koloron por la nuna linio. Agordi ĉi tion iom diferenca de la Normala tekstfono helpas konservi fokuson sur la nuna linio.

SearchHighlight (Serĉa Reliefigo)

Agordu la koloron por la teksto, kiu kongruas kun via lasta serĉo.

ReplaceHighlight (Anstataŭiga Reliefigo)

Agordu la koloron por la teksto, kiu kongruas kun via lasta anstataŭiga operacio.

Piktograma Bordo
IconBorder (Fona Areo)

Ĉi tiu koloro estas uzata por la markoj, lininumeroj kaj faldmarkilaj bordoj en la maldekstra flanko de la redaktora vido kiam ili estas montrataj.

LineNumbers (Linionumeroj)

Ĉi tiu koloro estas uzata por desegni la linionumerojn sur la maldekstra flanko de la vido kiam estas montrata.

CurrentLineNumber (Aktuala Linionumero)

Ĉi tiu koloro estas uzata por desegni la linionumeron de la nuna linio, sur la maldekstra flanko de la vido kiam montrata. Agordi ĉi tion iom diferenca de Linenumeroj helpas konservi fokuson sur la nuna linio.

Apartilo (Apartilo)

Ĉi tiu koloro estas uzata por desegni la vertikalan linion, kiu apartigas la piktograman bordon de la fono de la tekstareo.

WordWrapMarker (WordWrap Marker)

Ĉi tiu koloro estas uzata por desegni ŝablonon maldekstre de dinamike envolvitaj linioj kiam tiuj estas vicigitaj vertikale, same kiel por la senmova vortvolva markilo.

CodeFolding (Kodofaldado)

Ĉi tiu koloro estas uzata por reliefigi la sekcion de kodo, kiu estus faldita kiam vi alklakas la kodan faldsagon maldekstre de dokumento. Por pliaj informoj, vidu la dokumentadon pri kodfaldo.

Modifitaj Linioj (Modifitaj Linioj)

Ĉi tiu koloro estas uzata por reliefigi maldekstre de dokumento linioj kiuj estis modifitaj sed ankoraŭ ne konservitaj. Por pliaj informoj, vidu la sekcio nomata “Linia Modifa Indikiloj”.

SavedLines (Konservitaj Linioj)

Ĉi tiu koloro estas uzata por reliefigi maldekstre de dokumentlinioj kiuj estis modifitaj ĉi tiun sesion kaj konservitaj. Por pliaj informoj, vidu la sekcio nomata “Linia Modifa Indikiloj”.

Tekstaj Dekoracioj
SpellChecking (Literuma Erarlinio)

Ĉi tiu koloro estas uzata por indiki literumajn erarojn.

TabMarker (Tabaj kaj Spacetaj Markiloj)

Ĉi tiu koloro estas uzata por desegni blankspacajn indikilojn, kiam ili estas ebligitaj.

IndentLine (Deŝova Linio)

Ĉi tiu koloro estas uzata por desegni linion maldekstre de deŝovitaj blokoj, se tiu funkcio estas ebligita.

BracketMatching (Kramp-Elstarigo)

Ĉi tiu koloro estas uzata por desegni la fonon de kongruaj krampoj.

Markilaj Koloroj
MarkBookmark (Legomarki)

Ĉi tiu koloro estas uzata por indiki legosignojn. Notu, ke ĉi tiu koloro havas opakecon de 22% (kaj 33% por la nuna linio) rilate al la fono. Por pliaj informoj, vidu la sekcio nomata “Uzante Legosignojn”.

MarkBreakpointActive (Aktiva Paŭzpunkto)

Ĉi tiu koloro estas uzata de la GDB-kromaĵo por indiki aktivan paŭzpunkton. Rimarku, ke ĉi tiu koloro havas opakecon al la fono. Por pliaj informoj, vidu la dokumentaron pri GDB-Aldonaĵo.

MarkBreakpointReached (Atingita Paŭzopunkto)

Ĉi tiu koloro estas uzata de la GDB-kromaĵo por indiki rompopunkton, kiun vi atingis dum senararigado. Rimarku, ke ĉi tiu koloro havas opakecon al la fono. Por pliaj informoj, vidu la dokumentaron pri GDB-Aldonaĵo.

MarkBreakpointDisabled (Malŝaltita Breakpoint)

Ĉi tiu koloro estas uzata de la GDB-kromaĵo por indiki neaktivan rompopunkton. Rimarku, ke ĉi tiu koloro havas opakecon al la fono. Por pliaj informoj, vidu la dokumentaron pri GDB-Aldonaĵo.

MarkExecution (Efektivigo)

Ĉi tiu koloro estas uzata de la GDB-kromaĵo por la linio aktuale efektiviĝanta. Rimarku, ke ĉi tiu koloro havas opakecon al la fono. Por pliaj informoj, vidu la dokumentaron pri GDB-Aldonaĵo.

MarkWarning (Averto)

Ĉi tiu koloro estas uzata de la konstrukromaĵo por indiki linion, kiu kaŭzis kompililan averton. Rimarku, ke ĉi tiu koloro havas opakecon al la fono. Por pliaj informoj, vidu la dokumentaron pri Konstrua Kromaĵo.

MarkError (Eraro)

Ĉi tiu koloro estas uzata de la konstrukromaĵo por indiki linion, kiu kaŭzis kompililan eraron. Rimarku, ke ĉi tiu koloro havas opakecon al la fono. Por pliaj informoj, vidu la dokumentaron pri Konstrua Kromaĵo.

Tekstaj Ŝablonoj & Fragmentoj
Ŝablona Fono (Fono)

Ĉi tiu koloro estas uzata de la Kate Kromaĵo de fragmentoj por marki la fonon de fragmento. Por pliaj informoj, vidu la Kate Dokumentado pri fragmentoj.

TemplatePlaceholder (Redaktebla Lokokupilo)

Ĉi tiu koloro estas uzata de la Kate Aldonaĵo de fragmentoj por marki lokokupilon, kiun vi povas alklaki por redakti mane. Por pliaj informoj, vidu la Kate Dokumentadon pri fragmentoj.

TemplateFocusedPlaceholder (Enfokusigita Redaktebla Lokokupilo)

Ĉi tiu koloro estas uzata de la Kate Aldonaĵo de fragmentoj por marki la lokokupilon, kiun vi nun redaktas. Por pliaj informoj, vidu la Kate Dokumentado pri fragmentoj.

TemplateReadOnlyPlaceholder (Ne Redaktebla Lokokupilo)

Ĉi tiu koloro estas uzata de la Kate Aldonaĵo de fragmentoj por marki lokokupilon, kiu ne povas esti redaktita permane, kiel tiu, kiu estas aŭtomate plenigita. Por pliaj informoj, vidu la Kate Dokumentado pri fragmentoj.

Defaŭltaj Tekstaj Stiloj

La defaŭltaj tekstaj stiloj estas hereditaj de la elstaraj tekstostiloj, permesante al la redaktilo prezenti tekston en tre konsekvenca maniero, ekzemple komenta teksto uzas la saman stilon en preskaŭ ĉiuj tekstformatoj kiujn KSyntaxHighlighting povas reliefigi.

Rimarko

Tiuj ĉi tekstostiloj povas esti referencitaj de la defaŭltaj stiloj uzataj en sintakso reliefigo difino XML dosierojn, ekzemple, la atributo Normala estas ekvivalenta al dsNormal en la XML dosieroj, kaj DataType estas ekvivalenta al dsDataType. Vidu la sekcio nomata “Disponeblaj Defaŭltaj Stiloj” en la dokumentaro pri sintaksa reliefigo.

Sugesto

Nepre elektu legeblajn kolorojn kun bona kontrasto precipe en kombinaĵo kun la Redaktilaj Koloroj. Vidu la sekcio nomata “Kontrasto de Tekstaj Koloroj”.

En la JSON dosiero, la respektiva klavo tekstaj stiloj havas kiel valoron objekton kie ĉiu klavo respondas al la nomo de defaŭlta tekstostilo , kiuj estas ekvivalentaj al tiuj uzataj en la sintakso elstarigante difinojn. Ĉi tie, ĉiuj disponeblaj tekststilaj klavoj estas devigaj, ĉi tiuj estas listigitaj sube.

"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"
    },
    La aliaj tekststilaj klavoj...
}
Ĉiu ŝlosilo de defaŭlta teksta stilo havas JSON objekto kiel ĝia valoro, kie valoroj kiel koloro, grasa, kursivo, ktp. Ĉi tiuj klavoj estas kiel sekvas:

teksto-koloro: Ĝi estas ĉeno kun la tekstkoloro en deksesuma kolorkodo. Ĉi tiu ŝlosilo/valoro estas postulata.

elektita-teksto-koloro: La tekstokoloro kiam ĝi estas elektita estas ĝenerale la sama valoro kiel text-color. Kiam la teksto estas elektita, la fono estas difinita per la valoro de TextSelection en la Redaktilaj Koloroj, do vi devas certigi, ke la teksto havas bonan kontraston kaj estas legebla kun ĉi tiu fono. La valoro estas ĉeno kun deksesuma kolorkodo. Ĉi tiu ŝlosilo/valoro estas postulata.

grasa: Ĝi estas bulea kiu determinas ĉu la teksto estas grasa. Ĉi tiu ŝlosilo estas laŭvola, la defaŭlta valoro estas false.

kursivo: Ĝi estas bulea kiu determinas ĉu la teksto estas kurba. Ĉi tiu ŝlosilo estas laŭvola, la defaŭlta valoro estas false.

substreki: Ĝi estas bulea kiu determinas ĉu la teksto estas substrekita. Ĉi tiu ŝlosilo estas laŭvola, la defaŭlta valoro estas false.

streko: Ĝi estas bulea kiu determinas ĉu la teksto estas trastrekita. Ĉi tiu ŝlosilo estas laŭvola, la defaŭlta valoro estas false.

fono-koloro: Determinas la fonon de la teksto, uzata ekzemple en atentigoj en komentoj. La valoro estas ĉeno kun deksesuma kolorkodo. Ĉi tiu ŝlosilo estas laŭvola, defaŭlte ne ekzistas fono.

elektita-fono-koloro: Determinas la fonon de la teksto kiam ĝi estas elektita. La valoro estas ĉeno kun deksesuma kolorkodo. Ĉi tiu ŝlosilo estas laŭvola, defaŭlte ne ekzistas fono.

En la GUI por administri koloretosojn de KTextEditor, ĉi tiuj atributoj povas esti modifitaj en la langeto Defaŭltaj Tekstaj Stiloj. La nomo en la listo de stiloj uzas la stilon agordita por la ero, provizante al vi tujan antaŭrigardon dum agordado de stilo. Ĉiu stilo ebligas al vi elekti komunajn atributojn same kiel malfonojn kaj fonkolorojn. Por nuligi fonkoloron, dekstre alklaku por uzi la kuntekstan menuon.

La disponeblaj tekstostilaj ŝlosiloj estas la jenaj; la ŝlosiloj uzataj en la JSON dosiero estas listigitaj en grasa, la nomoj uzataj en la GUI estas montritaj inter krampoj se ili estas malsamaj.

Normala Teksto & Fonta Kodo

Normal: Defaŭlta tekststilo por normala teksto kaj fontkodo sen speciala reliefigo.

Keyword: Teksta stilo por enkonstruitaj lingvaj ŝlosilvortoj.

Function: Teksta stilo por funkciodifinoj kaj funkciovokoj.

Variable: Teksta stilo por variabloj, se aplikeble. Ekzemple, variabloj en PHP/Perl kutime komenciĝas per $, do ĉiuj identigiloj sekvantaj la ŝablonon $foo estas emfazitaj kiel variablo.

ControlFlow (Control Flow): Tekstostilo por kontrolfluaj ŝlosilvortoj, kiel if, then, else, return, switch, break, yield, continue, ktp.

Operator: Teksta stilo por operatoroj, kiel +, -, *, /, %, ktp.

BuiltIn (Built-in): Teksta stilo por enkonstruitaj lingvoklasoj, funkcioj kaj objektoj.

Extension: Teksta stilo por konataj etendaĵoj, kiel Qt™ klasoj, funkcioj/makrooj en C++ kaj Python aŭ boost.

Preprocessor: Tekstostilo por antaŭprocesoraj deklaroj aŭ makrodifinoj.

Attribute: Teksta stilo por komentarioj aŭ atributoj de funkcioj aŭ objektoj, ekz. @override en Java, aŭ __declspec(...) kaj __attribute__((...)) en C++.

Nombroj, Tipoj & Konstantoj

DataType (Data Type): Teksta stilo por enkonstruitaj datumtipoj kiel int, char, flosi, malplenigo, u64, ktp.

DecVal (Decimal/Value): Teksta stilo por dekumaj valoroj.

BaseN (Base-N Integer): Teksta stilo por nombroj kun bazo alia ol 10.

Float (Floating Point): Teksta stilo por glitpunktaj nombroj.

Constant: Teksta stilo por lingvaj konstantoj kaj uzant-difinitaj konstantoj, ekz. True, False, None en Python aŭ nullptr en C/C++; aŭ matematikaj konstantoj kiel PI.

Ĉenoj & Signoj

Char (Signo): Teksta stilo por unuopaj signoj kiel 'x'.

SpecialChar (Speciala Signo): Tekstostilo por eskapintaj signoj en ĉenoj, ekz. saluton\n, kaj aliajn signojn kun speciala signifo en ĉenoj, kiel anstataŭaĵoj aŭ regex operatoroj.

String: Teksta stilo por ĉenoj kiel saluton mondo.

VerbatimString (Verbatim String): Tekstostilo por laŭvortaj aŭ krudaj ĉenoj kiel 'raw \backlash' en Perl, CoffeeScript, kaj ŝeloj, kiel same kiel r'\raw' en Python, aŭ kiel ĈI TIE dokumentoj.

SpecialString (Speciala Ĉeno): Teksta stilo por specialaj ĉenoj, kiel regulaj esprimoj en ECMAScript, la LATEX matematika reĝimo, SQL, ktp.

Import (Importadoj, Moduloj, Inkludoj): Tekstostilo por inkludoj, importadoj, moduloj aŭ LATEX pakoj.

Komentoj & Dokumentado

Comment: Teksta stilo por normalaj komentoj.

Documentation: Teksta stilo por komentoj kiuj reflektas API-dokumentadon, kiel ekzemple /** doxygen-komentoj */"""docstrings""".

Annotation: Teksta stilo por komentoj en komentoj aŭ dokumentaj komandoj, kiel @param en Doxygen aŭ JavaDoc.

CommentVar (Komenta Variablo): Tekstostilo kiu rilatas al variablo-nomoj uzataj en supraj komandoj en komento, kiel foobar en @param foobar, en Doxygen aŭ JavaDoc.

RegionMarker (Regiona markilo): Teksta stilo por regionmarkoj, kutime difinita per //BEGIN kaj //END en komentoj.

Information: Teksta stilo por informoj, notoj kaj konsiloj, kiel la ŝlosilvorto @noto en Doxygen.

Warning: Teksta stilo por avertoj, kiel la ŝlosilvorto @warning en Doxygen.

Alert: Teksta stilo por specialaj vortoj en komentoj, kiel TODO, FIXME, XXXX kaj AVERTO .

Diversaj

Error: Teksta stilo indikanta eraran reliefigon kaj malĝustan sintakson.

Aliaj: Teksta stilo por atributoj kiuj ne kongruas kun iu ajn el la aliaj defaŭltaj stiloj.

Propraj Reliefigaj Tekstostiloj

Ĉi tie vi povas establi tekstajn stilojn por specifa sintaksa emfaza difino, superregante la defaŭltan tekstostilon priskribitan en la antaŭa sekcio .

En la JSON etosodosiero, ĉi tio respondas al la ŝlosilo personaj stiloj, kies valoro estas objekto kie ĉiu subskema ŝlosilo respondas al la nomo de sintaksa reliefigo-difino. Ĝia valoro estas objekto kie ĉiu ŝlosilo referencas al la nomo de stilaj atributoj difinita en la itemData elementoj de la sintakso reliefiganta XML dosiero, kaj la respektiva valoro estas subobjekto kun la klavoj text-color, selected-text-color, grasa, kursivo, substreki, streko, fonkoloro kaj elektita fonkoloro, difinita en la antaŭa sekcio. Ĉiu el ĉi tiuj valoroj estas nedeviga, ĉar se ili ne ĉeestas, la stilo fiksita en teksto-stiloj estas konsiderata.

Ekzemple, en ĉi tiu kodo, la sintaksa emfaza difino de ISO C++ havas specialan tekstan stilon por la atributoj Tipo-Modifiloj kaj Normaj Klasoj. En la responda XML dosiero isocpp.xml, la difinita atributo Normaj Klasoj uzas la defaŭltan stilon BuiltIn (aŭ dsBuiltIn). En ĉi tiu eco, nur la valoro de teksto-koloro estas anstataŭita de la nova koloro #6431b3.

"custom-styles": {
    "ISO C++": {
        "Standard Classes": {
            "text-color": "#6431b3"
        },
        "Type Modifiers": {
            "bold": true,
            "selected-text-color": "#009183",
            "text-color": "#00b5cf"
        }
    }
}

Rimarko

  • Vi devus konsideri, ke ĉi tiuj tekstaj stiloj estas asociitaj kun la atributaj nomoj difinitaj en la sintaksa reliefigo XML dosierojn. Se XML-dosiero estas ĝisdatigita kaj iuj atributoj estas renomitaj aŭ forigitaj, la propra stilo difinita en la etoso ne plu aplikiĝos.

  • Sintakso elstariganta difinojn ofte inkluzivas aliajn difinojn. Ekzemple, la markilo QML inkluzivas la markilon JavaScript, ĉar ili kunhavas funkciojn en reliefigo.

En la GUI por administri etosojn de KTextEditor, ĉi tiuj atributoj povas esti modifitaj en la langeto Elstarigado de Tekstaj Stiloj. Defaŭlte, la redaktilo antaŭelektas la reliefigon de la nuna dokumento. Vi rimarkos, ke multaj lumaĵoj enhavas aliajn lumaĵojn reprezentitajn de grupoj en la stillisto. Ekzemple la plej multaj elstaraĵoj importas la emfazon Atento, kaj multaj fontkodformatoj importas la elstaraĵon Doxygen.

La Koloraj Etosoj GUI

La plej simpla maniero krei kaj redakti kolorajn etosojn estas per la GUI ene de la dialogo Agordu provizita de KTekstRedaktilo. Por aliri ĝin, elektu AgordojAgordu Apliko... el la menubreto en via tekstredaktilo. Ĉi tio aperigas la dialogujon Agordu, tie elektu Koloraj Etosoj en la flanka panelo.

La agorda dialogujo de Kate kun la kolora etoso-administrado.

La agorda dialogujo de Kate kun la koloretoso-administrado.

En ĉi tiu dialogo vi povas agordi ĉiujn kolorojn en iu ajn etoso, kiun vi havas, kaj ankaŭ krei/kopii novajn etosojn, forigi ilin, eksporti ilin al .theme dosiero kun JSON formati aŭ importi ilin el eksteraj .theme dosieroj. Ĉiu etoso havas agordojn por tekstaj koloroj kaj stiloj.

La enkonstruitaj etosoj ne povas esti modifitaj defaŭlte. Por fari tion, vi devas kopii ilin kaj doni al ili novan nomon.

Por uzi etoson konstante en via tekstredaktilo, vi devas elekti ĝin en la kombinujo etikedita Defaŭlta etoso por Apliko ĉe la malsupro de la dialogo kaj premu AplikiBone. Defaŭlte estas aktiva la opcio Aŭtomata Elekto, kiu elektas pli taŭgan koloretoson laŭ la KDE Plasma™ kolorskemo uzata en la tekstredakta aplikaĵo; ĝi kutime elektas inter Breeze Light kaj Breeze Dark se la skemo estas hela aŭ malhela, respektive.

Sugesto

Vi povas alĝustigi la KDE ĉiea kolorskemo en la modulo Koloroj en Sistemargordoj. Vi ankaŭ povas ŝanĝi ĝin en iuj aplikaĵoj individue kiel ekzemple KateKDevelop, el la menuo AgordojKolorskemo.

Krei novan etoson

Por krei novan etoson, unue necesas kopii ekzistantan. Elektu ekzistantan etoson, kiun vi volas uzi kiel bazon, kiel Breeze LightBreeze Dark, kaj alklaku Kopii. Poste skribu nomon por la nova etoso.

Se vi volas modifi enkonstruitan aŭ nurlegeblan etoson, vi unue devas kopii ĝin sub malsama nomo.

Importi aŭ eksporti JSON etosodosierojn

Vi povas eksporti elektitan etoson (inkluzive de enkonstruitaj) al JSON dosiero kun etendo .theme, per la butono Eksporti. Ĉi tio malfermos dialogon por konservi la dosieron. Por aldoni koloretoson de ekstera JSON dosiero, simple premu la butonon Importi kaj elektu la dosieron .theme el la dialogo.

Sugesto

  • Kiel menciite supre, uzant-personigitaj etosdosieroj estas konservitaj en la org.kde.syntax-highlighting /themes/ dosierujo. Kiam vi kopias aŭ kreas etoson, ĝi aŭtomate aperos tie. Ankaŭ, importi aŭ aldoni etoson estas ekvivalenta al kopiado de ekstera .theme dosiero en ĉi tiun dosierujon. KSyntaxHighlighting aŭtomate prenas koloretosajn dosierojn el ĉi tiu dosierujo.

  • Se vi volas publikigi etoson kreitan de vi, estas nepre kontroli la objekton metadata de la JSON dosiero, aldonante la respektivan permesilon kaj kontrolante la revizian numeron.

Redaktado de koloraj etosoj

Koloroj

Ĉi tie la koloroj de la teksta redakta areo estas ĝustigitaj. Ĉi tiuj estas detalaj en la sekcio nomata “Redaktilaj Koloroj”.

Defaŭltaj Tekstaj Stiloj

La defaŭltaj tekstaj stiloj estas hereditaj de la elstaraj tekstostiloj, permesante al la redaktilo prezenti tekston en tre konsekvenca maniero, ekzemple komenta teksto uzas la saman stilon en preskaŭ ĉiuj tekstformatoj kiujn KSyntaxHighlighting povas reliefigi.

La nomo en la listo de stiloj uzas la stilon agordita por la ero, provizante al vi tujan antaŭrigardon dum agordado de stilo.

Ĉiu stilo ebligas al vi elekti komunajn atributojn same kiel malfonojn kaj fonkolorojn. Por nuligi fonkoloron, dekstre alklaku por uzi la kuntekstan menuon.

La atributoj de ĉi tiu areo estas detalaj en la sekcio nomata “Defaŭltaj Tekstaj Stiloj”.

Emfazante Tekstajn Stilojn

Ĉi tie vi povas redakti la tekstajn stilojn uzatajn de specifa elstara difino. La redaktilo antaŭelektas la lumaĵon uzatan de via nuna dokumento. Por labori pri malsama elstaraĵo, elektu unu en la kombinujo Reliefigi super la stillisto.

La nomo en la listo de stiloj uzas la stilon agordita por la ero, provizante al vi tujan antaŭrigardon dum agordado de stilo.

Ĉiu stilo ebligas al vi elekti komunajn atributojn same kiel malfonojn kaj fonkolorojn. Por nuligi fonkoloron, dekstre alklaku por uzi la kuntekstan menuon. Krome vi povas vidi ĉu stilo egalas al la defaŭlta stilo uzata por la ero, kaj agordi ĝin al tio se ne.

Vi rimarkos, ke multaj lumaĵoj enhavas aliajn lumaĵojn reprezentitajn de grupoj en la stillisto. Ekzemple la plej multaj elstaraĵoj importas la Alert-elstaraĵon, kaj multaj fontkodformatoj importas la Doxygen-reliefigon. Redakti kolorojn en tiuj grupoj nur influas la stilojn kiam uzataj en la redaktita elstarigformato.

Konsiloj & Trukoj

Kontrasto de Tekstaj Koloroj

Grava aspekto kiam oni laboras kun koloretosoj estas elekti tekstan kontraston, kiu faciligas la legadon, precipe en kombinaĵo kun la fono.

La aplikaĵo Kontrast estas kolorkontrasta kontrolilo. Ĝi diras al vi, ke la tekstkoloro kaj fonkoloro-kombinaĵoj estas legeblaj kaj alireblaj, do ĉi tio estas bonega ilo por helpi vin krei kolorajn etosojn.

Vi povas elŝuti Kontrast de la KDE Aplika retejo aŭ de la pako Flatpak sur Flathub (nur en GNU/Linukso) .

La aplikaĵo GNOME Kontrasto estas simila. Vi povas elŝuti la Flatpak-pakaĵon sur Flathub (nur en GNU/Linukso).

Sugestoj de Kohereco pri Sintaksreliefigo

KSyntaxHighlighting inkluzivas pli ol 300 sintaksajn difinojn, tial estas ideale, ke vi certigu, ke via nova etoso aspektas bone en ĉiuj sintaksreliefigaj difinoj. La enkonstruitaj koloretosoj havas la jenajn similecojn, kiujn rekomendindas (sed ne devige) sekvi por atingi ĝustan montradon de ĉiuj sintaksemfazaj difinoj:

  • Uzu grase por la Keyword kaj ControlFlow tekstaj stiloj.

  • Ne uzu fonkoloron en ajna teksta stilo, krom Alert kaj RegionMarker.

Plej multaj el la sintaksajemfaziloj estas intencitaj aspekti bone en la defaŭltaj etosoj Breeze Light kaj Breeze Dark, do alia maniero konservi koherecon estas uzi similajn kolorojn en la tekstaj stiloj, kiel verda por Antaŭprocesoro kaj Aliaj, blua por Datumtipo kaj Atributo, aŭ purpura por Funkcio.

Notu, ke ĉi tiuj rekomendoj ne estas devigaj dum kreado kaj publikigado de etoso.