anchor.diff:  
   function Lexer_DetectByFilenameOrContent(const AFilename: string;
     AChooseFunc: TecLexerChooseFunc): TecSyntAnalyzer;
  -const
  -  cSignUTF8: string = #$EF#$BB#$BF;
   var
     SNameOnly: string;
     Item: TAppKeyValue;
  
positive.code:   public
      procedure Add(const AKey, AValue: string);
      function GetValue(const AKey, ADefValue: string): string;
    end;
  
  var
  
negative.code:   end;
    Result:= ADefValue;
  end;
  
  function TAppKeyValues.GetValueByRegex(ALine: string): string;
  const
    cSignUTF8: string = #$EF#$BB#$BF;
  var
    Item: TAppKeyValue;
    i: integer;
  begin
    Result:= '';
    //skip UTF8 signature, needed for XMLs
    if SBeginsWith(ALine, cSignUTF8) then
      System.Delete(ALine, 1, Length(cSignUTF8));
    for i:= 0 to Count-1 do
    begin
      Item:= TAppKeyValue(Items[i]);
      if SRegexMatchesString(ALine, Item.Key, true) then
        exit(Item.Value);
    end;
  end;
  
  
  procedure DoMenuitemEllipsis(c: TMenuItem);
  var
  