Renk temaları, metin düzenleme alanının ve sözdizim vurgulamanın renklerini tanımlar. Bir renk teması, aşağıdakileri içerir:
Öntanımlı biçemler öznitelikleri ile sözdizim vurgulamada kullanılan metin biçemi. Örneğin, metin rengi ve seçili metin rengi.
Metin düzenleme alanının arka planı; metin seçimi ve geçerli satır içerilmek üzere.
Metin alanının simge kenarlıkları: Arka planları, ayırıcı çizgisi, satır numaraları, satır sözcük kaydırma imleyicileri, değiştirilen satır imleri ve kod katlama.
Arama imleyicileri, girintileme ve sekme/boşluk çizgisi imleri, ayraç eşleştirme ve yazım denetimi gibi metin dekorasyonları.
Yer imleri ve parçacıklar.
Kafa karışıklığını önlemek adına, aşağıdakiler kapsam dışında bırakılmıştır:
Yazıtipi türü ve yazıtipi puntosu.
Metin düzenleme uygulamasının renkleri; örneğin, sarma çubuğu haritası, menüler, sekme çubuğu, pencere rengi vb. Kate veya KDevelop gibi KDE uygulamalarında, bu renkler
KDE Plasma™ global renk şemalarındatanımlıdır. Bu alana, Sistem Ayarları içindeki “Renkler” modülünde veya uygulamanın kendisinde → ögesinden ulaşılabilir.

“C++” sözdizim vurgulamasında “Esinti Açık” ve “Esinti Koyu” renk temaları.
KSyntaxHighlighting sözdizim vurgulaması işletkesi, renk temalarını sağlayan ve yöneten çatıdır. Bu, KDE Frameworks™’ün bir parçasıdır ve Kate, KWrite, Kile ve KDevelop gibi KDE metin düzenleyicilerinde kullanılır. Bağımlılıkları aşağıdaki gibidir:

Metin düzenleyicilerinde KDE Frameworks™ 5 kitaplıkları.
KSyntaxHighlighting içinde, Kate düzenleyicisinin web sayfasının “Renk Temaları” bölümünde görüntülenen çeşitli yerleşik temalar vardır.
KTextEditor metin düzenleme işletkesi çatısı, renk temaları oluşturmak ve düzenlemek için içe/dışa aktarma araçları da içerilmek üzere bir kullanıcı arayüzü sağlar. Bu, renk temaları oluşturmanın ve düzenlemenin en basit yoludur; buna metin düzenleyicisinin “Yapılandırma” iletişim kutusundan erişebilirsiniz. Daha fazla ayrıntı için “Renk Temaları Grafik Arayüzü” bölümüne bakın.

