- enhancement: new color scheme Monokai (contributed by 小龙Dev)
- enhancemnet: add "Reserve word for Types" item in color scheme
This commit is contained in:
parent
ac23d89fbe
commit
ed8b0a4c55
|
@ -25,4 +25,10 @@ author: Alan-CRL
|
|||
|
||||
### Theme Contrast
|
||||
|
||||
author: Alan-CRL
|
||||
author: Alan-CRL
|
||||
|
||||
## Color Schemes
|
||||
|
||||
### Monokai
|
||||
|
||||
author: СÁúDev
|
5
NEWS.md
5
NEWS.md
|
@ -1,3 +1,8 @@
|
|||
Red Panda C++ Version 2.5
|
||||
|
||||
- enhancement: new color scheme Monokai (contributed by 小龙Dev)
|
||||
- enhancemnet: add "Reserve word for Types" item in color scheme
|
||||
|
||||
Red Panda C++ Version 2.4
|
||||
|
||||
- fix: Contents in class browser not correctly updated when close the last editor for project.
|
||||
|
|
|
@ -40,6 +40,12 @@ PColorScheme ColorScheme::fromJson(const QJsonObject &json)
|
|||
scheme->mItems[key]=ColorSchemeItem::fromJson(json[key].toObject());
|
||||
}
|
||||
}
|
||||
//backward compatibility (for config files version < 2.5)
|
||||
if (!scheme->mItems.contains(SYNS_AttrReserveWord_Type)
|
||||
&& scheme->mItems.contains(SYNS_AttrIdentifier)) {
|
||||
scheme->mItems.insert(SYNS_AttrReserveWord_Type,
|
||||
ColorSchemeItem::fromJson(json[SYNS_AttrReservedWord].toObject()));
|
||||
}
|
||||
return scheme;
|
||||
}
|
||||
|
||||
|
@ -483,6 +489,10 @@ void ColorManager::initItemDefines()
|
|||
QObject::tr("Reserve Word"),
|
||||
QObject::tr("Syntax"),
|
||||
true,true,true);
|
||||
addDefine(SYNS_AttrReserveWord_Type,
|
||||
QObject::tr("Reserve Word for Types"),
|
||||
QObject::tr("Syntax"),
|
||||
true,true,true);
|
||||
addDefine(SYNS_AttrSpace,
|
||||
QObject::tr("Space"),
|
||||
QObject::tr("Syntax"),
|
||||
|
@ -719,6 +729,11 @@ void ColorManager::updateStatementColors(std::shared_ptr<QHash<StatementKind, st
|
|||
if (item) {
|
||||
statementColors->insert(StatementKind::skKeyword,item);
|
||||
statementColors->insert(StatementKind::skUserCodeSnippet,item);
|
||||
statementColors->insert(StatementKind::skKeywordType,item);
|
||||
}
|
||||
item = getItem(schemeName, SYNS_AttrReserveWord_Type);
|
||||
if (item) {
|
||||
statementColors->insert(StatementKind::skKeywordType,item);
|
||||
}
|
||||
item = getItem(schemeName, SYNS_AttrString);
|
||||
if (item) {
|
||||
|
|
|
@ -133,6 +133,13 @@
|
|||
"strikeout": false,
|
||||
"underlined": false
|
||||
},
|
||||
"Reserve Word for Types": {
|
||||
"bold": true,
|
||||
"foreground": "#ff065cf0",
|
||||
"italic": false,
|
||||
"strikeout": false,
|
||||
"underlined": false
|
||||
},
|
||||
"Illegal Char": {
|
||||
"bold": false,
|
||||
"foreground": "#ffff0000",
|
||||
|
|
|
@ -0,0 +1,264 @@
|
|||
{
|
||||
"Active Breakpoint": {
|
||||
"background": "#ff33cccc",
|
||||
"bold": false,
|
||||
"foreground": "#ffffffff",
|
||||
"italic": false,
|
||||
"strikeout": false,
|
||||
"underlined": false
|
||||
},
|
||||
"Active Line": {
|
||||
"background": "#ff323232",
|
||||
"bold": false,
|
||||
"italic": false,
|
||||
"strikeout": false,
|
||||
"underlined": false
|
||||
},
|
||||
"Assembler": {
|
||||
"bold": false,
|
||||
"foreground": "#ff79abff",
|
||||
"italic": false,
|
||||
"strikeout": false,
|
||||
"underlined": false
|
||||
},
|
||||
"Breakpoint": {
|
||||
"bold": false,
|
||||
"italic": false,
|
||||
"strikeout": false,
|
||||
"underlined": false
|
||||
},
|
||||
"Character": {
|
||||
"bold": false,
|
||||
"foreground": "#ffd25252",
|
||||
"italic": false,
|
||||
"strikeout": false,
|
||||
"underlined": false
|
||||
},
|
||||
"Class": {
|
||||
"bold": false,
|
||||
"foreground": "#ff79abff",
|
||||
"italic": false,
|
||||
"strikeout": false,
|
||||
"underlined": false
|
||||
},
|
||||
"Comment": {
|
||||
"bold": false,
|
||||
"foreground": "#ff74705d",
|
||||
"italic": false,
|
||||
"strikeout": false,
|
||||
"underlined": false
|
||||
},
|
||||
"Current Highlighted Word": {
|
||||
"background": "#3c33cccc",
|
||||
"bold": false,
|
||||
"italic": false,
|
||||
"strikeout": false,
|
||||
"underlined": false
|
||||
},
|
||||
"Editor Text": {
|
||||
"background": "#ff282923",
|
||||
"bold": false,
|
||||
"foreground": "#ffdddddd",
|
||||
"italic": false,
|
||||
"strikeout": false,
|
||||
"underlined": false
|
||||
},
|
||||
"Error": {
|
||||
"background": "#ffff2a55",
|
||||
"bold": false,
|
||||
"foreground": "#ffffffff",
|
||||
"italic": false,
|
||||
"strikeout": false,
|
||||
"underlined": false
|
||||
},
|
||||
"Escape sequences": {
|
||||
"bold": false,
|
||||
"foreground": "#ff7fb347",
|
||||
"italic": false,
|
||||
"strikeout": false,
|
||||
"underlined": false
|
||||
},
|
||||
"Float": {
|
||||
"bold": false,
|
||||
"foreground": "#ff7fb347",
|
||||
"italic": false,
|
||||
"strikeout": false,
|
||||
"underlined": false
|
||||
},
|
||||
"Fold Line": {
|
||||
"bold": false,
|
||||
"foreground": "#ffff9900",
|
||||
"italic": false,
|
||||
"strikeout": false,
|
||||
"underlined": false
|
||||
},
|
||||
"Function": {
|
||||
"bold": false,
|
||||
"foreground": "#ff8dd300",
|
||||
"italic": false,
|
||||
"strikeout": false,
|
||||
"underlined": false
|
||||
},
|
||||
"Global variable": {
|
||||
"bold": false,
|
||||
"foreground": "#ffbed6ff",
|
||||
"italic": false,
|
||||
"strikeout": false,
|
||||
"underlined": false
|
||||
},
|
||||
"Gutter": {
|
||||
"background": "#ff323232",
|
||||
"bold": false,
|
||||
"foreground": "#ffd0d0d0",
|
||||
"italic": false,
|
||||
"strikeout": false,
|
||||
"underlined": false
|
||||
},
|
||||
"Gutter Active Line": {
|
||||
"bold": false,
|
||||
"foreground": "#ffaaaaff",
|
||||
"italic": false,
|
||||
"strikeout": false,
|
||||
"underlined": false
|
||||
},
|
||||
"Hexadecimal": {
|
||||
"bold": false,
|
||||
"foreground": "#ff7fb347",
|
||||
"italic": false,
|
||||
"strikeout": false,
|
||||
"underlined": false
|
||||
},
|
||||
"Identifier": {
|
||||
"bold": false,
|
||||
"foreground": "#ffffffff",
|
||||
"italic": false,
|
||||
"strikeout": false,
|
||||
"underlined": false
|
||||
},
|
||||
"Reserve Word for Types": {
|
||||
"bold": false,
|
||||
"foreground": "#ffffaaff",
|
||||
"italic": true,
|
||||
"strikeout": false,
|
||||
"underlined": false
|
||||
},
|
||||
"Illegal Char": {
|
||||
"bold": false,
|
||||
"foreground": "#fff44747",
|
||||
"italic": false,
|
||||
"strikeout": false,
|
||||
"underlined": false
|
||||
},
|
||||
"Indent Guide Line": {
|
||||
"bold": false,
|
||||
"foreground": "#ffc0c0c0",
|
||||
"italic": false,
|
||||
"strikeout": false,
|
||||
"underlined": false
|
||||
},
|
||||
"Local Variable": {
|
||||
"bold": false,
|
||||
"foreground": "#ffffffff",
|
||||
"italic": false,
|
||||
"strikeout": false,
|
||||
"underlined": false
|
||||
},
|
||||
"Number": {
|
||||
"bold": false,
|
||||
"foreground": "#ffaaaaff",
|
||||
"italic": false,
|
||||
"strikeout": false,
|
||||
"underlined": false
|
||||
},
|
||||
"Octal": {
|
||||
"bold": false,
|
||||
"foreground": "#ff7fb347",
|
||||
"italic": false,
|
||||
"strikeout": false,
|
||||
"underlined": false
|
||||
},
|
||||
"Preprocessor": {
|
||||
"bold": false,
|
||||
"foreground": "#ffff2a7f",
|
||||
"italic": false,
|
||||
"strikeout": false,
|
||||
"underlined": false
|
||||
},
|
||||
"Reserved Word": {
|
||||
"bold": false,
|
||||
"foreground": "#ff00ffff",
|
||||
"italic": true,
|
||||
"strikeout": false,
|
||||
"underlined": false
|
||||
},
|
||||
"Selected text": {
|
||||
"background": "#3c55aaff",
|
||||
"bold": false,
|
||||
"italic": false,
|
||||
"strikeout": false,
|
||||
"underlined": false
|
||||
},
|
||||
"Space": {
|
||||
"bold": false,
|
||||
"foreground": "#ff505050",
|
||||
"italic": false,
|
||||
"strikeout": false,
|
||||
"underlined": false
|
||||
},
|
||||
"String": {
|
||||
"bold": false,
|
||||
"foreground": "#ffe7db6a",
|
||||
"italic": false,
|
||||
"strikeout": false,
|
||||
"underlined": false
|
||||
},
|
||||
"Symbol": {
|
||||
"bold": false,
|
||||
"foreground": "#ffffffff",
|
||||
"italic": false,
|
||||
"strikeout": false,
|
||||
"underlined": false
|
||||
},
|
||||
"Variable": {
|
||||
"bold": false,
|
||||
"foreground": "#ffffffff",
|
||||
"italic": false,
|
||||
"strikeout": false,
|
||||
"underlined": false
|
||||
},
|
||||
"Warning": {
|
||||
"bold": false,
|
||||
"foreground": "#ffffaa00",
|
||||
"italic": false,
|
||||
"strikeout": false,
|
||||
"underlined": false
|
||||
},
|
||||
"brace/parenthesis/bracket level 1": {
|
||||
"bold": false,
|
||||
"foreground": "#ffff2a7f",
|
||||
"italic": false,
|
||||
"strikeout": false,
|
||||
"underlined": false
|
||||
},
|
||||
"brace/parenthesis/bracket level 2": {
|
||||
"bold": false,
|
||||
"foreground": "#ffffffff",
|
||||
"italic": false,
|
||||
"strikeout": false,
|
||||
"underlined": false
|
||||
},
|
||||
"brace/parenthesis/bracket level 3": {
|
||||
"bold": false,
|
||||
"foreground": "#ffffffff",
|
||||
"italic": false,
|
||||
"strikeout": false,
|
||||
"underlined": false
|
||||
},
|
||||
"brace/parenthesis/bracket level 4": {
|
||||
"bold": false,
|
||||
"foreground": "#ffbed6ff",
|
||||
"italic": false,
|
||||
"strikeout": false,
|
||||
"underlined": false
|
||||
}
|
||||
}
|
|
@ -1023,6 +1023,22 @@ void Editor::onPreparePaintHighlightToken(int line, int aChar, const QString &to
|
|||
|
||||
//selection
|
||||
if (highlighter() && attr) {
|
||||
if (attr == highlighter()->keywordAttribute()) {
|
||||
if (CppTypeKeywords.contains(token)) {
|
||||
PColorSchemeItem item = mStatementColors->value(StatementKind::skKeywordType,PColorSchemeItem());
|
||||
|
||||
if (item) {
|
||||
if (item->foreground().isValid())
|
||||
foreground = item->foreground();
|
||||
if (item->background().isValid())
|
||||
background = item->background();
|
||||
style.setFlag(QSynedit::FontStyle::fsBold,item->bold());
|
||||
style.setFlag(QSynedit::FontStyle::fsItalic,item->italic());
|
||||
style.setFlag(QSynedit::FontStyle::fsUnderline,item->underlined());
|
||||
style.setFlag(QSynedit::FontStyle::fsStrikeOut,item->strikeout());
|
||||
}
|
||||
}
|
||||
}
|
||||
if (((attr == highlighter()->identifierAttribute())
|
||||
|| (attr == highlighter()->keywordAttribute())
|
||||
|| (attr->name() == SYNS_AttrPreprocessor)
|
||||
|
|
|
@ -101,6 +101,7 @@ enum StatementKind {
|
|||
skBlock,
|
||||
skUserCodeSnippet, // user code template
|
||||
skKeyword, // keywords
|
||||
skKeywordType, //keywords for type (for color management)
|
||||
skAlias
|
||||
};
|
||||
|
||||
|
|
|
@ -6159,6 +6159,10 @@
|
|||
<source>C Language standard (-std)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Reserve Word for Types</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>RegisterModel</name>
|
||||
|
@ -6274,7 +6278,7 @@
|
|||
<name>SearchDialog</name>
|
||||
<message>
|
||||
<source>Dialog</source>
|
||||
<translation>Diálogo</translation>
|
||||
<translation type="vanished">Diálogo</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Text to Find:</source>
|
||||
|
@ -6282,7 +6286,7 @@
|
|||
</message>
|
||||
<message>
|
||||
<source>Replace with:</source>
|
||||
<translation>Substituir por:</translation>
|
||||
<translation type="vanished">Substituir por:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Options:</source>
|
||||
|
@ -6334,31 +6338,31 @@
|
|||
</message>
|
||||
<message>
|
||||
<source>Direction:</source>
|
||||
<translation>Direção:</translation>
|
||||
<translation type="vanished">Direção:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Forward</source>
|
||||
<translation>Avançar</translation>
|
||||
<translation type="vanished">Avançar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Backward</source>
|
||||
<translation>Retroceder</translation>
|
||||
<translation type="vanished">Retroceder</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Where:</source>
|
||||
<translation>Onde:</translation>
|
||||
<translation type="vanished">Onde:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Current File</source>
|
||||
<translation>Arquivo atual</translation>
|
||||
<translation type="vanished">Arquivo atual</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Files In Project</source>
|
||||
<translation>Arquivos no projeto</translation>
|
||||
<translation type="vanished">Arquivos no projeto</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open Files</source>
|
||||
<translation>Arquivos abertos</translation>
|
||||
<translation type="vanished">Arquivos abertos</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Find</source>
|
||||
|
@ -6366,7 +6370,7 @@
|
|||
</message>
|
||||
<message>
|
||||
<source>Cancel</source>
|
||||
<translation>Cancelar</translation>
|
||||
<translation type="vanished">Cancelar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Replace</source>
|
||||
|
@ -6429,11 +6433,11 @@
|
|||
<name>SearchInFileDialog</name>
|
||||
<message>
|
||||
<source>Find</source>
|
||||
<translation type="obsolete">Procurar</translation>
|
||||
<translation type="unfinished">Procurar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Replace</source>
|
||||
<translation type="obsolete">Substituir</translation>
|
||||
<translation type="unfinished">Substituir</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Find in files</source>
|
||||
|
@ -6463,6 +6467,54 @@
|
|||
<source>Continue Replace</source>
|
||||
<translation type="obsolete">Continuar a substituir</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Dialog</source>
|
||||
<translation type="obsolete">Diálogo</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Text to Find:</source>
|
||||
<translation type="unfinished">Texto a procurar:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Where:</source>
|
||||
<translation type="unfinished">Onde:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Current File</source>
|
||||
<translation type="unfinished">Arquivo atual</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Files In Project</source>
|
||||
<translation type="unfinished">Arquivos no projeto</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open Files</source>
|
||||
<translation type="unfinished">Arquivos abertos</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Options:</source>
|
||||
<translation type="unfinished">Opções:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Whole words only</source>
|
||||
<translation type="unfinished">Apenas palavras inteiras</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Case Sensitive</source>
|
||||
<translation type="unfinished">Sensibilidade a maiúsculas/minúsculas</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Regular Expression</source>
|
||||
<translation type="unfinished">Expressão regular</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cancel</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Search in Files</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SearchResultListModel</name>
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -5896,6 +5896,10 @@
|
|||
<source>C Language standard (-std)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Reserve Word for Types</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>RegisterModel</name>
|
||||
|
@ -6009,18 +6013,10 @@
|
|||
</context>
|
||||
<context>
|
||||
<name>SearchDialog</name>
|
||||
<message>
|
||||
<source>Dialog</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Text to Find:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Replace with:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Options:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
|
@ -6069,42 +6065,10 @@
|
|||
<source>Entire scope</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Direction:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Forward</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Backward</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Where:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Current File</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Files In Project</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open Files</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Find</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cancel</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Continue Search</source>
|
||||
<translation type="unfinished"></translation>
|
||||
|
@ -6142,6 +6106,61 @@
|
|||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SearchInFileDialog</name>
|
||||
<message>
|
||||
<source>Text to Find:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Where:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Current File</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Files In Project</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open Files</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Options:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Whole words only</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Case Sensitive</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Regular Expression</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Find</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Replace</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cancel</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Search in Files</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SearchResultListModel</name>
|
||||
<message>
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>Dialog</string>
|
||||
<string>Search in Files</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="dialogLayout">
|
||||
<property name="spacing">
|
||||
|
|
|
@ -84,6 +84,7 @@ extern const QChar SoftBreakGlyph;
|
|||
#define SYNS_AttrHexadecimal "Hexadecimal"
|
||||
#define SYNS_AttrIcon "Icon Reference"
|
||||
#define SYNS_AttrIdentifier "Identifier"
|
||||
#define SYNS_AttrReserveWord_Type "Reserve Word for Types"
|
||||
#define SYNS_AttrIllegalChar "Illegal Char"
|
||||
#define SYNS_AttrInclude "Include"
|
||||
#define SYNS_AttrIndicator "Indicator Area"
|
||||
|
|
Loading…
Reference in New Issue