#include <oak/misc.h>

// =======
// = API =
// =======

PUBLIC void RegisterDefaults ();

// =========
// = Files =
// =========

PUBLIC extern NSString* const kUserDefaultsDisableSessionRestoreKey;
PUBLIC extern NSString* const kUserDefaultsDisableNewDocumentAtStartupKey;
PUBLIC extern NSString* const kUserDefaultsDisableNewDocumentAtReactivationKey;
PUBLIC extern NSString* const kUserDefaultsShowFavoritesInsteadOfUntitledKey;

// ============
// = Projects =
// ============

PUBLIC extern NSString* const kUserDefaultsFoldersOnTopKey;
PUBLIC extern NSString* const kUserDefaultsShowFileExtensionsKey;
PUBLIC extern NSString* const kUserDefaultsInitialFileBrowserURLKey;
PUBLIC extern NSString* const kUserDefaultsFileBrowserPlacementKey;
PUBLIC extern NSString* const kUserDefaultsFileBrowserSingleClickToOpenKey;
PUBLIC extern NSString* const kUserDefaultsFileBrowserOpenAnimationDisabled;
PUBLIC extern NSString* const kUserDefaultsFileBrowserStyleKey;
PUBLIC extern NSString* const kUserDefaultsHTMLOutputPlacementKey;
PUBLIC extern NSString* const kUserDefaultsTabsAboveDocumentKey;
PUBLIC extern NSString* const kUserDefaultsDisableFileBrowserWindowResizeKey;
PUBLIC extern NSString* const kUserDefaultsAutoRevealFileKey;
PUBLIC extern NSString* const kUserDefaultsAllowExpandingLinksKey;
PUBLIC extern NSString* const kUserDefaultsDisableTabReorderingKey;
PUBLIC extern NSString* const kUserDefaultsDisableTabAutoCloseKey;

// ===========
// = Bundles =
// ===========

// =============
// = Variables =
// =============

PUBLIC extern NSString* const kUserDefaultsEnvironmentVariablesKey;

// ============
// = Terminal =
// ============

PUBLIC extern NSString* const kUserDefaultsMateInstallPathKey;
PUBLIC extern NSString* const kUserDefaultsMateInstallVersionKey;

PUBLIC extern NSString* const kUserDefaultsDisableRMateServerKey;
PUBLIC extern NSString* const kUserDefaultsRMateServerListenKey;
PUBLIC extern NSString* const kUserDefaultsRMateServerPortKey;

PUBLIC extern NSString* const kRMateServerListenLocalhost;
PUBLIC extern NSString* const kRMateServerListenRemote;

// ================
// = Registration =
// ================

PUBLIC extern NSString* const kUserDefaultsLicenseOwnerKey;

// ==============
// = Appearance =
// ==============

PUBLIC extern NSString* const kUserDefaultsDisableAntiAliasKey;
PUBLIC extern NSString* const kUserDefaultsLineNumbersKey;

// =========
// = Other =
// =========

PUBLIC extern NSString* const kUserDefaultsFolderSearchFollowLinksKey;
