Skip to content
Snippets Groups Projects
Commit 64cc557e authored by George Nachman's avatar George Nachman
Browse files

fixup

parent c6543c4d
No related branches found
No related tags found
No related merge requests found
Loading
Loading
@@ -10,6 +10,454 @@
#import "iTermAdvancedSettingsModel.h"
 
@implementation NSCharacterSet (iTerm)
// Ranges are generated list list_to_range.py and range_to_range.py scripts in the tools folder.
// http://unicode.org/reports/tr36/idn-chars.html
+ (instancetype)idnCharacters {
static dispatch_once_t onceToken;
static NSCharacterSet *idnCharacters;
dispatch_once(&onceToken, ^{
NSMutableCharacterSet *set = [[[NSMutableCharacterSet alloc] init] autorelease];
[set addCharactersInRange:NSMakeRange(0x61, 1)];
[set addCharactersInRange:NSMakeRange(0x27, 1)];
[set addCharactersInRange:NSMakeRange(0x2d, 2)];
[set addCharactersInRange:NSMakeRange(0x30, 11)];
[set addCharactersInRange:NSMakeRange(0x41, 26)];
[set addCharactersInRange:NSMakeRange(0x62, 25)];
[set addCharactersInRange:NSMakeRange(0xa1, 7)];
[set addCharactersInRange:NSMakeRange(0xa9, 6)];
[set addCharactersInRange:NSMakeRange(0xb0, 4)];
[set addCharactersInRange:NSMakeRange(0xb5, 3)];
[set addCharactersInRange:NSMakeRange(0xb9, 360)];
[set addCharactersInRange:NSMakeRange(0x222, 18)];
[set addCharactersInRange:NSMakeRange(0x250, 94)];
[set addCharactersInRange:NSMakeRange(0x2b0, 40)];
[set addCharactersInRange:NSMakeRange(0x2de, 114)];
[set addCharactersInRange:NSMakeRange(0x360, 16)];
[set addCharactersInRange:NSMakeRange(0x374, 2)];
[set addCharactersInRange:NSMakeRange(0x386, 5)];
[set addCharactersInRange:NSMakeRange(0x38c, 1)];
[set addCharactersInRange:NSMakeRange(0x38e, 20)];
[set addCharactersInRange:NSMakeRange(0x3a3, 44)];
[set addCharactersInRange:NSMakeRange(0x3d0, 39)];
[set addCharactersInRange:NSMakeRange(0x400, 135)];
[set addCharactersInRange:NSMakeRange(0x488, 71)];
[set addCharactersInRange:NSMakeRange(0x4d0, 38)];
[set addCharactersInRange:NSMakeRange(0x4f8, 2)];
[set addCharactersInRange:NSMakeRange(0x500, 16)];
[set addCharactersInRange:NSMakeRange(0x531, 38)];
[set addCharactersInRange:NSMakeRange(0x559, 7)];
[set addCharactersInRange:NSMakeRange(0x561, 39)];
[set addCharactersInRange:NSMakeRange(0x589, 2)];
[set addCharactersInRange:NSMakeRange(0x591, 17)];
[set addCharactersInRange:NSMakeRange(0x5a3, 23)];
[set addCharactersInRange:NSMakeRange(0x5bb, 10)];
[set addCharactersInRange:NSMakeRange(0x5d0, 27)];
[set addCharactersInRange:NSMakeRange(0x5f0, 5)];
[set addCharactersInRange:NSMakeRange(0x60c, 1)];
[set addCharactersInRange:NSMakeRange(0x61b, 1)];
[set addCharactersInRange:NSMakeRange(0x61f, 1)];
[set addCharactersInRange:NSMakeRange(0x621, 26)];
[set addCharactersInRange:NSMakeRange(0x640, 22)];
[set addCharactersInRange:NSMakeRange(0x660, 125)];
[set addCharactersInRange:NSMakeRange(0x6de, 16)];
[set addCharactersInRange:NSMakeRange(0x6f0, 15)];
[set addCharactersInRange:NSMakeRange(0x700, 14)];
[set addCharactersInRange:NSMakeRange(0x710, 29)];
[set addCharactersInRange:NSMakeRange(0x730, 27)];
[set addCharactersInRange:NSMakeRange(0x780, 50)];
[set addCharactersInRange:NSMakeRange(0x901, 3)];
[set addCharactersInRange:NSMakeRange(0x905, 53)];
[set addCharactersInRange:NSMakeRange(0x93c, 18)];
[set addCharactersInRange:NSMakeRange(0x950, 5)];
[set addCharactersInRange:NSMakeRange(0x958, 25)];
[set addCharactersInRange:NSMakeRange(0x981, 3)];
[set addCharactersInRange:NSMakeRange(0x985, 8)];
[set addCharactersInRange:NSMakeRange(0x98f, 2)];
[set addCharactersInRange:NSMakeRange(0x993, 22)];
[set addCharactersInRange:NSMakeRange(0x9aa, 7)];
[set addCharactersInRange:NSMakeRange(0x9b2, 1)];
[set addCharactersInRange:NSMakeRange(0x9b6, 4)];
[set addCharactersInRange:NSMakeRange(0x9bc, 1)];
[set addCharactersInRange:NSMakeRange(0x9be, 7)];
[set addCharactersInRange:NSMakeRange(0x9c7, 2)];
[set addCharactersInRange:NSMakeRange(0x9cb, 3)];
[set addCharactersInRange:NSMakeRange(0x9d7, 1)];
[set addCharactersInRange:NSMakeRange(0x9dc, 2)];
[set addCharactersInRange:NSMakeRange(0x9df, 5)];
[set addCharactersInRange:NSMakeRange(0x9e6, 21)];
[set addCharactersInRange:NSMakeRange(0xa02, 1)];
[set addCharactersInRange:NSMakeRange(0xa05, 6)];
[set addCharactersInRange:NSMakeRange(0xa0f, 2)];
[set addCharactersInRange:NSMakeRange(0xa13, 22)];
[set addCharactersInRange:NSMakeRange(0xa2a, 7)];
[set addCharactersInRange:NSMakeRange(0xa32, 2)];
[set addCharactersInRange:NSMakeRange(0xa35, 2)];
[set addCharactersInRange:NSMakeRange(0xa38, 2)];
[set addCharactersInRange:NSMakeRange(0xa3c, 1)];
[set addCharactersInRange:NSMakeRange(0xa3e, 5)];
[set addCharactersInRange:NSMakeRange(0xa47, 2)];
[set addCharactersInRange:NSMakeRange(0xa4b, 3)];
[set addCharactersInRange:NSMakeRange(0xa59, 4)];
[set addCharactersInRange:NSMakeRange(0xa5e, 1)];
[set addCharactersInRange:NSMakeRange(0xa66, 15)];
[set addCharactersInRange:NSMakeRange(0xa81, 3)];
[set addCharactersInRange:NSMakeRange(0xa85, 7)];
[set addCharactersInRange:NSMakeRange(0xa8d, 1)];
[set addCharactersInRange:NSMakeRange(0xa8f, 3)];
[set addCharactersInRange:NSMakeRange(0xa93, 22)];
[set addCharactersInRange:NSMakeRange(0xaaa, 7)];
[set addCharactersInRange:NSMakeRange(0xab2, 2)];
[set addCharactersInRange:NSMakeRange(0xab5, 5)];
[set addCharactersInRange:NSMakeRange(0xabc, 10)];
[set addCharactersInRange:NSMakeRange(0xac7, 3)];
[set addCharactersInRange:NSMakeRange(0xacb, 3)];
[set addCharactersInRange:NSMakeRange(0xad0, 1)];
[set addCharactersInRange:NSMakeRange(0xae0, 1)];
[set addCharactersInRange:NSMakeRange(0xae6, 10)];
[set addCharactersInRange:NSMakeRange(0xb01, 3)];
[set addCharactersInRange:NSMakeRange(0xb05, 8)];
[set addCharactersInRange:NSMakeRange(0xb0f, 2)];
[set addCharactersInRange:NSMakeRange(0xb13, 22)];
[set addCharactersInRange:NSMakeRange(0xb2a, 7)];
[set addCharactersInRange:NSMakeRange(0xb32, 2)];
[set addCharactersInRange:NSMakeRange(0xb36, 4)];
[set addCharactersInRange:NSMakeRange(0xb3c, 8)];
[set addCharactersInRange:NSMakeRange(0xb47, 2)];
[set addCharactersInRange:NSMakeRange(0xb4b, 3)];
[set addCharactersInRange:NSMakeRange(0xb56, 2)];
[set addCharactersInRange:NSMakeRange(0xb5c, 2)];
[set addCharactersInRange:NSMakeRange(0xb5f, 3)];
[set addCharactersInRange:NSMakeRange(0xb66, 11)];
[set addCharactersInRange:NSMakeRange(0xb82, 2)];
[set addCharactersInRange:NSMakeRange(0xb85, 6)];
[set addCharactersInRange:NSMakeRange(0xb8e, 3)];
[set addCharactersInRange:NSMakeRange(0xb92, 4)];
[set addCharactersInRange:NSMakeRange(0xb99, 2)];
[set addCharactersInRange:NSMakeRange(0xb9c, 1)];
[set addCharactersInRange:NSMakeRange(0xb9e, 2)];
[set addCharactersInRange:NSMakeRange(0xba3, 2)];
[set addCharactersInRange:NSMakeRange(0xba8, 3)];
[set addCharactersInRange:NSMakeRange(0xbae, 8)];
[set addCharactersInRange:NSMakeRange(0xbb7, 3)];
[set addCharactersInRange:NSMakeRange(0xbbe, 5)];
[set addCharactersInRange:NSMakeRange(0xbc6, 3)];
[set addCharactersInRange:NSMakeRange(0xbca, 4)];
[set addCharactersInRange:NSMakeRange(0xbd7, 1)];
[set addCharactersInRange:NSMakeRange(0xbe7, 12)];
[set addCharactersInRange:NSMakeRange(0xc01, 3)];
[set addCharactersInRange:NSMakeRange(0xc05, 8)];
[set addCharactersInRange:NSMakeRange(0xc0e, 3)];
[set addCharactersInRange:NSMakeRange(0xc12, 23)];
[set addCharactersInRange:NSMakeRange(0xc2a, 10)];
[set addCharactersInRange:NSMakeRange(0xc35, 5)];
[set addCharactersInRange:NSMakeRange(0xc3e, 7)];
[set addCharactersInRange:NSMakeRange(0xc46, 3)];
[set addCharactersInRange:NSMakeRange(0xc4a, 4)];
[set addCharactersInRange:NSMakeRange(0xc55, 2)];
[set addCharactersInRange:NSMakeRange(0xc60, 2)];
[set addCharactersInRange:NSMakeRange(0xc66, 10)];
[set addCharactersInRange:NSMakeRange(0xc82, 2)];
[set addCharactersInRange:NSMakeRange(0xc85, 8)];
[set addCharactersInRange:NSMakeRange(0xc8e, 3)];
[set addCharactersInRange:NSMakeRange(0xc92, 23)];
[set addCharactersInRange:NSMakeRange(0xcaa, 10)];
[set addCharactersInRange:NSMakeRange(0xcb5, 5)];
[set addCharactersInRange:NSMakeRange(0xcbe, 7)];
[set addCharactersInRange:NSMakeRange(0xcc6, 3)];
[set addCharactersInRange:NSMakeRange(0xcca, 4)];
[set addCharactersInRange:NSMakeRange(0xcd5, 2)];
[set addCharactersInRange:NSMakeRange(0xcde, 1)];
[set addCharactersInRange:NSMakeRange(0xce0, 2)];
[set addCharactersInRange:NSMakeRange(0xce6, 10)];
[set addCharactersInRange:NSMakeRange(0xd02, 2)];
[set addCharactersInRange:NSMakeRange(0xd05, 8)];
[set addCharactersInRange:NSMakeRange(0xd0e, 3)];
[set addCharactersInRange:NSMakeRange(0xd12, 23)];
[set addCharactersInRange:NSMakeRange(0xd2a, 16)];
[set addCharactersInRange:NSMakeRange(0xd3e, 6)];
[set addCharactersInRange:NSMakeRange(0xd46, 3)];
[set addCharactersInRange:NSMakeRange(0xd4a, 4)];
[set addCharactersInRange:NSMakeRange(0xd57, 1)];
[set addCharactersInRange:NSMakeRange(0xd60, 2)];
[set addCharactersInRange:NSMakeRange(0xd66, 10)];
[set addCharactersInRange:NSMakeRange(0xd82, 2)];
[set addCharactersInRange:NSMakeRange(0xd85, 18)];
[set addCharactersInRange:NSMakeRange(0xd9a, 24)];
[set addCharactersInRange:NSMakeRange(0xdb3, 9)];
[set addCharactersInRange:NSMakeRange(0xdbd, 1)];
[set addCharactersInRange:NSMakeRange(0xdc0, 7)];
[set addCharactersInRange:NSMakeRange(0xdca, 1)];
[set addCharactersInRange:NSMakeRange(0xdcf, 6)];
[set addCharactersInRange:NSMakeRange(0xdd6, 1)];
[set addCharactersInRange:NSMakeRange(0xdd8, 8)];
[set addCharactersInRange:NSMakeRange(0xdf2, 3)];
[set addCharactersInRange:NSMakeRange(0xe01, 58)];
[set addCharactersInRange:NSMakeRange(0xe3f, 29)];
[set addCharactersInRange:NSMakeRange(0xe81, 2)];
[set addCharactersInRange:NSMakeRange(0xe84, 1)];
[set addCharactersInRange:NSMakeRange(0xe87, 2)];
[set addCharactersInRange:NSMakeRange(0xe8a, 1)];
[set addCharactersInRange:NSMakeRange(0xe8d, 1)];
[set addCharactersInRange:NSMakeRange(0xe94, 4)];
[set addCharactersInRange:NSMakeRange(0xe99, 7)];
[set addCharactersInRange:NSMakeRange(0xea1, 3)];
[set addCharactersInRange:NSMakeRange(0xea5, 1)];
[set addCharactersInRange:NSMakeRange(0xea7, 1)];
[set addCharactersInRange:NSMakeRange(0xeaa, 2)];
[set addCharactersInRange:NSMakeRange(0xead, 13)];
[set addCharactersInRange:NSMakeRange(0xebb, 3)];
[set addCharactersInRange:NSMakeRange(0xec0, 5)];
[set addCharactersInRange:NSMakeRange(0xec6, 1)];
[set addCharactersInRange:NSMakeRange(0xec8, 6)];
[set addCharactersInRange:NSMakeRange(0xed0, 10)];
[set addCharactersInRange:NSMakeRange(0xedc, 2)];
[set addCharactersInRange:NSMakeRange(0xf00, 72)];
[set addCharactersInRange:NSMakeRange(0xf49, 34)];
[set addCharactersInRange:NSMakeRange(0xf71, 27)];
[set addCharactersInRange:NSMakeRange(0xf90, 8)];
[set addCharactersInRange:NSMakeRange(0xf99, 36)];
[set addCharactersInRange:NSMakeRange(0xfbe, 15)];
[set addCharactersInRange:NSMakeRange(0xfcf, 1)];
[set addCharactersInRange:NSMakeRange(0x1000, 34)];
[set addCharactersInRange:NSMakeRange(0x1023, 5)];
[set addCharactersInRange:NSMakeRange(0x1029, 2)];
[set addCharactersInRange:NSMakeRange(0x102c, 7)];
[set addCharactersInRange:NSMakeRange(0x1036, 4)];
[set addCharactersInRange:NSMakeRange(0x1040, 26)];
[set addCharactersInRange:NSMakeRange(0x10a0, 38)];
[set addCharactersInRange:NSMakeRange(0x10d0, 41)];
[set addCharactersInRange:NSMakeRange(0x10fb, 1)];
[set addCharactersInRange:NSMakeRange(0x1200, 7)];
[set addCharactersInRange:NSMakeRange(0x1208, 63)];
[set addCharactersInRange:NSMakeRange(0x1248, 1)];
[set addCharactersInRange:NSMakeRange(0x124a, 4)];
[set addCharactersInRange:NSMakeRange(0x1250, 7)];
[set addCharactersInRange:NSMakeRange(0x1258, 1)];
[set addCharactersInRange:NSMakeRange(0x125a, 4)];
[set addCharactersInRange:NSMakeRange(0x1260, 39)];
[set addCharactersInRange:NSMakeRange(0x1288, 1)];
[set addCharactersInRange:NSMakeRange(0x128a, 4)];
[set addCharactersInRange:NSMakeRange(0x1290, 31)];
[set addCharactersInRange:NSMakeRange(0x12b0, 1)];
[set addCharactersInRange:NSMakeRange(0x12b2, 4)];
[set addCharactersInRange:NSMakeRange(0x12b8, 7)];
[set addCharactersInRange:NSMakeRange(0x12c0, 1)];
[set addCharactersInRange:NSMakeRange(0x12c2, 4)];
[set addCharactersInRange:NSMakeRange(0x12c8, 7)];
[set addCharactersInRange:NSMakeRange(0x12d0, 7)];
[set addCharactersInRange:NSMakeRange(0x12d8, 23)];
[set addCharactersInRange:NSMakeRange(0x12f0, 31)];
[set addCharactersInRange:NSMakeRange(0x1310, 1)];
[set addCharactersInRange:NSMakeRange(0x1312, 4)];
[set addCharactersInRange:NSMakeRange(0x1318, 7)];
[set addCharactersInRange:NSMakeRange(0x1320, 39)];
[set addCharactersInRange:NSMakeRange(0x1348, 19)];
[set addCharactersInRange:NSMakeRange(0x1361, 28)];
[set addCharactersInRange:NSMakeRange(0x13a0, 85)];
[set addCharactersInRange:NSMakeRange(0x1401, 630)];
[set addCharactersInRange:NSMakeRange(0x1681, 28)];
[set addCharactersInRange:NSMakeRange(0x16a0, 81)];
[set addCharactersInRange:NSMakeRange(0x1700, 13)];
[set addCharactersInRange:NSMakeRange(0x170e, 7)];
[set addCharactersInRange:NSMakeRange(0x1720, 23)];
[set addCharactersInRange:NSMakeRange(0x1740, 20)];
[set addCharactersInRange:NSMakeRange(0x1760, 13)];
[set addCharactersInRange:NSMakeRange(0x176e, 3)];
[set addCharactersInRange:NSMakeRange(0x1772, 2)];
[set addCharactersInRange:NSMakeRange(0x1780, 93)];
[set addCharactersInRange:NSMakeRange(0x17e0, 10)];
[set addCharactersInRange:NSMakeRange(0x1800, 14)];
[set addCharactersInRange:NSMakeRange(0x1810, 10)];
[set addCharactersInRange:NSMakeRange(0x1820, 88)];
[set addCharactersInRange:NSMakeRange(0x1880, 42)];
[set addCharactersInRange:NSMakeRange(0x1e00, 156)];
[set addCharactersInRange:NSMakeRange(0x1ea0, 90)];
[set addCharactersInRange:NSMakeRange(0x1f00, 22)];
[set addCharactersInRange:NSMakeRange(0x1f18, 6)];
[set addCharactersInRange:NSMakeRange(0x1f20, 38)];
[set addCharactersInRange:NSMakeRange(0x1f48, 6)];
[set addCharactersInRange:NSMakeRange(0x1f50, 8)];
[set addCharactersInRange:NSMakeRange(0x1f59, 1)];
[set addCharactersInRange:NSMakeRange(0x1f5b, 1)];
[set addCharactersInRange:NSMakeRange(0x1f5d, 1)];
[set addCharactersInRange:NSMakeRange(0x1f5f, 31)];
[set addCharactersInRange:NSMakeRange(0x1f80, 53)];
[set addCharactersInRange:NSMakeRange(0x1fb6, 7)];
[set addCharactersInRange:NSMakeRange(0x1fbe, 1)];
[set addCharactersInRange:NSMakeRange(0x1fc2, 3)];
[set addCharactersInRange:NSMakeRange(0x1fc6, 7)];
[set addCharactersInRange:NSMakeRange(0x1fd0, 4)];
[set addCharactersInRange:NSMakeRange(0x1fd6, 6)];
[set addCharactersInRange:NSMakeRange(0x1fe0, 13)];
[set addCharactersInRange:NSMakeRange(0x1ff2, 3)];
[set addCharactersInRange:NSMakeRange(0x1ff6, 7)];
[set addCharactersInRange:NSMakeRange(0x200b, 3)];
[set addCharactersInRange:NSMakeRange(0x2010, 7)];
[set addCharactersInRange:NSMakeRange(0x2018, 12)];
[set addCharactersInRange:NSMakeRange(0x2027, 1)];
[set addCharactersInRange:NSMakeRange(0x2030, 12)];
[set addCharactersInRange:NSMakeRange(0x203d, 1)];
[set addCharactersInRange:NSMakeRange(0x203f, 8)];
[set addCharactersInRange:NSMakeRange(0x204a, 9)];
[set addCharactersInRange:NSMakeRange(0x2057, 1)];
[set addCharactersInRange:NSMakeRange(0x2060, 1)];
[set addCharactersInRange:NSMakeRange(0x2070, 2)];
[set addCharactersInRange:NSMakeRange(0x2074, 6)];
[set addCharactersInRange:NSMakeRange(0x207b, 1)];
[set addCharactersInRange:NSMakeRange(0x207f, 11)];
[set addCharactersInRange:NSMakeRange(0x208b, 1)];
[set addCharactersInRange:NSMakeRange(0x20a0, 18)];
[set addCharactersInRange:NSMakeRange(0x20d0, 27)];
[set addCharactersInRange:NSMakeRange(0x2100, 59)];
[set addCharactersInRange:NSMakeRange(0x213d, 15)];
[set addCharactersInRange:NSMakeRange(0x2153, 49)];
[set addCharactersInRange:NSMakeRange(0x2190, 575)];
[set addCharactersInRange:NSMakeRange(0x2400, 39)];
[set addCharactersInRange:NSMakeRange(0x2440, 11)];
[set addCharactersInRange:NSMakeRange(0x2460, 20)];
[set addCharactersInRange:NSMakeRange(0x24b6, 73)];
[set addCharactersInRange:NSMakeRange(0x2500, 276)];
[set addCharactersInRange:NSMakeRange(0x2616, 2)];
[set addCharactersInRange:NSMakeRange(0x2619, 101)];
[set addCharactersInRange:NSMakeRange(0x2680, 10)];
[set addCharactersInRange:NSMakeRange(0x2701, 4)];
[set addCharactersInRange:NSMakeRange(0x2706, 4)];
[set addCharactersInRange:NSMakeRange(0x270c, 28)];
[set addCharactersInRange:NSMakeRange(0x2729, 35)];
[set addCharactersInRange:NSMakeRange(0x274d, 1)];
[set addCharactersInRange:NSMakeRange(0x274f, 4)];
[set addCharactersInRange:NSMakeRange(0x2756, 1)];
[set addCharactersInRange:NSMakeRange(0x2758, 7)];
[set addCharactersInRange:NSMakeRange(0x2761, 52)];
[set addCharactersInRange:NSMakeRange(0x2798, 24)];
[set addCharactersInRange:NSMakeRange(0x27b1, 14)];
[set addCharactersInRange:NSMakeRange(0x27d0, 28)];
[set addCharactersInRange:NSMakeRange(0x27f0, 644)];
[set addCharactersInRange:NSMakeRange(0x2a77, 137)];
[set addCharactersInRange:NSMakeRange(0x2e80, 26)];
[set addCharactersInRange:NSMakeRange(0x2e9b, 89)];
[set addCharactersInRange:NSMakeRange(0x3001, 32)];
[set addCharactersInRange:NSMakeRange(0x302a, 14)];
[set addCharactersInRange:NSMakeRange(0x303b, 5)];
[set addCharactersInRange:NSMakeRange(0x3041, 86)];
[set addCharactersInRange:NSMakeRange(0x3099, 2)];
[set addCharactersInRange:NSMakeRange(0x309d, 99)];
[set addCharactersInRange:NSMakeRange(0x3105, 40)];
[set addCharactersInRange:NSMakeRange(0x3190, 40)];
[set addCharactersInRange:NSMakeRange(0x31f0, 16)];
[set addCharactersInRange:NSMakeRange(0x3251, 15)];
[set addCharactersInRange:NSMakeRange(0x327f, 77)];
[set addCharactersInRange:NSMakeRange(0x32d0, 47)];
[set addCharactersInRange:NSMakeRange(0x3300, 119)];
[set addCharactersInRange:NSMakeRange(0x337b, 71)];
[set addCharactersInRange:NSMakeRange(0x33c3, 4)];
[set addCharactersInRange:NSMakeRange(0x33c8, 16)];
[set addCharactersInRange:NSMakeRange(0x33d9, 5)];
[set addCharactersInRange:NSMakeRange(0x33e0, 31)];
[set addCharactersInRange:NSMakeRange(0xa000, 1165)];
[set addCharactersInRange:NSMakeRange(0xa490, 55)];
[set addCharactersInRange:NSMakeRange(0xa700, 23)];
[set addCharactersInRange:NSMakeRange(0xfa10, 3)];
[set addCharactersInRange:NSMakeRange(0xfa1f, 4)];
[set addCharactersInRange:NSMakeRange(0xfb00, 7)];
[set addCharactersInRange:NSMakeRange(0xfb13, 5)];
[set addCharactersInRange:NSMakeRange(0xfb1e, 1)];
[set addCharactersInRange:NSMakeRange(0xfb20, 9)];
[set addCharactersInRange:NSMakeRange(0xfb4f, 99)];
[set addCharactersInRange:NSMakeRange(0xfbd3, 136)];
[set addCharactersInRange:NSMakeRange(0xfc64, 44)];
[set addCharactersInRange:NSMakeRange(0xfc91, 72)];
[set addCharactersInRange:NSMakeRange(0xfcda, 24)];
[set addCharactersInRange:NSMakeRange(0xfcf5, 71)];
[set addCharactersInRange:NSMakeRange(0xfd3e, 2)];
[set addCharactersInRange:NSMakeRange(0xfd50, 64)];
[set addCharactersInRange:NSMakeRange(0xfd92, 54)];
[set addCharactersInRange:NSMakeRange(0xfdf0, 10)];
[set addCharactersInRange:NSMakeRange(0xfdfc, 1)];
[set addCharactersInRange:NSMakeRange(0xfe00, 16)];
[set addCharactersInRange:NSMakeRange(0xfe20, 4)];
[set addCharactersInRange:NSMakeRange(0xfe31, 2)];
[set addCharactersInRange:NSMakeRange(0xfe39, 14)];
[set addCharactersInRange:NSMakeRange(0xfe51, 1)];
[set addCharactersInRange:NSMakeRange(0xfe58, 1)];
[set addCharactersInRange:NSMakeRange(0xfe5d, 2)];
[set addCharactersInRange:NSMakeRange(0xfe73, 1)];
[set addCharactersInRange:NSMakeRange(0xfe80, 125)];
[set addCharactersInRange:NSMakeRange(0xfeff, 1)];
[set addCharactersInRange:NSMakeRange(0xff10, 10)];
[set addCharactersInRange:NSMakeRange(0xff21, 26)];
[set addCharactersInRange:NSMakeRange(0xff41, 26)];
[set addCharactersInRange:NSMakeRange(0xff5f, 65)];
[set addCharactersInRange:NSMakeRange(0xffe0, 3)];
[set addCharactersInRange:NSMakeRange(0xffe4, 3)];
[set addCharactersInRange:NSMakeRange(0xffe8, 7)];
[set addCharactersInRange:NSMakeRange(0x10300, 31)];
[set addCharactersInRange:NSMakeRange(0x10320, 4)];
[set addCharactersInRange:NSMakeRange(0x10330, 27)];
[set addCharactersInRange:NSMakeRange(0x10400, 38)];
[set addCharactersInRange:NSMakeRange(0x10428, 38)];
[set addCharactersInRange:NSMakeRange(0x1d000, 246)];
[set addCharactersInRange:NSMakeRange(0x1d100, 39)];
[set addCharactersInRange:NSMakeRange(0x1d12a, 73)];
[set addCharactersInRange:NSMakeRange(0x1d17b, 99)];
[set addCharactersInRange:NSMakeRange(0x1d400, 85)];
[set addCharactersInRange:NSMakeRange(0x1d456, 71)];
[set addCharactersInRange:NSMakeRange(0x1d49e, 2)];
[set addCharactersInRange:NSMakeRange(0x1d4a2, 1)];
[set addCharactersInRange:NSMakeRange(0x1d4a5, 2)];
[set addCharactersInRange:NSMakeRange(0x1d4a9, 4)];
[set addCharactersInRange:NSMakeRange(0x1d4ae, 12)];
[set addCharactersInRange:NSMakeRange(0x1d4bb, 1)];
[set addCharactersInRange:NSMakeRange(0x1d4bd, 4)];
[set addCharactersInRange:NSMakeRange(0x1d4c2, 2)];
[set addCharactersInRange:NSMakeRange(0x1d4c5, 65)];
[set addCharactersInRange:NSMakeRange(0x1d507, 4)];
[set addCharactersInRange:NSMakeRange(0x1d50d, 8)];
[set addCharactersInRange:NSMakeRange(0x1d516, 7)];
[set addCharactersInRange:NSMakeRange(0x1d51e, 28)];
[set addCharactersInRange:NSMakeRange(0x1d53b, 4)];
[set addCharactersInRange:NSMakeRange(0x1d540, 5)];
[set addCharactersInRange:NSMakeRange(0x1d546, 1)];
[set addCharactersInRange:NSMakeRange(0x1d54a, 7)];
[set addCharactersInRange:NSMakeRange(0x1d552, 338)];
[set addCharactersInRange:NSMakeRange(0x1d6a8, 290)];
[set addCharactersInRange:NSMakeRange(0x1d7ce, 50)];
[set addCharactersInRange:NSMakeRange(0x1100, 90)];
[set addCharactersInRange:NSMakeRange(0x115f, 68)];
[set addCharactersInRange:NSMakeRange(0x11a8, 82)];
[set addCharactersInRange:NSMakeRange(0xac00, 11172)];
[set addCharactersInRange:NSMakeRange(0x3131, 94)];
[set addCharactersInRange:NSMakeRange(0x3260, 28)];
[set addCharactersInRange:NSMakeRange(0xffa0, 31)];
[set addCharactersInRange:NSMakeRange(0xffc2, 6)];
[set addCharactersInRange:NSMakeRange(0xffca, 6)];
[set addCharactersInRange:NSMakeRange(0xffd2, 6)];
[set addCharactersInRange:NSMakeRange(0xffda, 3)];
[set addCharactersInRange:NSMakeRange(0x3021, 9)];
[set addCharactersInRange:NSMakeRange(0x3400, 6582)];
[set addCharactersInRange:NSMakeRange(0x4e00, 20902)];
[set addCharactersInRange:NSMakeRange(0xfa0e, 2)];
[set addCharactersInRange:NSMakeRange(0xfa13, 2)];
[set addCharactersInRange:NSMakeRange(0xfa23, 2)];
[set addCharactersInRange:NSMakeRange(0xfa27, 3)];
[set addCharactersInRange:NSMakeRange(0x20000, 42711)];
[set addCharactersInRange:NSMakeRange(0x2e80, 26)];
[set addCharactersInRange:NSMakeRange(0x2e9b, 4)];
[set addCharactersInRange:NSMakeRange(0x2ea0, 83)];
[set addCharactersInRange:NSMakeRange(0x2f00, 214)];
[set addCharactersInRange:NSMakeRange(0x3038, 3)];
[set addCharactersInRange:NSMakeRange(0xf900, 270)];
[set addCharactersInRange:NSMakeRange(0xfa15, 10)];
[set addCharactersInRange:NSMakeRange(0xfa25, 2)];
[set addCharactersInRange:NSMakeRange(0xfa2a, 4)];
[set addCharactersInRange:NSMakeRange(0xfa30, 59)];
[set addCharactersInRange:NSMakeRange(0x2f800, 542)];
idnCharacters = [set copy];
});
return idnCharacters;
}
 
+ (instancetype)fullWidthCharacterSetForUnicodeVersion:(NSInteger)version {
static NSMutableCharacterSet *sFullWidth8;
Loading
Loading
@@ -707,12 +1155,13 @@
 
+ (NSCharacterSet *)urlCharacterSet {
static NSMutableCharacterSet* urlChars;
if (!urlChars) {
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
NSString *chars = [iTermAdvancedSettingsModel URLCharacterSet];
urlChars = [[NSMutableCharacterSet characterSetWithCharactersInString:chars] retain];
[urlChars formUnionWithCharacterSet:[NSCharacterSet alphanumericCharacterSet]];
[urlChars formUnionWithCharacterSet:[NSCharacterSet idnCharacters]];
[urlChars retain];
}
});
 
return urlChars;
}
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment