anchor.diff:  interface
   
   uses
  -  SysUtils, Classes, StrUtils,
  +  SysUtils, Classes,
     LazFileUtils,
     ATStringProc,
     jsonConf,
  
positive.code: function SFindFuzzyPositions(SText, SFind: UnicodeString): TATIntArray;
  function SFindWordsInString(SText, SFind: string): boolean;
  function SRegexReplaceSubstring(const AStr, AStrFind, AStrReplace: string; AUseSubstitute: boolean): string;
  
  function IsLexerListed(const ALexer, ANameList: string): boolean;
  function IsFilenameListedInExtensionList(const AFilename, AExtList: string): boolean;
  
negative.code:   end;
  end;
  
  function SRegexMatchesString(const AStr, AStrRegex: string; ACaseSensitive: boolean): boolean;
  var
    Obj: TRegExpr;
  begin
    Result:= false;
    if AStr='' then exit;
    if AStrRegex='' then exit;
  
    Obj:= TRegExpr.Create;
    try
      try
        Obj.ModifierS:= false;
        Obj.ModifierI:= not ACaseSensitive;
        Obj.Expression:= AStrRegex;
        Result:= Obj.Exec(AStr) and (Obj.MatchLen[0]=Length(AStr));
      except
      end;
    finally
      Obj.Free;
    end;
  end;
  
  
  
  function SReadOptionFromJson(const fn, path, def_value: string): string;
  var
  