---
title: NSWritingToolsCoordinator.Delegate
framework: appkit
role: symbol
role_heading: Protocol
path: appkit/nswritingtoolscoordinator/delegate-swift.protocol
---

# NSWritingToolsCoordinator.Delegate

An interface that you use to manage interactions between Writing Tools and your custom text view.

## Declaration

```swift
protocol Delegate : NSObjectProtocol
```

## Mentioned in

Adding Writing Tools support to a custom AppKit view

## Overview

Overview Adopt the NSWritingToolsCoordinator.Delegate protocol in the type you use to manage your custom text view. When you add a NSWritingToolsCoordinator object to your view, the coordinator uses this protocol to communicate with that view. The protocol lets Writing Tools fetch your view’s text, report suggested changes back to your view, and deliver visual feedback when Writing Tools features are active. Make sure the type that adopts this protocol has access to your view’s text storage and can perform relevant tasks on behalf of the view. Writing Tools expects you to call the provided handler blocks at the end of your delegate methods. It’s crucial that you execute these blocks in a timely manner to allow Writing Tools to perform subsequent tasks. For example, Writing Tools waits for you to execute the handlers for animation-related methods before moving on to the next stage of the animations.

## Topics

### Starting a Writing Tools operation

- [writingToolsCoordinator(_:requestsContextsFor:completion:)](appkit/nswritingtoolscoordinator/delegate-swift.protocol/writingtoolscoordinator(_:requestscontextsfor:completion:).md)

### Incorporating Writing Tools suggestions

- [writingToolsCoordinator(_:replace:in:proposedText:reason:animationParameters:completion:)](appkit/nswritingtoolscoordinator/delegate-swift.protocol/writingtoolscoordinator(_:replace:in:proposedtext:reason:animationparameters:completion:).md)
- [writingToolsCoordinator(_:select:in:completion:)](appkit/nswritingtoolscoordinator/delegate-swift.protocol/writingtoolscoordinator(_:select:in:completion:).md)

### Responding to lifecycle changes

- [writingToolsCoordinator(_:willChangeTo:completion:)](appkit/nswritingtoolscoordinator/delegate-swift.protocol/writingtoolscoordinator(_:willchangeto:completion:).md)

### Animating inline text changes

- [writingToolsCoordinator(_:requestsPreviewFor:of:in:completion:)](appkit/nswritingtoolscoordinator/delegate-swift.protocol/writingtoolscoordinator(_:requestspreviewfor:of:in:completion:).md)
- [writingToolsCoordinator(_:requestsPreviewFor:in:completion:)](appkit/nswritingtoolscoordinator/delegate-swift.protocol/writingtoolscoordinator(_:requestspreviewfor:in:completion:).md)
- [writingToolsCoordinator(_:prepareFor:for:in:completion:)](appkit/nswritingtoolscoordinator/delegate-swift.protocol/writingtoolscoordinator(_:preparefor:for:in:completion:).md)
- [writingToolsCoordinator(_:finish:for:in:completion:)](appkit/nswritingtoolscoordinator/delegate-swift.protocol/writingtoolscoordinator(_:finish:for:in:completion:).md)

### Displaying proofreading marks

- [writingToolsCoordinator(_:requestsRangeInContextWithIdentifierFor:completion:)](appkit/nswritingtoolscoordinator/delegate-swift.protocol/writingtoolscoordinator(_:requestsrangeincontextwithidentifierfor:completion:).md)
- [writingToolsCoordinator(_:requestsBoundingBezierPathsFor:in:completion:)](appkit/nswritingtoolscoordinator/delegate-swift.protocol/writingtoolscoordinator(_:requestsboundingbezierpathsfor:in:completion:).md)
- [writingToolsCoordinator(_:requestsUnderlinePathsFor:in:completion:)](appkit/nswritingtoolscoordinator/delegate-swift.protocol/writingtoolscoordinator(_:requestsunderlinepathsfor:in:completion:).md)

### Providing animation container views dynamically

- [writingToolsCoordinator(_:requestsSingleContainerSubrangesOf:in:completion:)](appkit/nswritingtoolscoordinator/delegate-swift.protocol/writingtoolscoordinator(_:requestssinglecontainersubrangesof:in:completion:).md)
- [writingToolsCoordinator(_:requestsDecorationContainerViewFor:in:completion:)](appkit/nswritingtoolscoordinator/delegate-swift.protocol/writingtoolscoordinator(_:requestsdecorationcontainerviewfor:in:completion:).md)

## Relationships

### Inherits From

- [NSObjectProtocol](objectivec/nsobjectprotocol.md)

## See Also

### Writing Tools for custom views

- [Supporting Writing Tools via the pasteboard](appkit/supporting-writing-tools-via-the-pasteboard.md)
- [Adding Writing Tools support to a custom AppKit view](appkit/adding-writing-tools-support-to-a-custom-nsview.md)
- [NSWritingToolsCoordinator](appkit/nswritingtoolscoordinator.md)
- [NSWritingToolsCoordinator.Context](appkit/nswritingtoolscoordinator/context.md)
- [NSWritingToolsCoordinator.AnimationParameters](appkit/nswritingtoolscoordinator/animationparameters.md)
- [Enhancing your custom text engine with Writing Tools](appkit/enhancing-your-custom-text-engine-with-writing-tools.md)
