anchor.diff:          storage := TDbfIndexedStorage.Create(self);
           storage.IsDebug := _app.HasOption('v','verbose');
           storage.DatabasePath := databasePath;
  -        storage.SolutionsDo(@OnFindSolution);
  -        storage.ProjectsDo(@OnFindProject);
  -        storage.FilesDo(@OnFindFile);
  +        query := Trim(_app.GetOptionValue('q','query'));
  +        queryType := Trim(_app.GetOptionValue('t','type'));
  +
  +        if (queryType = '') or (queryType = 'solution')
  +        then storage.SolutionsDo(@OnFindSolution);
  +
  +        if (queryType = '') or (queryType = 'project')
  +        then storage.ProjectsDo(@OnFindProject);
  +
  +        if (queryType = '') or (queryType = 'file')
  +        then storage.FilesDo(@OnFindFile);
         except
           on e : Exception do begin
             Error(Format('%s - %s', [e.ClassName, e.Message]));
  
positive.code:   databasePath: String;
    pathToSolution: String;
    storage: TDbfIndexedStorage;
  begin
    projectName := _app.GetOptionValue('n','name');
  
  
negative.code: 
  function TFindCommand.ShortOptions: String;
  begin
    Result := 'n:q:t:';
  end;
  
  function TFindCommand.LongOptions: String;
  begin
    Result := 'name: query: type:';
  end;
  
  end.
  