Kate ayarlarında renk temalarını yönetmek için kullanılan arayüz.
Kate veya KDevelop gibi KDE metin düzenleyicilerinde kullanılan KSyntaxHighlighting renk temaları, 10 Ekim 2020 tarihinde yayımlanan KDE Frameworks™ 5.75 sürümüyle kullanılmaya başlanmıştır. Öncesinde, Kate’in kendi renk şemaları (KConfig tabanlı şema yapılandırması) kullanılıyordu; artık bunlar kullanılmıyor. Yine de, eski Kate şemalarını KSyntaxHighlighting renk şemalarına dönüştürmek olanaklıdır. KSyntaxHighlighting deposunda, bu iş için kullanılan utils/kateschema_to_theme_converter.py betiği ve utils/schema-converter/ izlencesi bulunur.
Renk temaları, JSON biçimli dosyalarda .theme uzantısıyla depolanır.
KSyntaxHighlighting kaynak kodunda, yerleşik temaların JSON dosyaları data/themes/ dizininde bulunur. Metin düzenleyicilerinde yerleşik temaların KSyntaxHighlighting kitaplığıyla derlendiğine dikkat edin; dolayısıyla, onlara erişmek ya kaynak kodundan ya da KTextEditor temalarını yönetmek üzere grafik arayüzden dışa aktarılarak olanaklıdır.
Dosya sisteminden, ek veya özel temaları kolaylıkla eklemek olanaklıdır. Kullanıcılar tarafından özelleştirilen tema dosyaları, kullanıcı klasörünüzdeki org.kde.syntax-highlighting/themes/ dizininde bulunur; bu dizini qtpaths komutuyla bulabilirsiniz ve genellikle --paths GenericDataLocation ve $HOME/.local/share//usr/share/ dizinleridir.
Flatpak ve Snap paketlerinde, yukarıdaki dizin işe yaramaz; çünkü her uygulamanın veri konumu farklıdır. Bir Flatpak uygulamasında, özel dosyaların konumu genellikle ve bir Snap uygulamasında ise $HOME/.var/app/flatpak-paketi-adı/data/org.kde.syntax-highlighting/themes/ olarak kullanılır. $HOME/snap/snap-paketi-adı/current/.local/share/org.kde.syntax-highlighting/themes/
Windows®’ta bu dosyalar genelde C:\Users\ user-name%USERPROFILE%\AppData\Local\org.kde.syntax-highlighting\themes olarak genişleyen %USERPROFILE% konumundadır.
Özet olarak, çoğu yapılandırmada özel tema dizinleri aşağıdaki gibidir:
| Yerel kullanıcı için | |
| Tüm kullanıcılar için | /usr/share/org.kde.syntax-highlighting/themes/ |
| Flatpak paketleri için | |
| Snap paketleri için | |
| Windows® üzerinde | %USERPROFILE%\AppData\Local\org.kde.syntax-highlighting\themes |
| macOS® üzerinde | |
Aynı adlı birden çok tema dosyası varsa en yüksek revision’a (revizyona) sahip dosya yüklenir.
Bir JSON dosyasının yapısı web sitelerinde açıklanmıştır. Temel olarak, bir JSON biçimi şunlardan oluşur:
Adına “nesneler” dediğimiz ve
{ }ile gruplanan anahtar/değer çiftleri koleksiyonları.Adına “diziliş” dediğimiz ve
[ ]ile gruplanan sıralı değerler listeleri.
Bu yazıda, “anahtar”, “değer”, “nesne” ve “diziliş” ögeleri kullanılacaktır. JSON dosyalarıyla ilk tanışmanız ise onları anlamanın en kolay yolu aşağıdaki örneklere bakmaktır.
JSON renk teması dosyalarının kök nesnesi aşağıdaki şema anahtarlarını içerir:
metadata: Zorunlu. Değer, temanın üst verisi olan bir nesnedir; örneğin, adı, revizyonu ve lisansı.Ayrıntılı bilgi için “Üst Veri” bölümüne bakın.
editor-colors: Zorunlu. It is mandatory. Değer; arka plan, simge kenarlığı ve metin dekorasyonu gibi metin düzenleme alanının renklerine sahip bir nesnedir.Ayrıntılı bilgi için “Düzenleyici Renkleri” bölümüne bakın.
text-styles: Zorunlu. Değer, sözdizim vurgulamanın öntanımlı metin biçemi öznitelikleriyle bir nesnedir. Her bir öznitelik; örneğin, kendi metin rengini, seçili metin rengini veya onun kalın veya yatık olup olmadığını tanımlar. Metin biçemlerine XML sözdizim vurgulama dosyalarından başvurulabilir.Ayrıntılı bilgi için “Öntanımlı Metin Biçemleri” bölümüne bakın.
custom-styles: İsteğe bağlı. Belirli sözdizim vurgulama tanımlarının öznitelekleri için metin biçemlerini tanımları. Örneğin,PythonveyaMarkdownvurgulama tanımlarında,text-stylesiçinde tanımlı metin biçemini geçersiz kılacak bir metin biçemi tanımlayabilirsiniz.Ayrıntılı bilgi için “Özel Vurgulama Metin Biçemleri” bölümüne bakın.
JSON dili yorumları desteklemez. Ancak, yorumlar yazmak için kök nesnede isteğe bağlı _comments anahtarını kullanabilirsiniz. Bu örneğin, önceden var olan bir temayı uyarlıyorsanız özgün deponun URL’sini buraya koyabilirsiniz. En pratik yolu, diziler içeren dizilişler kullanmaktır.
Aşağıda “Esinti Açık” teması için bir örnek dosyayı görebilirsiniz. Örneğin pek büyük olmasını engellemek için editor-colors ve text-styles nesnelerinin tüm gerekli anahtarları içermediğine dikkat edin. “Esinti Açık” temasının tam arşivini KSyntaxHighlighting deposunda bulabilirsiniz.
{
"_comments": [
"Bu bir yorumdur.",
"Bu tema bir başkasından uyarlanmışsa özgün deponun bağlantısını buraya koyun."
],
"metadata": {
"name" : "Esinti Açık",
"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",
Diğer düzenleyici renk anahtarları…
},
"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"
},
Diğer metin biçemi anahtarları…
},
"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"
}
}
}
}
metadata anahtarının JSON nesnesi, tema üzerine aşağıdaki ilgili bilgiyi içerir. Bu nesnedeki anahtarlar aşağıdaki gibidir:
name: Dilin adını ayarlayan bir dizidir. Daha sonra menülerde ve iletişim kutularında görünür. Bu, zorunludur.revizyon: Tema dosyasının geçerli revizyonunu belirten bir tamsayı’dır. Bir renk teması dosyasını güncellediğinizde bu sayıyı artırdığınızdan emin olun. Bu zorunludur.license: Temanın lisansını, standart SPDX lisans iletişim biçiminden alınanSPDX-License-Identifiertanımlayıcısını kullanarak belirten bir dizidir. İsteğe bağlıdır.SPDX lisans tanımlayıcılarının tam listesini buradan görebilirsiniz.
copyright: Temanın telif hakkını, standart SPDX lisans iletişim biçiminden alınanSPDX-License-Identifiertanımlayıcısını kullanarak belirten bir diziler dizilişidir. İsteğe bağlıdır.
"metadata": {
"name" : "Esinti Açık",
"revision" : 5,
"copyright": [
"SPDX-FileCopyrightText: 2016 Volker Krause <vkrause@kde.org>",
"SPDX-FileCopyrightText: 2016 Dominik Haumann <dhaumann@kde.org>"
],
"license": "SPDX-License-Identifier: MIT"
}
Bu bölüm, tüm kullanılabilir renk özniteliklerini ve ayarlarını ayrıntılandırır.
Metin düzenleme alanı renklerine karşılık gelir.
JSON tema dosyasında, ilgili editor-colors anahtarının, her bir anahtarın metin düzenleyicisinin renk özniteliğine başvurduğu bir object değeri vardır. Burada, tüm anahtarlar zorunludur, değerleri ise “#00B5CF” gibi onaltılık renk değerlerine sahip dizilerdir.
KTextEditor tema yönetim arayüzünde, bu öznitelikler Renkler sekmesinde yapılandırılabilir.
Kullanılabilir anahtarlar aşağıdaki gibidir; JSON dosyasında kullanılan anahtarlar kalın ile, grafik arayüzde kullanılan adlar parantez içinde gösterilirler.
- Düzenleyici Arka Plan Renkleri
BackgroundColor(Metin Alanı)Bu, düzenleyici alanı için varsayılan arka plandır, düzenleyici alanındaki baskın renk olacaktır.

