From 995e509d3208cee8a33d451be5859e9718e3b600 Mon Sep 17 00:00:00 2001 From: martin Date: Mon, 29 Oct 2018 20:47:52 +0000 Subject: [PATCH] EditorOpts: refactor git-svn-id: trunk@59387 - --- ide/editoroptions.pp | 48 ++++++++++++++++++++++---------------------- 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/ide/editoroptions.pp b/ide/editoroptions.pp index 1727bd52be..800a1ffefc 100644 --- a/ide/editoroptions.pp +++ b/ide/editoroptions.pp @@ -1528,7 +1528,8 @@ type function ExtensionToLazSyntaxHighlighter(Ext: String): TLazSyntaxHighlighter; override; function CreateSyn(LazSynHilighter: TLazSyntaxHighlighter): TSrcIDEHighlighter; - function ReadColorScheme(const LanguageName: String): String; + function ReadColorScheme(const LanguageName: String): String; // TODO: rename ReadColorSchemeName + function GetColorSchemeLanguage(aHighLighter: TSynCustomHighlighter; SynColorSchemeName: String = ''): TColorSchemeLanguage; function ReadPascalColorScheme: String; procedure WriteColorScheme(const LanguageName, SynColorScheme: String); procedure ReadHighlighterSettings(Syn: TSrcIDEHighlighter; @@ -5385,6 +5386,25 @@ begin end; end; +function TEditorOptions.GetColorSchemeLanguage(aHighLighter: TSynCustomHighlighter; + SynColorSchemeName: String): TColorSchemeLanguage; +var + Scheme: TColorScheme; + LangScheme: TColorSchemeLanguage; +begin + Result := nil; + // initialize with defaults + if SynColorSchemeName = '' then + SynColorSchemeName := ReadColorScheme(aHighLighter.LanguageName); + if (SynColorSchemeName = '') then + exit; + + Scheme := UserColorSchemeGroup.ColorSchemeGroup[SynColorSchemeName]; + if Scheme = nil then + exit; + Result := Scheme.ColorSchemeBySynClass[aHighLighter.ClassType]; +end; + procedure TEditorOptions.WriteColorScheme(const LanguageName, SynColorScheme: String); begin if (LanguageName = '') or (SynColorScheme = '') then @@ -5399,20 +5419,9 @@ procedure TEditorOptions.ReadHighlighterSettings(Syn: TSrcIDEHighlighter; SynColorScheme: String); // if SynColorScheme='' then default ColorScheme will be used var - Scheme: TColorScheme; LangScheme: TColorSchemeLanguage; begin - // initialize with defaults - if SynColorScheme = '' then - SynColorScheme := ReadColorScheme(Syn.LanguageName); - //DebugLn(['TEditorOptions.ReadHighlighterSettings ',SynColorScheme,' Syn.ClassName=',Syn.ClassName]); - if (SynColorScheme = '') or (Syn.LanguageName = '') then - exit; - - Scheme := UserColorSchemeGroup.ColorSchemeGroup[SynColorScheme]; - if Scheme = nil then - exit; - LangScheme := Scheme.ColorSchemeBySynClass[Syn.ClassType]; + LangScheme := GetColorSchemeLanguage(Syn, SynColorScheme); if LangScheme = nil then exit; @@ -5638,14 +5647,9 @@ begin end; // get current colorscheme: - SynColorScheme := ReadColorScheme(aSynEd.Highlighter.LanguageName); - SchemeGrp := UserColorSchemeGroup.ColorSchemeGroup[SynColorScheme]; - if SchemeGrp = nil then - exit; - Scheme := SchemeGrp.ColorSchemeBySynClass[aSynEd.Highlighter.ClassType]; + Scheme := GetColorSchemeLanguage(aSynEd.Highlighter); if Assigned(Scheme) then Scheme.ApplyTo(aSynEd); - end; procedure TEditorOptions.SetMarkupColor(Syn : TSrcIDEHighlighter; @@ -5657,11 +5661,7 @@ var Attrib: TColorSchemeAttribute; begin if assigned(Syn) then begin - SynColorScheme := ReadColorScheme(Syn.LanguageName); - SchemeGrp := UserColorSchemeGroup.ColorSchemeGroup[SynColorScheme]; - if SchemeGrp = nil then - exit; - Scheme := SchemeGrp.ColorSchemeBySynClass[Syn.ClassType]; + Scheme := GetColorSchemeLanguage(Syn); end else begin SchemeGrp := UserColorSchemeGroup.ColorSchemeGroup[DefaultColorSchemeName]; if SchemeGrp = nil then