Skip to content

Commit 789edaf

Browse files
committed
feat: support all nullable settings
Close #8
1 parent 70ecbf4 commit 789edaf

File tree

3 files changed

+12
-5
lines changed

3 files changed

+12
-5
lines changed

Editor/CSharpProjectModifier.cs

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,9 +28,16 @@ private static string OnGeneratedCSProject(string path, string content)
2828
if (!setting.UseDefaultCompiler)
2929
content = Regex.Replace(content, "<LangVersion>.*</LangVersion>", "<LangVersion>" + setting.LanguageVersion + "</LangVersion>", RegexOptions.Multiline);
3030

31-
// Enable nullable.
32-
if (setting.EnableNullable)
33-
content = Regex.Replace(content, "(\\s+)(<LangVersion>.*</LangVersion>)([\r\n]+)", "$1$2$3$1<Nullable>enable</Nullable>$3");
31+
// Nullable.
32+
var value = setting.Nullable.ToString().ToLower();
33+
if (Regex.IsMatch(content, "<Nullable>.*</Nullable>"))
34+
{
35+
content = Regex.Replace(content, "<Nullable>.*</Nullable>", "<Nullable>" + value + "</Nullable>");
36+
}
37+
else
38+
{
39+
content = Regex.Replace(content, "(\\s+)(<LangVersion>.*</LangVersion>)([\r\n]+)", "$1$2$3$1<Nullable>" + value + "</Nullable>$3");
40+
}
3441

3542
return content;
3643
}

Editor/CscSettingsProvider.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ private static void OnGUI(string searchContext)
3636
EditorGUILayout.PropertyField(serializedObject.FindProperty("m_PackageName"));
3737
EditorGUILayout.PropertyField(serializedObject.FindProperty("m_PackageVersion"));
3838
EditorGUILayout.PropertyField(serializedObject.FindProperty("m_LanguageVersion"));
39-
EditorGUILayout.PropertyField(serializedObject.FindProperty("m_EnableNullable"));
39+
EditorGUILayout.PropertyField(serializedObject.FindProperty("m_Nullable"));
4040
EditorGUI.indentLevel--;
4141
}
4242

Editor/InspectorGUI.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -143,7 +143,7 @@ private static void OnPostHeaderGUI(Editor editor)
143143
EditorGUILayout.PropertyField(_serializedObject.FindProperty("m_PackageName"));
144144
EditorGUILayout.PropertyField(_serializedObject.FindProperty("m_PackageVersion"));
145145
EditorGUILayout.PropertyField(_serializedObject.FindProperty("m_LanguageVersion"));
146-
EditorGUILayout.PropertyField(_serializedObject.FindProperty("m_EnableNullable"));
146+
EditorGUILayout.PropertyField(_serializedObject.FindProperty("m_Nullable"));
147147
EditorGUI.indentLevel--;
148148
}
149149

0 commit comments

Comments
 (0)