SynEdit, PasHighlighter: color for procedure name in declaration/header. Issue #0033569

git-svn-id: trunk@58519 -
This commit is contained in:
martin 2018-07-14 13:56:25 +00:00
parent aa6fdbb9fa
commit 88721aeed3
20 changed files with 94 additions and 2 deletions

View File

@ -289,6 +289,10 @@ msgstr ""
msgid "Previous value"
msgstr ""
#: syneditstrconst.syns_attrprocedureheadername
msgid "Procedure header name"
msgstr ""
#: syneditstrconst.syns_attrprocessinginstr
msgid "Processing Instruction"
msgstr ""

View File

@ -291,6 +291,10 @@ msgstr "Předzpracovač"
msgid "Previous value"
msgstr "Předchozí hodnota"
#: syneditstrconst.syns_attrprocedureheadername
msgid "Procedure header name"
msgstr ""
#: syneditstrconst.syns_attrprocessinginstr
msgid "Processing Instruction"
msgstr "Instrukce zpracování"

View File

@ -293,6 +293,10 @@ msgstr "Präprozessor"
msgid "Previous value"
msgstr "Vorheriger Wert"
#: syneditstrconst.syns_attrprocedureheadername
msgid "Procedure header name"
msgstr ""
#: syneditstrconst.syns_attrprocessinginstr
msgid "Processing Instruction"
msgstr "Befehl ausführen"

View File

@ -291,6 +291,10 @@ msgstr "Prepocesador"
msgid "Previous value"
msgstr "Valor anterior"
#: syneditstrconst.syns_attrprocedureheadername
msgid "Procedure header name"
msgstr ""
#: syneditstrconst.syns_attrprocessinginstr
msgid "Processing Instruction"
msgstr "Procesando Instrución"

View File

@ -284,6 +284,10 @@ msgstr "Esikääntäjä"
msgid "Previous value"
msgstr "Edellinen arvo"
#: syneditstrconst.syns_attrprocedureheadername
msgid "Procedure header name"
msgstr ""
#: syneditstrconst.syns_attrprocessinginstr
msgid "Processing Instruction"
msgstr "Käsittelee käskyä"

View File

@ -291,6 +291,10 @@ msgstr "Préprocesseur"
msgid "Previous value"
msgstr "Valeur précédente"
#: syneditstrconst.syns_attrprocedureheadername
msgid "Procedure header name"
msgstr ""
#: syneditstrconst.syns_attrprocessinginstr
msgid "Processing Instruction"
msgstr "Instruction en cours"

View File

@ -289,6 +289,10 @@ msgstr "קדם-מעבד"
msgid "Previous value"
msgstr ""
#: syneditstrconst.syns_attrprocedureheadername
msgid "Procedure header name"
msgstr ""
#: syneditstrconst.syns_attrprocessinginstr
msgid "Processing Instruction"
msgstr "הוראות עיבוד"

View File

@ -291,6 +291,10 @@ msgstr "Előfeldolgozó"
msgid "Previous value"
msgstr "Előző érték"
#: syneditstrconst.syns_attrprocedureheadername
msgid "Procedure header name"
msgstr ""
#: syneditstrconst.syns_attrprocessinginstr
msgid "Processing Instruction"
msgstr "Feldolgozási utasítások"

View File

@ -292,6 +292,10 @@ msgstr ""
msgid "Previous value"
msgstr ""
#: syneditstrconst.syns_attrprocedureheadername
msgid "Procedure header name"
msgstr ""
#: syneditstrconst.syns_attrprocessinginstr
msgid "Processing Instruction"
msgstr ""

View File

@ -292,6 +292,10 @@ msgstr "Preprocessore"
msgid "Previous value"
msgstr "Valore precedente"
#: syneditstrconst.syns_attrprocedureheadername
msgid "Procedure header name"
msgstr ""
#: syneditstrconst.syns_attrprocessinginstr
msgid "Processing Instruction"
msgstr "Elaborazione dell'istruzione"

View File