TextSelection(Seçili Metin)Bu, seçili metnin arka planıdır.

CurrentLine(Geçerli Satır)Geçerli satırın rengini ayarlayın. Bunu normal metin arka planından biraz farklı bir şekilde ayarlamak, odağın geçerli satırda kalmasına yardımcı olur.

SearchHighlight(Arama Vurgusu)Son aramanızla eşleşen metnin rengini ayarlayın.

ReplaceHighlight(Değiştirme Vurgusu)Son değiştirme işleminizle eşleşen metnin rengini ayarlayın.

- Simge Kenarlığı
IconBorder(Arka Plan Alanı)Bu renk, görüntülendiğinde düzenleyici görünümünün sol tarafındaki imleyiciler, satır numaraları ve katlama imleyicisi kenarlıkları için kullanılır.
LineNumbers(Satır Numaraları)Bu renk, görüntülendiğinde görünümün sol tarafındaki satır numaralarını çizmek için kullanılır.
CurrentLineNumber(Geçerli Satır Numarası)Bu renk, görüntülendiğinde görünümün sol tarafına geçerli satırın satır numarasını çizmek için kullanılır. Bunu “LineNumbers”’tan biraz farklı bir şekilde ayarlamak, geçerli satıra odaklanmaya yardımcı olur.
Separator(Ayırıcı)Bu renk, simge kenarlığını metin alanının arka planından ayıran dikey çizgiyi çizmek için kullanılır.

WordWrapMarker(Sözcük Kaydırma İmleyicisi)Bu renk, dikey olarak hizalandığında devingen olarak kaydırılan çizgilerin soluna bir desen çizmek ve durgun sözcük kaydırma imleyicisi için kullanılır.

CodeFolding(Kod Katlama)Bu renk, bir belgenin solundaki kod katlama okuna tıkladığınızda katlanacak kod bölümünü vurgulamak için kullanılır. Daha fazla bilgi için kod katlama belgelendirmesine bakın.

ModifiedLines(Değiştirilen Satırlar)Bu renk, değiştirilmiş ancak henüz kaydedilmemiş bir belgenin sol tarafındaki satırları vurgulamak için kullanılır. Daha fazla bilgi için “Satır Değişiklik Göstergeleri” bölümüne bakın.
SavedLines(Kaydedilen Satırlar)Bu renk, bu oturumda değiştirilen ve kaydedilen belgenin sol tarafındaki satırları vurgulamak için kullanılır. Daha fazla bilgi için “Satır Değişiklik Göstergeleri” bölümüne bakın.

- Metin Dekorasyonları
SpellChecking(Yazım Yanlışı Satırı)Bu renk, yazım yanlışlarını belirtmek için kullanılır.

