anchor.diff:      end;
     end;
   
  -  SLexerName:= EditorLexerNameAtPos(Ed, Point(Caret.PosX, Caret.PosY));
  -
     //autoshow for all, when typed N chars
     if (Ed.OptAutocompleteAutoshowCharCount>0) then
     begin
  
positive.code:     if (ACharsTyped=0) and (not bIdentChar) then exit;
  
      //check that we are not inside comment/string
      if EditorCaretInsideCommentOrString(Ed, Caret.PosX, Caret.PosY) then exit;
  
      Inc(ACharsTyped);
      if ACharsTyped=Ed.OptAutocompleteAutoshowCharCount then
  
negative.code:   STextW: UnicodeString;
    SLexerName: string;
    bWordChar, bIdentChar: boolean;
    bLexerHTML: boolean;
  begin
    Result:= true;
    if Ed.Carets.Count=0 then exit;
    Caret:= Ed.Carets[0];
  
    SLexerName:= EditorLexerNameAtPos(Ed, Point(Caret.PosX, Caret.PosY));
    bLexerHTML:= Pos('HTML', SLexerName)>0;
  
    //autoshow by trigger chars
    if (Ed.OptAutocompleteTriggerChars<>'') and
      (Pos(AText[1], Ed.OptAutocompleteTriggerChars)>0) then
  