/*
  Strings for user-modifiable options in the Tulsi Xcode project generator.
  Each string key is a user-editable option for the project generator.
  Each key may have an optional _DESC pairing that provides a detailed description of the option
    (e.g., to be used in a tooltip or help string)
*/

"ALWAYS_SEARCH_USER_PATHS" = "Always search user paths";
"ALWAYS_SEARCH_USER_PATHS_DESC" ="Whether to search for all headers (not just \"\" included ones) in the user header search paths before system paths.";

"BazelBuildOptions" = "'build' options";
"BazelBuildOptions_DESC" = "Options for bazel 'build' invocations.";
"BazelBuildOptionsDebug" = "Debug";
"BazelBuildOptionsFastbuild" = "Fastbuild";
"BazelBuildOptionsRelease" = "Release";

"BazelBuildOptionsProjectGenerationOnly" = "'build' options ONLY for project generation";
"BazelBuildOptionsProjectGenerationOnly_DESC" = "You can override the --config used for the aspect here (i.e. to --config=ios_arm64).";

"BazelBuildStartupOptions" = "'build' startup options";
"BazelBuildStartupOptions_DESC" = "Startup options for bazel 'build' invocations.";
"BazelBuildStartupOptionsDebug" = "Debug";
"BazelBuildStartupOptionsFastbuild" = "Fastbuild";
"BazelBuildStartupOptionsRelease" = "Release";

"BazelContinueBuildingAfterError" = "Continue building after error";

"UseAspectForTestSuites" = "Expand test_suites via an aspect instead of bazel query.";
"UseAspectForTestSuites_DESC" = "Requires a Bazel which supports --noexpand_test_suites";

"DisableDBGShellCommandsCaching" = "Disable DBGShellCommands caching of dSYM bundles.";
"DisableDBGShellCommandsCaching_DESC" = "Explicitly turns off all actions surrounding caching paths for dSYM bundles in a local SQLite database.";

"DisableNormalizedDebugPrefixMap" = "Disable debug info normalization.";
"DisableNormalizedDebugPrefixMap_DESC" = "Disable normalization of all debug information to a common root, in this case the root of '.'. Projects with Swift sources cannot normalize debug information, regardless of this setting.";

"ImprovedImportAutocompletionFix" = "Improve #include/#import auto-completion through the use of USER_HEADER_SEARCH_PATHS";

"CommandlineArguments" = "Commandline arguments";
"EnvironmentVariables" = "Environment variables";

"PreActionScriptOptions" = "PreActionScripts";
"PostActionScriptOptions" = "PostActionScripts";
"BuildActionPreActionScript" = "Build";
"BuildActionPostActionScript" = "Build";
"LaunchActionPreActionScript" = "Run";
"LaunchActionPostActionScript" = "Run";
"TestActionPreActionScript" = "Test";
"TestActionPostActionScript" = "Test";

"SuppressSwiftUpdateCheck" = "Suppress Xcode Swift update check";
"SuppressSwiftUpdateCheck_DESC" = "Suppresses Xcode's update notification for projects containing Swift code. This asserts that the Swift code is at least version 2.1.";

"IncludeBuildSources" = "Include Bazel sources in the generated project.";
"IncludeBuildSources_DESC" = "Add .bzl and BUILD files related to selected targets in the generated Xcode project. This may slow down project generation significantly.";

