You are an expert in writing code in many different languages. Your goal is to perform code completion for the following code, keeping in mind the rest of the code and the file meta data.
    Metadata details:
    filename: globals.go
    path of file: ./repos/client/go/chat/globals
    
    the code of the file until where you have to start completion: package globals

import (
	"fmt"
	"regexp"

	"github.com/keybase/client/go/badges"
	"github.com/keybase/client/go/chat/types"
	"github.com/keybase/client/go/libkb"
	"golang.org/x/net/context"
)

var DefaultTeamTopic = "general"
var EmojiPattern = regexp.MustCompile(`(?::)([^:\s]+)(?::)`)

type ChatContext struct {
	CtxFactory           types.ContextFactory      // source of verified user info and crypt keys
	InboxSource          types.InboxSource         // source of remote inbox entries for chat
	ConvSource           types.ConversationSource  // source of remote message bodies for chat
	MessageDeliverer     types.MessageDeliverer    // background message delivery service
	ServerCacheVersions  types.ServerCacheVersions // server side versions for chat caches
	RegexpSearcher       types.RegexpSearcher      // For searching chat messages in a conversation via regexp
	Indexer              types.Indexer             // For searching chat messages in the entire inbox
	Syncer               types.Syncer              // For syncing inbox with server
	FetchRetrier         types.FetchRetrier        // For retrying failed fetch requests
	ConvLoader           types.ConvLoader          // background conversation loader
	PushHandler          types.PushHandler         // for handling push n
    
func (c *ChatContext) Describe() string {
	return fmt.Sprintf(`ChatContext{
  CtxFactory: %v,
  InboxSource: %v,
  ConvSource: %v,
  MessageDeliverer: %v,
  ServerCacheVersions: %v,
  RegexpSearcher: %v,
  Indexer: %v,
  Syncer: %v,
  FetchRetrier: %v,
  ConvLoader: %v,
  PushHandler: %v,
  TeamChannelSource: %v,
  AttachmentURLSrv: %v,
  EphemeralPurger: %v,
  ActivityNotifier: %v,
  AttachmentUploader: %v,
  NativeVideoHelper: %v,
  StellarLoader: %v,
  StellarSender: %v,
  StellarPushHandler: %v,
  Unfurler: %v,
  CommandsSource: %v,
  CoinFlipManager: %v,
  JourneyCardManager: %v,
  TeamMentionLoader: %v,
  ExternalAPIKeySource: %v,
  LiveLocationTracker: %v,
  BotCommandManager: %v,
  UIInboxLoader: %v,
  UIThreadLoader: %v,
  Badger: %v,
  ParticipantSource %v,
  EmojiSource: %v
  EphemeralTracker: %v
}`,
		c.CtxFactory != nil,
		c.InboxSource != nil,
		c.ConvSource != nil,
		c.MessageDeliverer != nil,
		c.ServerCacheVersions != nil,
		c.RegexpSearcher != nil,
		c.Indexer != nil,
		c.Syncer != nil,
		c.FetchRetrier != nil,
		c.ConvLoader != nil,
		c.PushHandler != nil,
		c.TeamChannelSource != nil,
		c.AttachmentURLSrv != nil,
		c.EphemeralPurger != nil,
		c.ActivityNotifier != nil,
		c.AttachmentUploader != nil,
		c.NativeVideoHelper != nil,
		c.StellarLoader != nil,
		c.StellarSender != nil,
		c.StellarPushHandler != nil,
		c.Unfurler != nil,
		c.CommandsSource != nil,
		c.CoinFlipManager != nil,
		c.JourneyCardManager != nil,
		c.TeamMentionLoader != nil,
		c.ExternalAPIKeySource != nil,
		c.LiveLocationTracker != nil,
		c.BotCommandManager != nil,
		c.UIInboxLoader != nil,
		c.UIThreadLoader != nil,
		c.Badger != nil,
		c.ParticipantsSource != nil,
		c.EmojiSource != nil,
		c.EphemeralTracker != nil,
	)
}