From 9533df3f3ee4a2ea256f95ef00d01262e432de02 Mon Sep 17 00:00:00 2001 From: martin Date: Sat, 14 Dec 2013 13:40:04 +0000 Subject: [PATCH] SynEdit: additions to GetDefaultAttribute. Experimental. git-svn-id: trunk@43540 - --- components/synedit/synedithighlighter.pp | 13 ++++++++++++- components/synedit/synhighlighterany.pas | 3 +++ components/synedit/synhighlighterbat.pas | 2 ++ components/synedit/synhighlightercpp.pp | 3 +++ components/synedit/synhighlightercss.pas | 1 + components/synedit/synhighlighterini.pas | 1 + components/synedit/synhighlighterjava.pas | 1 + components/synedit/synhighlighterlfm.pas | 1 + components/synedit/synhighlighterpas.pp | 3 +++ components/synedit/synhighlighterperl.pas | 2 ++ components/synedit/synhighlighterphp.pas | 2 ++ components/synedit/synhighlighterpython.pas | 1 + components/synedit/synhighlightersql.pas | 2 ++ .../synedit/synhighlighterunixshellscript.pas | 2 ++ components/synedit/synhighlightervb.pas | 1 + 15 files changed, 37 insertions(+), 1 deletion(-) diff --git a/components/synedit/synedithighlighter.pp b/components/synedit/synedithighlighter.pp index 62ca32b782..a67410701c 100644 --- a/components/synedit/synedithighlighter.pp +++ b/components/synedit/synedithighlighter.pp @@ -238,12 +238,22 @@ type TSynHighlighterCapabilities = set of TSynHighlighterCapability; const + { EXPERIMENTAL: A list of some typical attributes. + This may be returned by a Highlighter via GetDefaultAttribute. Implementation + is optional for each HL. So a HL may return nil even if it has an attribute + of the requested type. + This list does *not* aim to be complete. It may be replaced in future. + } SYN_ATTR_COMMENT = 0; SYN_ATTR_IDENTIFIER = 1; SYN_ATTR_KEYWORD = 2; SYN_ATTR_STRING = 3; SYN_ATTR_WHITESPACE = 4; - SYN_ATTR_SYMBOL = 5; //mh 2001-09-13 + SYN_ATTR_SYMBOL = 5; + SYN_ATTR_NUMBER = 6; + SYN_ATTR_DIRECTIVE = 7; + SYN_ATTR_ASM = 8; + SYN_ATTR_VARIABLE = 9; type @@ -418,6 +428,7 @@ type property Capabilities: TSynHighlighterCapabilities read FCapabilities; property SampleSource: string read GetSampleSource write SetSampleSource; + // The below should be depricated and moved to those HL that actually implement them. property CommentAttribute: TSynHighlighterAttributes index SYN_ATTR_COMMENT read GetDefaultAttribute; property IdentifierAttribute: TSynHighlighterAttributes diff --git a/components/synedit/synhighlighterany.pas b/components/synedit/synhighlighterany.pas index beb043b236..b1b86527e5 100644 --- a/components/synedit/synhighlighterany.pas +++ b/components/synedit/synhighlighterany.pas @@ -786,6 +786,9 @@ begin SYN_ATTR_KEYWORD: Result := fKeyAttri; SYN_ATTR_STRING: Result := fStringAttri; SYN_ATTR_WHITESPACE: Result := fSpaceAttri; + SYN_ATTR_SYMBOL: Result := fSymbolAttri; + SYN_ATTR_NUMBER: Result := fNumberAttri; + SYN_ATTR_DIRECTIVE: Result := fPreprocessorAttri; else Result := nil; end; diff --git a/components/synedit/synhighlighterbat.pas b/components/synedit/synhighlighterbat.pas index af05e1acf5..8bdcde7a5e 100644 --- a/components/synedit/synhighlighterbat.pas +++ b/components/synedit/synhighlighterbat.pas @@ -534,6 +534,8 @@ begin SYN_ATTR_IDENTIFIER: Result := fIdentifierAttri; SYN_ATTR_KEYWORD: Result := fKeyAttri; SYN_ATTR_WHITESPACE: Result := fSpaceAttri; + SYN_ATTR_NUMBER: Result := fNumberAttri; + SYN_ATTR_VARIABLE: Result := fVariableAttri; else Result := nil; end; diff --git a/components/synedit/synhighlightercpp.pp b/components/synedit/synhighlightercpp.pp index e482059038..49e743f676 100644 --- a/components/synedit/synhighlightercpp.pp +++ b/components/synedit/synhighlightercpp.pp @@ -1444,6 +1444,9 @@ begin SYN_ATTR_KEYWORD: Result := fKeyAttri; SYN_ATTR_STRING: Result := fStringAttri; SYN_ATTR_WHITESPACE: Result := fSpaceAttri; + SYN_ATTR_NUMBER: Result := fNumberAttri; + SYN_ATTR_DIRECTIVE: Result := fDirecAttri; + SYN_ATTR_ASM: Result := fAsmAttri; else Result := nil; end; end; diff --git a/components/synedit/synhighlightercss.pas b/components/synedit/synhighlightercss.pas index 2efda36f64..989c9c7560 100644 --- a/components/synedit/synhighlightercss.pas +++ b/components/synedit/synhighlightercss.pas @@ -1882,6 +1882,7 @@ begin SYN_ATTR_STRING : Result := FStringAttri; SYN_ATTR_WHITESPACE: Result := FSpaceAttri; SYN_ATTR_SYMBOL : Result := FSymbolAttri; + SYN_ATTR_NUMBER : Result := fNumberAttri; else Result := nil; end; diff --git a/components/synedit/synhighlighterini.pas b/components/synedit/synhighlighterini.pas index 34910a50b1..2978814738 100644 --- a/components/synedit/synhighlighterini.pas +++ b/components/synedit/synhighlighterini.pas @@ -353,6 +353,7 @@ begin SYN_ATTR_STRING: Result := fStringAttri; SYN_ATTR_WHITESPACE: Result := fSpaceAttri; SYN_ATTR_SYMBOL: Result := fSymbolAttri; + SYN_ATTR_NUMBER: Result := fNumberAttri; else Result := nil; end; diff --git a/components/synedit/synhighlighterjava.pas b/components/synedit/synhighlighterjava.pas index 8a2f74cd55..f8472be8b0 100644 --- a/components/synedit/synhighlighterjava.pas +++ b/components/synedit/synhighlighterjava.pas @@ -1279,6 +1279,7 @@ begin SYN_ATTR_STRING: Result := fStringAttri; SYN_ATTR_WHITESPACE: Result := fSpaceAttri; SYN_ATTR_SYMBOL: Result := fSymbolAttri; + SYN_ATTR_NUMBER: Result := fNumberAttri; else Result := nil; end; end; diff --git a/components/synedit/synhighlighterlfm.pas b/components/synedit/synhighlighterlfm.pas index bace628324..00063938a4 100644 --- a/components/synedit/synhighlighterlfm.pas +++ b/components/synedit/synhighlighterlfm.pas @@ -522,6 +522,7 @@ begin SYN_ATTR_STRING: Result := fStringAttri; SYN_ATTR_WHITESPACE: Result := fSpaceAttri; SYN_ATTR_SYMBOL: Result := fSymbolAttri; + SYN_ATTR_NUMBER: Result := fNumberAttri; else Result := nil; end; diff --git a/components/synedit/synhighlighterpas.pp b/components/synedit/synhighlighterpas.pp index 807854c712..7720e68888 100644 --- a/components/synedit/synhighlighterpas.pp +++ b/components/synedit/synhighlighterpas.pp @@ -3031,6 +3031,9 @@ begin SYN_ATTR_KEYWORD: Result := fKeyAttri; SYN_ATTR_STRING: Result := fStringAttri; SYN_ATTR_WHITESPACE: Result := fSpaceAttri; + SYN_ATTR_NUMBER: Result := fNumberAttri; + SYN_ATTR_DIRECTIVE: Result := fDirectiveAttri; + SYN_ATTR_ASM: Result := fAsmAttri; else Result := nil; end; diff --git a/components/synedit/synhighlighterperl.pas b/components/synedit/synhighlighterperl.pas index a9348ebb2a..fce5097c94 100644 --- a/components/synedit/synhighlighterperl.pas +++ b/components/synedit/synhighlighterperl.pas @@ -2515,6 +2515,8 @@ begin SYN_ATTR_STRING: Result := fStringAttri; SYN_ATTR_WHITESPACE: Result := fSpaceAttri; SYN_ATTR_SYMBOL: Result := fSymbolAttri; + SYN_ATTR_NUMBER: Result := fNumberAttri; + SYN_ATTR_VARIABLE: Result := fVariableAttri; else Result := nil; end; diff --git a/components/synedit/synhighlighterphp.pas b/components/synedit/synhighlighterphp.pas index 5370766980..6044795d61 100644 --- a/components/synedit/synhighlighterphp.pas +++ b/components/synedit/synhighlighterphp.pas @@ -1328,6 +1328,8 @@ begin SYN_ATTR_STRING: Result := fStringAttri; SYN_ATTR_WHITESPACE: Result := fSpaceAttri; SYN_ATTR_SYMBOL: Result := fSymbolAttri; + SYN_ATTR_NUMBER: Result := fNumberAttri; + SYN_ATTR_VARIABLE: Result := fVariableAttri; else Result := nil; end; diff --git a/components/synedit/synhighlighterpython.pas b/components/synedit/synhighlighterpython.pas index 86b6495252..7d3cdd7fbb 100644 --- a/components/synedit/synhighlighterpython.pas +++ b/components/synedit/synhighlighterpython.pas @@ -1132,6 +1132,7 @@ begin SYN_ATTR_KEYWORD: Result := fKeyAttri; SYN_ATTR_WHITESPACE: Result := fSpaceAttri; SYN_ATTR_SYMBOL: Result := fSymbolAttri; + SYN_ATTR_NUMBER: Result := fNumberAttri; else Result := nil; end; diff --git a/components/synedit/synhighlightersql.pas b/components/synedit/synhighlightersql.pas index e2863dc728..8adce653a8 100644 --- a/components/synedit/synhighlightersql.pas +++ b/components/synedit/synhighlightersql.pas @@ -1562,6 +1562,8 @@ begin SYN_ATTR_STRING: Result := fStringAttri; SYN_ATTR_WHITESPACE: Result := fSpaceAttri; SYN_ATTR_SYMBOL: Result := fSymbolAttri; + SYN_ATTR_NUMBER: Result := fNumberAttri; + SYN_ATTR_VARIABLE: Result := fVariableAttri; else Result := nil; end; diff --git a/components/synedit/synhighlighterunixshellscript.pas b/components/synedit/synhighlighterunixshellscript.pas index 5ce04ab69b..896c62cec4 100644 --- a/components/synedit/synhighlighterunixshellscript.pas +++ b/components/synedit/synhighlighterunixshellscript.pas @@ -657,6 +657,8 @@ begin SYN_ATTR_KEYWORD: Result := fKeyAttri; SYN_ATTR_STRING: Result := fStringAttri; SYN_ATTR_WHITESPACE: Result := fSpaceAttri; + SYN_ATTR_NUMBER: Result := fNumberAttri; + SYN_ATTR_VARIABLE: Result := fVarAttri; else Result := nil; end; diff --git a/components/synedit/synhighlightervb.pas b/components/synedit/synhighlightervb.pas index 26037093a2..323017a290 100644 --- a/components/synedit/synhighlightervb.pas +++ b/components/synedit/synhighlightervb.pas @@ -1171,6 +1171,7 @@ begin SYN_ATTR_STRING: Result := fStringAttri; SYN_ATTR_WHITESPACE: Result := fSpaceAttri; SYN_ATTR_SYMBOL: Result := fSymbolAttri; + SYN_ATTR_NUMBER: Result := fNumberAttri; else Result := nil; end;