SkillAgentSearch skills...

LigatureXcodePlugin

Enables ligatures in Xcode

Install / Use

/learn @zrzka/LigatureXcodePlugin
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

LigatureXcodePlugin

Because Xcode 8 does support ligatures out of the box, there's no need to use this plug-in. Anyway, if you do use Xcode < 8, continue reading.

Description

It forces all DVTTextStorage objects to use plug-in ligature settings. Not the best solution so far, but much better compared to the previous NSAttributedString modifications.

I did find where Xcode sets NSLigatureAttributeName value to 0. Tried to modify it, but it didn't work. There must be another place where it's done.

Feel free to file an issue if Xcode doesn't behave as expected.

<img width="745" alt="ligatures" src="https://cloud.githubusercontent.com/assets/1084172/9930947/961becfe-5d37-11e5-8261-3fa90cb0851f.png">

Requirements

  • OS X Yosemite, El Capitan or Sierra
  • Xcode 7.0, 7.1, 7.2, 7.3
  • Font with ligatures support (PragmataPro, ...)
    • Default Xcode fonts like Menlo don't support ligatures

Xcode 8 Support

There's no need to use this plugin in Xcode 8, because ligatures are supported out of the box. Hooray.

Installation

Alcatraz

Plug-in is available via Alcatraz - The package manager for Xcode.

Manual

  • open project file,
  • build,
  • restart Xcode.

There's Copy Files - Build Phase, which automatically installs plugin.

Settings

You can use Edit - Ligature plug-in menu to disable ligatures, enable default ligatures (initial value) or enable all ligatures.

<img width="655" alt="edit-ligature-plugin" src="https://cloud.githubusercontent.com/assets/1084172/9930997/0421237c-5d38-11e5-8439-8bca70700405.png">

Uninstallation

Remove LigatureXcodePlugin.xcplugin from ~/Library/Application\ Support/Developer/Shared/Xcode/Plug-ins and restart Xcode.

Written by

View on GitHub
GitHub Stars118
CategoryDevelopment
Updated2mo ago
Forks4

Languages

Objective-C

Security Score

95/100

Audited on Jan 17, 2026

No findings