/// <summary> /// Set existing numbers based on the naming scheme set in the project settings /// </summary> /// <param name="objects">The list of objects to get the names from</param> /// <param name="ExistingNumbers">The list of ExistingNumbers to set</param> /// <param name="namingScheme">The naming scheme to use</param> void SetExistingNumbers(List <GameObject> objects, List <int> ExistingNumbers, NamingScheme namingScheme) { foreach (GameObject obj in objects) { string name = obj.name; if (name.Contains(prefab.name) && name.Any(char.IsDigit)) { int num = 0; switch (namingScheme) { case NamingScheme.SpaceParenthesis: char[] charsToTrim = { '(', ')' }; num = GetExistingNumber(name, name.Split(' '), charsToTrim); break; case NamingScheme.Dot: num = GetExistingNumber(name, name.Split('.')); break; case NamingScheme.Underscore: num = GetExistingNumber(name, name.Split('_')); break; } if (num != 0) { ExistingNumbers.Add(num); } else { Debug.LogError("The selected object cannot be renamed, as there are several naming schemes used"); } } } }
// --------------------------------------------------------------------------------- /// Convert the given name to a local variable name using the predefined naming /// scheme. /// /// @param name The name to be converted. /// @return The converted name. /// public static string ToLocalVariableName(string name) { string prefix = "the"; NamingScheme namingScheme = NamingScheme.LOWER_CAMEL_CASE; return(ToCodeName(namingScheme, name, prefix)); }
// --------------------------------------------------------------------------------- /// Convert the given name to a private class field name using the predefined naming /// scheme. /// /// @param name The name to be converted. /// @return The converted name. /// public static string ToPrivateStaticFieldName(string name) { string prefix = "p_our"; NamingScheme namingScheme = NamingScheme.LOWER_CAMEL_CASE; return(ToCodeName(namingScheme, name, prefix)); }
// ================================================================================= // Programmatic name conversions // --------------------------------------------------------------------------------- /// Convert the given name to a function parameter name using the predefined naming /// scheme. /// /// @param name The name to be converted. /// @return The converted name. /// public static string ToFunctionParameterName(string name) { string prefix = ""; NamingScheme namingScheme = NamingScheme.LOWER_CAMEL_CASE; return(ToCodeName(namingScheme, name, prefix)); }
// --------------------------------------------------------------------------------- public static string ToNamingScheme(NamingScheme namingScheme, string name) { switch (namingScheme) { case NamingScheme.VISUAL_EDITOR: { return(ToDisplayName(name)); } case NamingScheme.LOWER_CAMEL_CASE: { return(ToLowerCamelCase(name)); } case NamingScheme.UPPER_CAMEL_CASE: { return(ToUpperCamelCase(name)); } case NamingScheme.SNAKE_CASE: { return(ToSnakeCase(name)); } case NamingScheme.LOWER_SNAKE_CASE: { return(ToLowerSnakeCase(name)); } case NamingScheme.UPPER_SNAKE_CASE: { return(ToUpperSnakeCase(name)); } } return(ToUpperCamelCase(name)); }
// --------------------------------------------------------------------------------- /// Convert the given name to a type name using the predefined naming /// scheme. /// /// @param name The name to be converted. /// @return The converted name. /// public static string ToTypeName(string name) { string prefix = null; NamingScheme namingScheme = NamingScheme.UPPER_CAMEL_CASE; return(ToCodeName(namingScheme, name, prefix)); }
// --------------------------------------------------------------------------------- /// Convert the given name to a private function name using the predefined naming /// scheme. /// /// @param name The name to be converted. /// @return The converted name. /// public static string ToPrivateStaticFunctionName(string name) { string prefix = null; NamingScheme namingScheme = NamingScheme.UPPER_CAMEL_CASE; return(ToCodeName(namingScheme, name, prefix)); }
void SetNamingScheme() { #if UNITY_2020_OR_NEWER namingScheme = EditorSettings.gameObjectNamingScheme; #else namingScheme = NamingScheme.SpaceParenthesis; #endif }
/// <summary> /// Sets the identity (Key) of the object. It is important to set the identity in situations /// where you want to track multiple objects of the same type, so Jot can know which data belongs /// to what object. Otherwise, they will use the same data which is usually not what you want. /// </summary> /// <param name="key"></param> /// <param name="storeNamingScheme"></param> /// <returns></returns> public TrackingConfiguration IdentifyAs(string key, NamingScheme storeNamingScheme = NamingScheme.TypeNameAndKey) { if (TargetStore != null) { throw new InvalidOperationException("Can't set key after TargetStore has been set (which happens the first time Apply() or Persist() is called)."); } Key = key; StoreNamingScheme = storeNamingScheme; return(this); }
public void SetNamingScheme() { ProductContext context = GetContext(namingOptions: new NamingOptions().SetNamingScheme(NamingScheme.SnakeCase)); IEntityType findEntityType = context.Model.FindEntityType(typeof(ProductTag)); Assert.Equal("product_tag", findEntityType.GetTableName()); Assert.Equal("product_tag_id", findEntityType.FindProperty(nameof(ProductTag.ProductTagId)).GetColumnName()); Assert.True(findEntityType.GetKeys().All(x => x.GetName() == NamingScheme.SnakeCase(x.GetDefaultName()))); Assert.True(findEntityType.GetForeignKeys().All(x => x.GetConstraintName() == NamingScheme.SnakeCase(x.GetDefaultName()))); Assert.True(findEntityType.GetIndexes().All(x => x.GetName() == NamingScheme.SnakeCase(x.GetDefaultName()))); }
public static string ToTitleCase(string s, NamingScheme namingScheme) { if (string.IsNullOrEmpty(s)) { return(s); } switch (namingScheme) { case NamingScheme.PascalCase: s = s.ToPascalCase(); break; } return(MakeValidIdentifier(s)); }
// --------------------------------------------------------------------------------- /// Converts the given name to a code formatter name usng the given naming scheme. /// A prefix can also be prepended. /// /// @param namingScheme The naming scheme used in the conversion. /// @param name The name to be converted. /// @param prefix The string to be prepended. /// @return The converted name. /// public static string ToCodeName(NamingScheme namingScheme, string name, string prefix = null) { // Don't prepend the prefix if it is already present. if (!string.IsNullOrEmpty(prefix)) { if (name.StartsWith(prefix)) { prefix = null; } } // Adjust Camel case if prefix exists. if (!string.IsNullOrEmpty(prefix)) { bool prefixEndsWithUnderscore = prefix[prefix.Length - 1] == '_'; if (prefixEndsWithUnderscore == false) { switch (namingScheme) { case NamingScheme.LOWER_CAMEL_CASE: { namingScheme = NamingScheme.UPPER_CAMEL_CASE; break; } case NamingScheme.SNAKE_CASE: case NamingScheme.LOWER_SNAKE_CASE: case NamingScheme.UPPER_SNAKE_CASE: { prefix += '_'; break; } } } } // Perform naming scheme conversion. name = ToNamingScheme(namingScheme, name); // Add prefix. if (!string.IsNullOrEmpty(prefix)) { name = AddPrefix(prefix, name); } return(name); }
public void OverrideConstraintNaming() { ProductContext context = GetContext(namingOptions: new NamingOptions().OverrideConstraintNaming(NamingScheme.SnakeCase)); IEntityType findEntityType = context.Model.FindEntityType(typeof(ProductTag)); Assert.Equal("ProductTag", findEntityType.GetTableName()); #if NET5_0_OR_GREATER Assert.Equal("ProductTagId", findEntityType.FindProperty(nameof(ProductTag.ProductTagId)).GetColumnBaseName()); #else Assert.Equal("ProductTagId", findEntityType.FindProperty(nameof(ProductTag.ProductTagId)).GetColumnName()); #endif Assert.True(findEntityType.GetKeys().All(x => x.GetName() == NamingScheme.SnakeCase(x.GetDefaultName()))); Assert.True(findEntityType.GetForeignKeys().All(x => x.GetConstraintName() == NamingScheme.SnakeCase(x.GetDefaultName()))); #if NET5_0_OR_GREATER Assert.True(findEntityType.GetIndexes().All(x => x.GetDatabaseName() == NamingScheme.SnakeCase(x.GetDefaultDatabaseName()))); #else Assert.True(findEntityType.GetIndexes().All(x => x.GetName() == NamingScheme.SnakeCase(x.GetDefaultName()))); #endif }
/// <summary> /// Initializes a new instance of the <see cref="NamingProvider"/> class. /// </summary> /// <param name="namingScheme">The naming scheme.</param> public NamingProvider(NamingScheme namingScheme) { _namingScheme = namingScheme; }
public static string ToTitleCase(string s, NamingScheme namingScheme) { if (string.IsNullOrEmpty(s)) return s; switch (namingScheme) { case NamingScheme.PascalCase: s = s.ToPascalCase(); break; } return MakeValidIdentifier(s); }