TabMarker(Sekme ve Boşluk İmleyicileri)Bu renk, etkinleştirildiğinde beyaz alan göstergelerini çizmek için kullanılır.

IndentationLine(Girintileme Satırı)Bu renk, bu özellik etkinse girintili blokların soluna bir çizgi çizmek için kullanılır.

BracketMatching(Ayraç Vurgusu)Bu renk, eşleşen ayraçların arka planını çizmek için kullanılır.

- İmleyici Renkleri
MarkBookmark(Yer İmi)Bu renk, yer imlerini belirtmek için kullanılır. Bu rengin arka plana göre %22 (ve geçerli çizgi için %33) matlığa sahip olduğunu unutmayın.

MarkBreakpointActive(Etkin Kesme Noktası)Bu renk, GDB eklentisi tarafından etkin bir kesme noktasını belirtmek için kullanılır. Bu rengin arka planının mat olduğuna dikkat edin. Daha fazla bilgi için GDB eklentisi belgelendirmesine bakın.
MarkBreakpointReached(Ulaşılan Kesme Noktası)Bu renk GDB eklentisi tarafından hata ayıklama sırasında ulaştığınız bir kesme noktasını belirtmek için kullanılır. Bu rengin arka planının mat olduğuna dikkat edin. Daha fazla bilgi için GDB eklentisi belgelendirmesine bakın.
MarkBreakpointDisabled(Devre Dışı Kesme Noktası)Bu renk, GDB eklentisi tarafından etkin olmayan bir kesme noktasını belirtmek için kullanılır. Bu rengin arka planının mat olduğuna dikkat edin. Daha fazla bilgi için GDB eklentisi belgelendirmesine bakın.
MarkExecution(Yürütme)Bu renk, şu anda yürütülen satırdaki GDB eklentisi tarafından kullanılır. Bu rengin arka planının mat olduğuna dikkat edin. Daha fazla bilgi için GDB eklentisi belgelendirmesine bakın.
MarkWarning(Uyarı)Bu renk, yapı eklentisi tarafından derleyici uyarısına neden olan bir satırı belirtmek için kullanılır. Bu rengin arka planının mat olduğuna dikkat edin. Daha fazla bilgi için yapı eklentisi belgelendirmesine bakın.
MarkError(Hata)Bu renk, yapı eklentisi tarafından derleyici hatasına neden olan bir satırı belirtmek için kullanılır. Bu rengin arka planının mat olduğuna dikkat edin. Daha fazla bilgi için yapı eklentisi belgelendirmesine bakın.
- Metin Şablonları ve Parçacıkları
TemplateBackground(Arka Plan)Bu renk Kate parçacıkları eklentisi tarafından bir parçacığın arka planını imlemek için kullanılır. Daha fazla bilgi için Kate parçacıkları belgelendirmesine bakın.
TemplatePlaceholder(Düzenlenebilir Yer Tutucu)Bu renk, Kate parçacıklar eklentisi tarafından elle düzenlemek üzere tıklayabileceğiniz bir yer tutucuyu imlemek için kullanılır. Daha fazla bilgi için Kate parçacıkları belgelendirmesine bakın.
TemplateFocusedPlaceholder(Odaklı Düzenlenebilir Yer Tutucu)Bu renk, Kate parçacıklar eklentisi tarafından şu anda düzenlediğiniz yer tutucuyu imlemek için kullanılır. Daha fazla bilgi için Kate parçacıkları belgelendirmesine bakın.

TemplateReadOnlyPlaceholder(Düzenlenemez Yer Tutucu)Bu renk, Kate parçacıklar eklentisi tarafından düzenlenemez olan bir yer tutucuyu; örneğin, kendiliğinden doldurulan tutucular gibi, imlemek için kullanılır. Daha fazla bilgi için Kate parçacıkları belgelendirmesine bakın.

