<!--
{
  "availability" : [
    "macOS: -"
  ],
  "documentType" : "symbol",
  "framework" : "AppKit",
  "identifier" : "/documentation/AppKit/NSTextView/setBaseWritingDirection(_:range:)",
  "metadataVersion" : "0.1.0",
  "role" : "Instance Method",
  "symbol" : {
    "kind" : "Instance Method",
    "modules" : [
      "AppKit"
    ],
    "preciseIdentifier" : "c:objc(cs)NSTextView(im)setBaseWritingDirection:range:"
  },
  "title" : "setBaseWritingDirection(_:range:)"
}
-->

# setBaseWritingDirection(_:range:)

Sets the base writing direction of a range of text.

```
func setBaseWritingDirection(_ writingDirection: NSWritingDirection, range: NSRange)
```

## Parameters

`writingDirection`

The new writing direction for the text in `range`.

`range`

The range of text that will have the new writing direction.

## Discussion

Invoke this method to change the base writing direction from left-to-right to right-to-left for languages like Hebrew and Arabic, for example.

This method does not include undo support by default. Clients must invoke [`shouldChangeText(inRanges:replacementStrings:)`](/documentation/AppKit/NSTextView/shouldChangeText(inRanges:replacementStrings:)) or [`shouldChangeText(in:replacementString:)`](/documentation/AppKit/NSTextView/shouldChangeText(in:replacementString:)) to include this method in an undoable action.

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)