func()

in pkg/ui/model.go [82:105]


func (d *Document) AddSubscription(subscriber Subscriber) io.Closer {
	d.mutex.Lock()
	defer d.mutex.Unlock()

	id := d.nextID
	d.nextID++

	s := &subscription{
		doc:        d,
		id:         id,
		subscriber: subscriber,
	}

	newSubscriptions := make([]*subscription, 0, len(d.subscriptions)+1)
	for _, s := range d.subscriptions {
		if s == nil || s.subscriber == nil {
			continue
		}
		newSubscriptions = append(newSubscriptions, s)
	}
	newSubscriptions = append(newSubscriptions, s)
	d.subscriptions = newSubscriptions
	return s
}