Öntanımlı metin biçemleri, vurgulanan metin biçemleri tarafından devralınır ve bu, düzenleyicinin metni çok tutarlı bir biçimde sunmasına olanak tanır; örneğin, yorum metni, KSyntaxHighlighting’in vurgulayabildiği hemen hemen tüm metin biçimlerinde aynı biçemi kullanır.
Not
Bu metin biçemlerine, sözdizim vurgulama XML tanım dosyalarında kullanılan öntanımlı biçemlerden başvurulabilir; örneğin, “Normal” özniteliği, XML dosyalarındaki “dsNormal” özniteliğine ve “DataType” ise “dsDataType”’a eşdeğerdir. Daha fazla bilgi için sözdizim vurgulama belgelendirmesindeki “Kullanılabilir Öntanımlı Biçemler” bölümüne bakın.
İpucu
Özellikle Düzenleyici Renkleri ile kombine edildiğinde iyi karşıtlık sağlayacak okunabilir renkler seçmeye dikkat edin. Daha fazla bilgi için “Metin Renklerinin Karşıtlığı” bölümüne bakın.
JSON dosyasında, ilgili text-styles anahtarının değeri bir object’e sahiptir; burada her anahtar, sözdizim vurgulama tanımlarında kullanılanlara eşdeğer olan bir öntanımlı metin biçeminin adına karşılık gelir. Burada, zorunlu olan kullanılabilir tüm metin biçemi anahtarları aşağıda listelenmiştir.
"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"
},
Diğer metin biçemi anahtarları…
}
- Öntanımlı metin biçeminin her bir anahtarının bir JSON nesnesi olan değerleri vardır; buralarda; örneğin, color, bold, italic, vb. değerler belirtilirler. Bu anahtarlar aşağıda listelenmiştir:
text-color: Metin renginin onaltılık bir renk kodunda olduğu bir dizidir. Bu anahtar/değer zorunludur.selected-text-color: Seçili olan metin renginin değeri genelde “text-color” ile aynıdır. Metin seçiliyken, arka plan, Düzenleyici Renkleri’nin TextSelection değeriyle belirlenir, bundan dolayı, metnin iyi bir karşıtlığa sahip olduğundan ve bu arka planla okunabilir olduğundan emin olun. Değer, onaltılık renk koduna sahip bir dizidir ve zorunludur.bold: Metnin kalın olup olmadığını belirten bir Boole değeridir. Bu anahtar isteğe bağlıdır, öntanımlı değerfalse’tur.italic: Metnin yatık olup olmadığını belirten bir Boole değeridir. Bu anahtar isteğe bağlıdır, öntanımlı değerfalse’tur.underline: Metnin altı çizili olup olmadığını belirten bir Boole değeridir. Bu anahtar isteğe bağlıdır, öntanımlı değerfalse’tur.strike-through: Metnin üzeri çizili olup olmadığını belirten bir Boole değeridir. Bu anahtar isteğe bağlıdır, öntanımlı değerfalse’tur.background-color: Metnin arka planının belirler; örneğin, yorumlardaki uyarılar için kullanılır. Değer, onaltılık renk koduna sahip bir dizidir. Bu anahtar isteğe bağlıdır ve öntanımlı olarak bir arka plan yoktur.selected-background-color: Metnin seçiliyken arka planının belirler. Değer, onaltılık renk koduna sahip bir dizidir. Bu anahtar isteğe bağlıdır ve öntanımlı olarak bir arka plan yoktur.
KTextEditor renk temalarını yönetmek için kullanılan arayüzde, bu öznitelikler Öntanımlı Metin Biçemleri sekmesinde değiştirilebilir. Biçem listesindeki ad, öge için yapılandırılan biçemi kullanır ve bir biçemi yapılandırırken size anında bir önizleme sağlar. Her biçem, ortak özelliklerin yanı sıra ön plan ve arka plan renklerini de seçmenize olanak tanır. Bir arka plan rengini kaldırmak için bağlam menüsünü kullanmak üzere sağ tıklayın.
Kullanılabilir metin biçemi anahtarları aşağıda listelenmiştir; JSON dosyasında kullanılan anahtarlar kalın ile, grafik arayüzde kullanılan adlar ise farklılarsa parantez içinde gösterilirler.
- Normal Metin ve Kaynak Kodu
Normal: Özel vurgulama olmadan normal metin ve kaynak kodu için öntanımlı metin biçemi.Keyword: Yerleşik dil anahtar sözcükleri için metin biçemi.Function: İşlev tanımları ve çağrıları için metin biçemi.Variable: Kullanılabiliyorsa değişkenler için metin biçemi. Örneğin, PHP/Perl değişkenleri genellikle bir$ile başlar, bundan dolayı$foodizgisine uyan tüm tanımlayıcılar değişken olarak vurgulanırlar.ControlFlow(Denetim Akışı): if, then, else, return, switch, break, yield, continue, vb. gibi denetim akışı anahtar sözcükleri için metin biçemi.Operator:+,-,*,/,%, vb. gibi işleçler için metin biçemi.BuiltIn(Yerleşik): Yerleşik dil sınıfları, işlevleri ve nesneleri için metin biçemi.Extension: İyi bilinen uzantılar; örneğin, Qt™ sınıfları, C++ işlevleri/makroları vb. için metin biçemi.Preprocessor: Önişlemci ifadeleri veya makro tanımları için metin biçemi.Attribute: Bilgi notları veya işlevlerin veya nesnelerin öznitelikleri için metin biçemi; örneğin, Java’daki@overrideveya C++’daki__declspec(…)ve__attribute__((…)).- Sayılar, Türler ve Sabitler
DataType(Veri Türü): int, char, float, void, u64, vb. gibi yerleşik veri türleri için metin biçemi.DecVal(Ondalık/Değer): Ondalık değerler için metin biçemi.BaseN(N Tabanlı Tamsayı): 10’dan başka bir tabanlı sayılar için metin biçemi.Float(Kayan Noktalı): Kayan noktalı sayılar için metin biçemi.Constant: Dil sabitleri ve kullanıcı tanımlı sabitler için metin biçemi; örneğin, Python’daki True, False, None veya C/C++’daki nullptr veya PI gibi matematik sabitleri.- Diziler ve Karakterler
Char(Karakter):'x'gibi tekli karakterler için metin biçemi.SpecialChar(Özel Karakter): Dizilerde kaçırılan karakterler; örneğin, “esenlikler\n” ve değiştirmeler veya düzenli ifade işleçleri gibi özel anlamlı diğer karakterler için metin biçemi.String: “merhaba dünya” gibi diziler için metin biçemi.VerbatimString(Gerçek Dizi): Gerçek veya ham diziler için metin biçemi; örneğin, Perl, CoffeeScript belgelerindeki gibi'ham \ters eğik çizgi'veya Python veya HERE belgelerindekir'\ham'gibi diziler.SpecialString(Özel Dizi): Özel diziler için metin biçemi; örneğin, ECMAScript düzenli ifadeleri, LATEX matematik kipi, SQL, vb.Import(Import’lar, Modüller, Include’lar): Include’lar, import’lar, modüller veya LATEX paketleri için metin biçemi.- Yorumlar ve Belgelendirme
Comment: Normal yorumlar için metin biçemi.Documentation: API belgelendirmesini yansıtan yorumlar için metin biçemi; örneğin,/** doxygen yorumları */veya"""docstrings""".Annotation: Yorumlardaki bilgi notları veya belgelendirme komutları için metin biçemi; örneğin, Doxygen veya JavaDoc için@param.CommentVar(Yorum Değişkeni): Yukarıdaki komutlarda bir yorumda kullanılan değişken adlarına başvuran metin biçemi; örneğin, Doxygen veya JavaDoc’ta “@param foobar” içindekifoobargibi.RegionMarker(Bölge İmleyicisi): Genellikle yorumlarda//BEGINve//ENDile tanımlanan bölge imleyicilerine yönelik metin biçemi.Information: Bilgi, notlar ve ipuçları için metin biçemi; örneğin, Doxygen@noteanahtar sözcüğü gibi.Warning: Uyarılar için metin biçemi; örneğin, Doxygen’deki@warninganahtar sözcüğü gibi.Alert: Yorumlardaki özel sözcükler için metin biçemi; örneğin,TODO,FIXME,XXXXveWARNING.- Çeşitli
Error: Hata vurgulaması ve yanlış sözdizimi belirten metin biçemi.Others: Diğer öntanımlı biçemlerden hiçbiriyle eşleşmeyen öznitelikler için metin biçemi.
Burada, önceki bölümde açıklanan öntanımlı metin biçemini geçersiz kılarak, belirli bir sözdizim vurgulama tanımı için metin biçemleri oluşturabilirsiniz.
JSON tema dosyasında bu, değeri her alt şema anahtarının bir sözdizimi vurgulama tanımının adına karşılık geldiği bir nesne olan custom-styles anahtarına karşılık gelir. Onun değeri, her bir anahtarın sözdizim tanımlama XML dosyasının itemData ögesinde tanımlı biçem öznitelikleri adına başvuran bir nesnedir. İlgili değer, text-color, selected-text-color, bold, italic, underline, strike-through, background-color ve selected-background-color anahtarlarıyla bir alt nesnedir. Bu alt nesne, bir önceki bölümde tanımlanmıştır. Bu değerlerin her biri isteğe bağlıdır; eğer yoklarsa text-styles içinde tanımlı biçem kümesi değerlendirilir.
Örneğin bu kod parçasında, “ISO C++” sözdizim vurgulama tanımında “Type Modifiers” ve “Standard Classes” öznitelikleri için özel bir metin biçemi vardır. Karşılık gelen “isocpp.xml” XML dosyasında tanımlı “Standard Classes” özniteliği BuiltIn (veya dsBuiltIn) öntanımlı biçemini kullanır. Bu öznitelikte, yalnızca text-color değerinin yeni “#6431b3” değeriyle üzerine yazılır.
"custom-styles": {
"ISO C++": {
"Standard Classes": {
"text-color": "#6431b3"
},
"Type Modifiers": {
"bold": true,
"selected-text-color": "#009183",
"text-color": "#00b5cf"
}
}
}
Not
Bu metin biçemlerinin, XML dosyalarını vurgulayan sözdizimde tanımlanan öznitelik adlarıyla ilişkili olduğunu dikkate almalısınız. Bir XML dosyası güncellenirse ve bazı nitelikler yeniden adlandırılırsa veya kaldırılırsa temada tanımlanan özel biçem artık geçerli olmayacaktır.
Sözdizim vurgulama tanımları genellikle başka tanımları da içerir. Örneğin, “QML” vurgulayıcısı, “JavaScript” vurgulayıcısını da içerir; çünkü bunlar, vurgulamadaki işlevleri paylaşırlar.
KTextEditor tema yönetim arayüzünde, bu öznitelikler Vurgulama Metin Biçemleri sekmesinde yapılandırılabilir. Öntanımlı olarak düzenleyici, geçerli belgenin vurgulamasını önceden seçer. Pek çok vurgunun, biçem listesindeki gruplar tarafından temsil edilen diğer vurguları içerdiğini fark edeceksiniz. Örneğin, öne çıkanların çoğu “Alert” vurgusunu içe aktarır ve birçok kaynak kodu biçimi de “Doxygen” vurgusunu içe aktarır.
Renk temaları oluşturmanın ve düzenlemenin en basit yolu, KTextEditor tarafından sağlanan “Yapılandırma” iletişim kutusunu kullanmaktır. Ona erişmek için düzenleyicinizdeki menü çubuğundan → yolunu izleyin. Bu, Yapılandır iletişim kutusunu getirir; burada kenar çubuğundaki Renk Temaları girdisini seçin.

