Files
textmate/Frameworks/Preferences/src/Keys.mm
Allan Odgaard 9894969e67 Initial commit
2012-08-09 16:25:56 +02:00

165 lines
7.7 KiB
Plaintext

#import "Keys.h"
#import <OakFoundation/OakFoundation.h>
#import <plist/plist.h>
#import <plist/ascii.h>
#import <ns/ns.h>
static NSDictionary* default_environment ()
{
static std::string const DefaultVariables =
"{ variables = ("
" { enabled = :false; name = 'TM_C_POINTER'; value = '* '; },"
" { enabled = :false; name = 'TM_CXX_FLAGS'; value = '-framework Carbon -liconv -include vector -include string -include map -include cstdio -I\"$HOME/build/public/include\" -funsigned-char -Wall -Wwrite-strings -Wformat=2 -Winit-self -Wmissing-include-dirs -Wno-parentheses -Wno-sign-compare -Wno-switch'; },"
" { enabled = :false; name = 'TM_FULLNAME'; value = 'Scrooge McDuck'; },"
" { enabled = :false; name = 'TM_ORGANIZATION'; value = 'The Billionaires Club'; },"
" { enabled = :false; name = 'TM_SYS_HEADER_PATH'; value = '/usr/include/c++/4.0.0:/usr/include:/System/Library/Frameworks'; },"
" { enabled = :false; name = 'TM_XHTML'; value = ' /'; },"
" { enabled = :true; name = 'TM_GIT'; value = '/opt/local/bin/git'; },"
" { enabled = :true; name = 'TM_HG'; value = '/opt/local/bin/hg'; },"
" { enabled = :false; name = 'TM_MAKE_FLAGS'; value = 'rj8'; },"
"); }";
return [ns::to_dictionary(plist::parse_ascii(DefaultVariables)) objectForKey:@"variables"];
}
static NSDictionary* default_settings ()
{
NSFont* defaultFont = [NSFont userFixedPitchFontOfSize:0];
NSString* excludeGlob = @"{*.{o,pyc},Icon\\r,CVS,_darcs,_MTN,\\{arch\\},blib,*~.nib}";
NSString* includeGlob = @"{.tm_properties,.htaccess}";
NSString* binaryGlob = @"*.{icns,ico,jpg,jpeg,m4v,nib,pdf,png,psd,pyc,rtf,tif,tiff,xib}";
return [NSDictionary dictionaryWithObjectsAndKeys:
@"3130E4FA-B10E-11D9-9F75-000D93589AF6", kUserDefaultsNewDocumentTypeKey,
@"UTF-8", kUserDefaultsEncodingKey,
NO_obj, kUserDefaultsUseBOMKey,
@"\n", kUserDefaultsLineEndingsKey,
YES_obj, kUserDefaultsFoldersOnTopKey,
NO_obj, kUserDefaultsShowFileExtensionsKey,
excludeGlob, kUserDefaultsExcludePatternKey,
includeGlob, kUserDefaultsIncludePatternKey,
binaryGlob, kUserDefaultsBinaryPatternKey,
default_environment(), kUserDefaultsEnvironmentVariablesKey,
NO_obj, kUserDefaultsDisableBundleUpdatesKey,
[NSDate distantPast], kUserDefaultsLastBundleUpdateCheckKey,
NO_obj, kUserDefaultsDisableRMateServerKey,
kRMateServerListenLocalhost, kUserDefaultsRMateServerListenKey,
@52698, kUserDefaultsRMateServerPortKey,
NSFullUserName(), kUserDefaultsLicenseOwnerKey,
@"$TM_DISPLAYNAME", kUserDefaultsWindowTitleKey,
@"71D40D9D-AE48-11D9-920A-000D93589AF6", kUserDefaultsThemeUUIDKey,
[defaultFont familyName], kUserDefaultsFontNameKey,
@([defaultFont pointSize]), kUserDefaultsFontSizeKey,
YES_obj, kUserDefaultsAntiAliasKey,
NO_obj, kUserDefaultsShowInvisiblesKey,
YES_obj, kUserDefaultsLineNumbersKey,
YES_obj, kUserDefaultsSoftWrapKey,
@80, kUserDefaultsWrapMarginKey,
@4, kUserDefaultsTabSizeKey,
NO_obj, kUserDefaultsSoftTabsKey,
nil];
}
static bool register_defaults ()
{
[[NSUserDefaults standardUserDefaults] registerDefaults:default_settings()];
return true;
}
void RegisterDefaults ()
{
static bool __attribute__ ((unused)) dummy = register_defaults();
}
// =========
// = Files =
// =========
NSString* const kUserDefaultsDisableSessionRestoreKey = @"disableSessionRestore";
NSString* const kUserDefaultsDisableNewDocumentAtStartupKey = @"disableNewDocumentAtStartup";
NSString* const kUserDefaultsDisableNewDocumentAtReactivationKey = @"disableNewDocumentAtReactivation";
NSString* const kUserDefaultsNewDocumentTypeKey = @"fileType";
NSString* const kUserDefaultsEncodingKey = @"encoding";
NSString* const kUserDefaultsUseBOMKey = @"useBOM"; // only when encoding = UTF-8
NSString* const kUserDefaultsLineEndingsKey = @"lineEndings";
// ============
// = Projects =
// ============
NSString* const kUserDefaultsFoldersOnTopKey = @"foldersOnTop";
NSString* const kUserDefaultsShowFileExtensionsKey = @"showFileExtensions";
NSString* const kUserDefaultsInitialFileBrowserURLKey = @"initialFileBrowserURL";
NSString* const kUserDefaultsExcludePatternKey = @"excludePattern";
NSString* const kUserDefaultsIncludePatternKey = @"includePattern";
NSString* const kUserDefaultsBinaryPatternKey = @"binaryPattern";
// ===========
// = Bundles =
// ===========
// =============
// = Variables =
// =============
NSString* const kUserDefaultsEnvironmentVariablesKey = @"environmentVariables";
// ===================
// = Software Update =
// ===================
NSString* const kUserDefaultsDisableBundleUpdatesKey = @"disableBundleUpdates";
NSString* const kUserDefaultsLastBundleUpdateCheckKey = @"lastBundleUpdateCheck";
// ============
// = Terminal =
// ============
NSString* const kUserDefaultsMateInstallPathKey = @"mateInstallPath";
NSString* const kUserDefaultsDisableRMateServerKey = @"rmateServerDisabled";
NSString* const kUserDefaultsRMateServerListenKey = @"rmateServerListen"; // localhost (default), remote
NSString* const kUserDefaultsRMateServerPortKey = @"rmateServerPort";
NSString* const kRMateServerListenLocalhost = @"localhost";
NSString* const kRMateServerListenRemote = @"remote";
// ================
// = Registration =
// ================
NSString* const kUserDefaultsLicenseOwnerKey = @"licenseOwnerName";
// ==============
// = Appearance =
// ==============
NSString* const kUserDefaultsWindowTitleKey = @"windowTitle";
NSString* const kUserDefaultsThemeUUIDKey = @"themeUUID";
NSString* const kUserDefaultsFontNameKey = @"fontName";
NSString* const kUserDefaultsFontSizeKey = @"fontSize";
NSString* const kUserDefaultsAntiAliasKey = @"antiAlias";
NSString* const kUserDefaultsShowInvisiblesKey = @"showInvisibles";
NSString* const kUserDefaultsLineNumbersKey = @"lineNumbers";
NSString* const kUserDefaultsSoftWrapKey = @"softWrap";
NSString* const kUserDefaultsWrapMarginKey = @"wrapMargin";
NSString* const kUserDefaultsTabSizeKey = @"tabSize";
NSString* const kUserDefaultsSoftTabsKey = @"softTabs";
// =========
// = Other =
// =========
NSString* const kUserDefaultsSpellCheckingKey = @"spellChecking";
NSString* const kUserDefaultsSpellingLanguageKey = @"spellingLanguage";
NSString* const kUserDefaultsFolderSearchFollowLinksKey = @"folderSearchFollowLinks";
NSString* const kUserDefaultsScopeAttributesKey = @"scopeAttributes";