@ -292,6 +292,10 @@ msgstr "Parengiamoji doroklė"
msgid "Previous value"
msgstr "Ankstesnė vertė"
#: syneditstrconst.syns_attrprocedureheadername
msgid "Procedure header name"
msgstr ""
#: syneditstrconst.syns_attrprocessinginstr
msgid "Processing Instruction"
msgstr "Apdorojamoji komanda"

View File

@ -289,6 +289,10 @@ msgstr ""
msgid "Previous value"
msgstr ""
#: syneditstrconst.syns_attrprocedureheadername
msgid "Procedure header name"
msgstr ""
#: syneditstrconst.syns_attrprocessinginstr
msgid "Processing Instruction"
msgstr ""

View File

@ -293,6 +293,10 @@ msgstr ""
msgid "Previous value"
msgstr ""
#: syneditstrconst.syns_attrprocedureheadername
msgid "Procedure header name"
msgstr ""
#: syneditstrconst.syns_attrprocessinginstr
msgid "Processing Instruction"
msgstr ""

View File

@ -281,6 +281,10 @@ msgstr ""
msgid "Previous value"
msgstr ""
#: syneditstrconst.syns_attrprocedureheadername
msgid "Procedure header name"
msgstr ""
#: syneditstrconst.syns_attrprocessinginstr
msgid "Processing Instruction"
msgstr ""

View File

@ -291,6 +291,10 @@ msgstr "Pré-processador"
msgid "Previous value"
msgstr "Valor anterior"
#: syneditstrconst.syns_attrprocedureheadername
msgid "Procedure header name"
msgstr ""
#: syneditstrconst.syns_attrprocessinginstr
msgid "Processing Instruction"
msgstr "Processando Instrução"

View File

@ -291,6 +291,10 @@ msgstr "Команда препроцессора"
msgid "Previous value"
msgstr "Предыдущее значение"
#: syneditstrconst.syns_attrprocedureheadername
msgid "Procedure header name"
msgstr ""
#: syneditstrconst.syns_attrprocessinginstr
msgid "Processing Instruction"
msgstr "Инструкция обработки"

View File

@ -293,6 +293,10 @@ msgstr "Препроцесор"
msgid "Previous value"
msgstr "Попереднє значення"
#: syneditstrconst.syns_attrprocedureheadername
msgid "Procedure header name"
msgstr ""
#: syneditstrconst.syns_attrprocessinginstr
msgid "Processing Instruction"
msgstr "Інструкція обробки"

View File

@ -292,6 +292,10 @@ msgstr "预处理程序"
msgid "Previous value"
msgstr "前一个值"
#: syneditstrconst.syns_attrprocedureheadername
msgid "Procedure header name"
msgstr ""
#: syneditstrconst.syns_attrprocessinginstr
msgid "Processing Instruction"
msgstr "处理指令"

View File

@ -126,6 +126,7 @@ resourcestring
SYNS_AttrSQLPlus = 'SQL*Plus command';
SYNS_AttrString = 'String';
SYNS_AttrSymbol = 'Symbol';
SYNS_AttrProcedureHeaderName = 'Procedure header name';
SYNS_AttrCaseLabel = 'Case label';
SYNS_AttrSyntaxError = 'SyntaxError';
SYNS_AttrSystem = 'System functions and variables';
@ -243,6 +244,7 @@ const
SYNS_XML_AttrSQLPlus = 'SQL*Plus command';
SYNS_XML_AttrString = 'String';
SYNS_XML_AttrSymbol = 'Symbol';
SYNS_XML_AttrProcedureHeaderName = 'Procedure header name';
SYNS_XML_AttrCaseLabel = 'Case label';
SYNS_XML_AttrSyntaxError = 'SyntaxError';
SYNS_XML_AttrSystem = 'System functions and variables';

View File

@ -317,6 +317,8 @@ type
fAsmStart: Boolean;
FExtendedKeywordsMode: Boolean;
FNestedComments: boolean;
FProcedureHeaderNameAttr: TSynHighlighterAttributesModifier;
FCurProcedureHeaderNameAttr: TSynSelectedColorMergeResult;
FStartCodeFoldBlockLevel: integer; // TODO: rename FStartNestedFoldBlockLevel
FPasStartLevel: Smallint;
fRange: TRangeStates;
@ -606,6 +608,8 @@ type
write fStringAttri;
property SymbolAttri: TSynHighlighterAttributes read fSymbolAttri
write fSymbolAttri;
property ProcedureHeaderName: TSynHighlighterAttributesModifier read FProcedureHeaderNameAttr
write FProcedureHeaderNameAttr;
property CaseLabelAttri: TSynHighlighterAttributesModifier read FCaseLabelAttri
write FCaseLabelAttri;
property DirectiveAttri: TSynHighlighterAttributes read fDirectiveAttri
@ -2412,7 +2416,7 @@ begin
AddAttribute(fCommentAttri);
FIDEDirectiveAttri := TSynHighlighterAttributesModifier.Create(@SYNS_AttrIDEDirective, SYNS_XML_AttrIDEDirective);
AddAttribute(FIDEDirectiveAttri);
// FCurIDEDirectiveAttri, FCurCaseLabelAttri
// FCurIDEDirectiveAttri, FCurCaseLabelAttri, FCurProcedureHeaderNameAttr
// They are not available through the "Attribute" property (not added via AddAttribute
// But they are returned via GetTokenAttribute, so they should have a name.
FCurIDEDirectiveAttri := TSynSelectedColorMergeResult.Create(@SYNS_AttrIDEDirective, SYNS_XML_AttrIDEDirective);
@ -2429,9 +2433,12 @@ begin
AddAttribute(fStringAttri);
fSymbolAttri := TSynHighlighterAttributes.Create(@SYNS_AttrSymbol, SYNS_XML_AttrSymbol);
AddAttribute(fSymbolAttri);
FProcedureHeaderNameAttr := TSynHighlighterAttributesModifier.Create(@SYNS_AttrProcedureHeaderName, SYNS_XML_AttrProcedureHeaderName);
AddAttribute(FProcedureHeaderNameAttr);
FCaseLabelAttri := TSynHighlighterAttributesModifier.Create(@SYNS_AttrCaseLabel, SYNS_XML_AttrCaseLabel);
AddAttribute(FCaseLabelAttri);
FCurCaseLabelAttri := TSynSelectedColorMergeResult.Create(@SYNS_AttrCaseLabel, SYNS_XML_AttrCaseLabel);
FCurProcedureHeaderNameAttr := TSynSelectedColorMergeResult.Create(@SYNS_AttrProcedureHeaderName, SYNS_XML_AttrProcedureHeaderName);
fDirectiveAttri := TSynHighlighterAttributes.Create(@SYNS_AttrDirective, SYNS_XML_AttrDirective);
fDirectiveAttri.Style:= [fsItalic];
AddAttribute(fDirectiveAttri);
@ -2450,6 +2457,7 @@ begin
DestroyDividerDrawConfig;
FreeAndNil(FCurCaseLabelAttri);
FreeAndNil(FCurIDEDirectiveAttri);
FreeAndNil(FCurProcedureHeaderNameAttr);
inherited Destroy;
end;
@ -3292,6 +3300,16 @@ begin
FCurCaseLabelAttri.Merge(FCaseLabelAttri);
Result := FCurCaseLabelAttri;
end;
if (GetTokenID in [tkIdentifier, tkSymbol]) and
(fRange * [rsInProcHeader, rsAfterEqualOrColon, rsAfterEqual] = [rsInProcHeader]) and
(FOldRange * [rsAfterEqualOrColon, rsAfterEqual] = []) and
(PasCodeFoldRange.BracketNestLevel = 0)
then begin
FCurProcedureHeaderNameAttr.Assign(Result);
FCurProcedureHeaderNameAttr.Merge(FProcedureHeaderNameAttr);
Result := FCurProcedureHeaderNameAttr;
end;
end;
function TSynPasSyn.GetTokenKind: integer;
@ -3851,7 +3869,7 @@ begin
Result := TLazSynFoldNodeInfoList.Create;
end;
procedure TSynPasSyn.ScanFoldNodeInfo;
procedure TSynPasSyn.ScanFoldNodeInfo();
var
nd: PSynFoldNodeInfo;
i: Integer;