Kate’in renk teması yönetimini gösteren ayarlar iletişim kutusu.
Bu iletişim kutusunda, sahip olduğunuz tüm temalardaki tüm renkleri düzenleyebilir, yeni temalar oluşuturabilir/kopyalayabilir, onları silebilir, onları JSON biçimindeki bir .theme dosyasına dışa aktarabilir veya başka .theme dosyalarından içe aktarabilirsiniz. Her bir temanın metin renkleri ve biçemleri için ayarları vardır.
Öntanımlı olarak yerleşik temalar değiştirilemez. Bunu yapmak için bunları kopyalamanız ve onlara yeni bir ad vermeniz gerekir.
Bir temayı metin düzenleyicinizde kalıcı olarak kullanmak için öncelikle onu iletişim kutusunun altındaki Uygulama için öntanımlı tema bölümünde seçmeli ve veya düğmelerine basmalısınız. Öntanımlı olarak, Kendiliğinden seçim seçeneği etkindir; bu, metin düzenleme uygulamasında kullanılan KDE Plasma™ renk şemasına daha uygun bir temayı seçer. Şema açık veya koyuysa, genellikle sırasıyla “Esinti Açık” ve “Esinti Koyu” temaları arasında geçiş yapılır.
İpucu
KDE global renk şemasını Sistem Ayarları içindeki “Renkler” modülünde ayarlayabilirsiniz. Bunu, Kate veya KDevelop gibi bazı uygulamalarda → menüsünden bireysel olarak değiştirebilirsiniz.
Yeni bir tema oluşturmak için öncelikle var olan bir tanesini kopyalamanız gerekir. “Esinti Açık” veya “Esinti Koyu” gibi temel olarak kullanmak istediğiniz var olan bir temayı seçin ve ’ya tıklayın. Daha sonra yeni tema için bir ad yazın.
Yerleşik veya saltokunur bir temayı değiştirmek istiyorsanız önce onu farklı bir adla kopyalamanız gerekir.
Seçili bir temayı (yerleşik olanları da) bir JSON dosyasına .theme uzantısıyla düğmesini kullanarak dışa aktarabilirsiniz. Bu, dosyayı kaydetmek için bir iletişim kutusu açacaktır. Başka dış bir JSON dosyasından bir renk teması eklemek için düğmesine basın ve iletişim kutusundan .theme dosyasını seçin.
İpucu
Yukarıda belirtildiği üzere, kullanıcı tanımlı tema dosyaları
org.kde.syntax-highlighting/themes/dizininde depolanırlar. Bir tema oluşturduğunuzda veya kopyaladığınızda orada kendiliğinden oluşur. Ek olarak, bir tema içe aktarmak veya eklemek, bir.themedosyasını bu dizine koymakla eşdeğerdir. KSyntaxHighlighting, bu dizinden renk teması dosyalarını kendiliğinden alır.Sizin tarafınızdan oluşturulan bir temayı yayımlamak istiyorsanız JSON dosyasının metadata nesnesine ilgili lisansı eklemeniz ve revizyon numarasını denetlemeniz önemlidir.
Burada, metin düzenleme alanının renkleri düzenlenirken görebilirsiniz. Bunlar, “Düzenleyici Renkleri” bölümünde ayrıntılı olarak açıklanmıştır.
Öntanımlı metin biçemleri, vurgulanan metin biçemleri tarafından devralınır ve bu, düzenleyicinin metni çok tutarlı bir biçimde sunmasına olanak tanır; örneğin, yorum metni, KSyntaxHighlighting’in vurgulayabildiği hemen hemen tüm metin biçimlerinde aynı biçemi kullanır.
Biçem listesindeki ad, öge için yapılandırılan biçemi kullanır ve bir biçemi yapılandırırken size anında bir önizleme sağlar.
Her biçem, ortak özelliklerin yanı sıra ön plan ve arka plan renklerini de seçmenize olanak tanır. Bir arka plan rengini kaldırmak için bağlam menüsünü kullanmak üzere sağ tıklayın.
Bu bölümün öznitelikleri “Öntanımlı Metin Biçemleri” bölümünde ayrıntılı olarak açıklanmıştır.
Burada, belirli bir vurgu tanımı tarafından kullanılan metin biçemlerini düzenleyebilirsiniz. Düzenleyici, geçerli belgenizin kullandığı vurguyu önceden seçer. Farklı bir vurgu üzerinde çalışmak için biçem listesinin üzerindeki Vurgula çoklu kutusundan birini seçin.
Biçem listesindeki ad, öge için yapılandırılan biçemi kullanır ve bir biçemi yapılandırırken size anında bir önizleme sağlar.
Her biçem, ortak özelliklerin yanı sıra ön plan ve arka plan renklerini de seçmenize olanak tanır. Bir arka plan rengini kaldırmak için bağlam menüsünü kullanmak üzere sağ tıklayın. Ayrıca bir biçemin, öge için kullanılan öntanımlı biçeme eşit olup olmadığını görebilir ve değilse bunu buna ayarlayabilirsiniz.
Pek çok vurgunun, biçem listesindeki gruplar tarafından temsil edilen diğer vurguları içerdiğini fark edeceksiniz. Örneğin, çoğu vurgu, Uyarı vurgusunu içe aktarır ve birçok kaynak kodu biçimi, Doxygen vurgusunu içe aktarır. Bu gruplardaki renkleri düzenlemek, yalnızca düzenlenen vurgu biçiminde kullanıldığında biçemleri etkiler.
Renk temalarıyla çalışırken önemli bir konu, özellikle arka planla birlikte okumayı kolaylaştıracak bir metin karşıtlığı seçmektir.
Kontrast uygulaması bir renk karşıtlığı denetleyicisidir. Size metin rengi ve arka plan rengi kombinasyonlarının okunabilir ve erişilebilir olduğunu söyler; dolayısıyla bu, renk temaları oluşturmanıza yardımcı olacak mükemmel bir araçtır.
Kontrast uygulamasını from KDE uygulamaları web sitesinden veya Flathub’daki Flatpak paketiyle indirebilirsiniz (yalnızca GNU/Linux).
GNOME Contrast uygulaması da benzer bir uygulamadır. Flathub’daki Flatpak paketiyle indirebilirsiniz (yalnızca GNU/Linux).
Syntax Highlighting deposundaki bir Python betiği, bir temadaki tüm renkleri ve tüm arka planlardaki karşıtlığı ayarlamanıza olanak tanır.
KSyntaxHighlighting, 300’den fazla sözdizimi vurgulama tanımı içerir, bu nedenle yeni temanızın tüm sözdizim vurgulama tanımlarında iyi göründüğünden emin olmanız idealdir. Yerleşik renk temaları, tüm sözdizim vurgulama tanımlarının doğru bir şekilde görüntülenmesini sağlamak için takip edilmesi önerilen (ancak zorunlu olmayan) aşağıdaki benzerliklere sahiptir:
“Keyword” ve “ControlFlow” metin biçemleri için kalın metin kullanın.
“Alert” ve “RegionMarker” dışındaki herhangi bir metin biçeminde arka plan rengi kullanmayın.
Çoğu sözdizim vurgulayıcı, öntanımlı “Esinti Açık” ve “Esinti Koyu” temalarında güzel görünmesi için tasarlanmıştır; dolayısıyla, tutarlılığı korumanın bir başka yolu da metin biçemlerinde benzer renkler kullanmaktır; örneğin, “Preprocessor” ve “Others” için yeşil; “DataType” ve “Attribute” için mavi veya “Function” için mor.
Bir tema oluştururken ve yayımlarken bu önerilerin zorunlu olmadığını unutmayın.