diff --git a/Flow.Launcher.Localization.Analyzers/AnalyzerReleases.Unshipped.md b/Flow.Launcher.Localization.Analyzers/AnalyzerReleases.Unshipped.md deleted file mode 100644 index d5f177c..0000000 --- a/Flow.Launcher.Localization.Analyzers/AnalyzerReleases.Unshipped.md +++ /dev/null @@ -1,11 +0,0 @@ -; Unshipped analyzer release -; https://github.com/dotnet/roslyn-analyzers/blob/main/src/Microsoft.CodeAnalysis.Analyzers/ReleaseTrackingAnalyzers.Help.md -### New Rules - -Rule ID | Category | Severity | Notes ---------|----------|----------|------- -FLAN0001 | Localization | Warning | FLAN0001_OldLocalizationApiUsed -FLAN0002 | Localization | Error | FLAN0002_ContextIsAField -FLAN0003 | Localization | Error | FLAN0003_ContextIsNotStatic -FLAN0004 | Localization | Error | FLAN0004_ContextAccessIsTooRestrictive -FLAN0005 | Localization | Error | FLAN0005_ContextIsNotDeclared diff --git a/Flow.Launcher.Localization.Analyzers/Flow.Launcher.Localization.Analyzers.csproj b/Flow.Launcher.Localization.Analyzers/Flow.Launcher.Localization.Analyzers.csproj deleted file mode 100644 index b22e7a5..0000000 --- a/Flow.Launcher.Localization.Analyzers/Flow.Launcher.Localization.Analyzers.csproj +++ /dev/null @@ -1,19 +0,0 @@ - - - - 1.0.0 - netstandard2.0 - true - Flow.Launcher.Localization.Analyzers - - - - - all - runtime; build; native; contentfiles; analyzers; buildtransitive - - - - - - diff --git a/Flow.Launcher.Localization.SourceGenerators/AnalyzerReleases.Shipped.md b/Flow.Launcher.Localization.SourceGenerators/AnalyzerReleases.Shipped.md deleted file mode 100644 index 5ccc9f0..0000000 --- a/Flow.Launcher.Localization.SourceGenerators/AnalyzerReleases.Shipped.md +++ /dev/null @@ -1,2 +0,0 @@ -; Shipped analyzer releases -; https://github.com/dotnet/roslyn-analyzers/blob/main/src/Microsoft.CodeAnalysis.Analyzers/ReleaseTrackingAnalyzers.Help.md diff --git a/Flow.Launcher.Localization.SourceGenerators/Flow.Launcher.Localization.SourceGenerators.csproj b/Flow.Launcher.Localization.SourceGenerators/Flow.Launcher.Localization.SourceGenerators.csproj deleted file mode 100644 index 784d8fc..0000000 --- a/Flow.Launcher.Localization.SourceGenerators/Flow.Launcher.Localization.SourceGenerators.csproj +++ /dev/null @@ -1,18 +0,0 @@ - - - - 1.0.0 - netstandard2.0 - true - Flow.Launcher.Localization.SourceGenerators - - - - - all - runtime; build; native; contentfiles; analyzers; buildtransitive - - - - - diff --git a/Flow.Launcher.Localization.slnx b/Flow.Launcher.Localization.slnx index dc9bd15..3a90736 100644 --- a/Flow.Launcher.Localization.slnx +++ b/Flow.Launcher.Localization.slnx @@ -1,5 +1,3 @@ - - diff --git a/Flow.Launcher.Localization.Analyzers/AnalyzerReleases.Shipped.md b/Flow.Launcher.Localization/AnalyzerReleases.Shipped.md similarity index 100% rename from Flow.Launcher.Localization.Analyzers/AnalyzerReleases.Shipped.md rename to Flow.Launcher.Localization/AnalyzerReleases.Shipped.md diff --git a/Flow.Launcher.Localization.SourceGenerators/AnalyzerReleases.Unshipped.md b/Flow.Launcher.Localization/AnalyzerReleases.Unshipped.md similarity index 66% rename from Flow.Launcher.Localization.SourceGenerators/AnalyzerReleases.Unshipped.md rename to Flow.Launcher.Localization/AnalyzerReleases.Unshipped.md index f60d258..72be87c 100644 --- a/Flow.Launcher.Localization.SourceGenerators/AnalyzerReleases.Unshipped.md +++ b/Flow.Launcher.Localization/AnalyzerReleases.Unshipped.md @@ -1,9 +1,15 @@ -; Shipped analyzer releases +; Unshipped analyzer release ; https://github.com/dotnet/roslyn-analyzers/blob/main/src/Microsoft.CodeAnalysis.Analyzers/ReleaseTrackingAnalyzers.Help.md + ### New Rules Rule ID | Category | Severity | Notes --------|----------|----------|------- +FLAN0001 | Localization | Warning | FLAN0001_OldLocalizationApiUsed +FLAN0002 | Localization | Error | FLAN0002_ContextIsAField +FLAN0003 | Localization | Error | FLAN0003_ContextIsNotStatic +FLAN0004 | Localization | Error | FLAN0004_ContextAccessIsTooRestrictive +FLAN0005 | Localization | Error | FLAN0005_ContextIsNotDeclared FLSG0001 | Localization | Warning | FLSG0001_CouldNotFindResourceDictionaries FLSG0002 | Localization | Warning | FLSG0002_CouldNotFindPluginEntryClass FLSG0003 | Localization | Warning | FLSG0003_CouldNotFindContextProperty diff --git a/Flow.Launcher.Localization.Analyzers/Localize/ContextAvailabilityAnalyzer.cs b/Flow.Launcher.Localization/Analyzers/ContextAvailabilityAnalyzer.cs similarity index 97% rename from Flow.Launcher.Localization.Analyzers/Localize/ContextAvailabilityAnalyzer.cs rename to Flow.Launcher.Localization/Analyzers/ContextAvailabilityAnalyzer.cs index 8123d25..9e94325 100644 --- a/Flow.Launcher.Localization.Analyzers/Localize/ContextAvailabilityAnalyzer.cs +++ b/Flow.Launcher.Localization/Analyzers/ContextAvailabilityAnalyzer.cs @@ -1,11 +1,12 @@ using System.Collections.Immutable; using System.Linq; +using Flow.Launcher.Localization.Diagnostics; using Microsoft.CodeAnalysis; using Microsoft.CodeAnalysis.CSharp; using Microsoft.CodeAnalysis.CSharp.Syntax; using Microsoft.CodeAnalysis.Diagnostics; -namespace Flow.Launcher.Localization.Analyzers.Localize +namespace Flow.Launcher.Localization.Analyzers { [DiagnosticAnalyzer(LanguageNames.CSharp)] public class ContextAvailabilityAnalyzer : DiagnosticAnalyzer diff --git a/Flow.Launcher.Localization.Analyzers/Localize/ContextAvailabilityAnalyzerCodeFixProvider.cs b/Flow.Launcher.Localization/Analyzers/ContextAvailabilityAnalyzerCodeFixProvider.cs similarity index 98% rename from Flow.Launcher.Localization.Analyzers/Localize/ContextAvailabilityAnalyzerCodeFixProvider.cs rename to Flow.Launcher.Localization/Analyzers/ContextAvailabilityAnalyzerCodeFixProvider.cs index e009c03..ce13373 100644 --- a/Flow.Launcher.Localization.Analyzers/Localize/ContextAvailabilityAnalyzerCodeFixProvider.cs +++ b/Flow.Launcher.Localization/Analyzers/ContextAvailabilityAnalyzerCodeFixProvider.cs @@ -2,6 +2,7 @@ using System.Composition; using System.Linq; using System.Threading.Tasks; +using Flow.Launcher.Localization.Diagnostics; using Microsoft.CodeAnalysis; using Microsoft.CodeAnalysis.CodeActions; using Microsoft.CodeAnalysis.CodeFixes; @@ -11,7 +12,7 @@ using Microsoft.CodeAnalysis.Simplification; using Microsoft.CodeAnalysis.Text; -namespace Flow.Launcher.Localization.Analyzers.Localize +namespace Flow.Launcher.Localization.Analyzers { [ExportCodeFixProvider(LanguageNames.CSharp, Name = nameof(ContextAvailabilityAnalyzerCodeFixProvider)), Shared] public class ContextAvailabilityAnalyzerCodeFixProvider : CodeFixProvider diff --git a/Flow.Launcher.Localization.Analyzers/Localize/OldGetTranslateAnalyzer.cs b/Flow.Launcher.Localization/Analyzers/OldGetTranslateAnalyzer.cs similarity index 98% rename from Flow.Launcher.Localization.Analyzers/Localize/OldGetTranslateAnalyzer.cs rename to Flow.Launcher.Localization/Analyzers/OldGetTranslateAnalyzer.cs index f845b98..7538bc4 100644 --- a/Flow.Launcher.Localization.Analyzers/Localize/OldGetTranslateAnalyzer.cs +++ b/Flow.Launcher.Localization/Analyzers/OldGetTranslateAnalyzer.cs @@ -1,11 +1,12 @@ using System.Collections.Immutable; using System.Linq; +using Flow.Launcher.Localization.Diagnostics; using Microsoft.CodeAnalysis; using Microsoft.CodeAnalysis.CSharp; using Microsoft.CodeAnalysis.CSharp.Syntax; using Microsoft.CodeAnalysis.Diagnostics; -namespace Flow.Launcher.Localization.Analyzers.Localize +namespace Flow.Launcher.Localization.Analyzers { [DiagnosticAnalyzer(LanguageNames.CSharp)] public class OldGetTranslateAnalyzer : DiagnosticAnalyzer diff --git a/Flow.Launcher.Localization.Analyzers/Localize/OldGetTranslateAnalyzerCodeFixProvider.cs b/Flow.Launcher.Localization/Analyzers/OldGetTranslateAnalyzerCodeFixProvider.cs similarity index 95% rename from Flow.Launcher.Localization.Analyzers/Localize/OldGetTranslateAnalyzerCodeFixProvider.cs rename to Flow.Launcher.Localization/Analyzers/OldGetTranslateAnalyzerCodeFixProvider.cs index 37552ce..162fef9 100644 --- a/Flow.Launcher.Localization.Analyzers/Localize/OldGetTranslateAnalyzerCodeFixProvider.cs +++ b/Flow.Launcher.Localization/Analyzers/OldGetTranslateAnalyzerCodeFixProvider.cs @@ -2,13 +2,14 @@ using System.Composition; using System.Linq; using System.Threading.Tasks; +using Flow.Launcher.Localization.Diagnostics; using Microsoft.CodeAnalysis; using Microsoft.CodeAnalysis.CodeActions; using Microsoft.CodeAnalysis.CodeFixes; using Microsoft.CodeAnalysis.CSharp; using Microsoft.CodeAnalysis.CSharp.Syntax; -namespace Flow.Launcher.Localization.Analyzers.Localize +namespace Flow.Launcher.Localization.Analyzers { [ExportCodeFixProvider(LanguageNames.CSharp, Name = nameof(OldGetTranslateAnalyzerCodeFixProvider)), Shared] public class OldGetTranslateAnalyzerCodeFixProvider : CodeFixProvider @@ -60,7 +61,6 @@ private static Document FixOldTranslation(CodeFixContext context, SyntaxNode roo return context.Document; } - private static string GetTranslationKey(ExpressionSyntax syntax) { if ( @@ -72,8 +72,8 @@ literalExpressionSyntax.Token.Value is string translationKey } private static Document FixOldTranslationWithoutStringFormat( - CodeFixContext context, string translationKey, SyntaxNode root, InvocationExpressionSyntax invocationExpr - ) { + CodeFixContext context, string translationKey, SyntaxNode root, InvocationExpressionSyntax invocationExpr) + { var newInvocationExpr = SyntaxFactory.ParseExpression( $"Localize.{translationKey}()" ); @@ -101,14 +101,13 @@ private static Document FixOldTranslationWithStringFormat( SeparatedSyntaxList argumentList, string translationKey2, SyntaxNode root, - InvocationExpressionSyntax invocationExpr - ) { + InvocationExpressionSyntax invocationExpr) + { var newArguments = string.Join(", ", argumentList.Skip(1).Select(a => a.Expression)); var newInnerInvocationExpr = SyntaxFactory.ParseExpression($"Localize.{translationKey2}({newArguments})"); var newRoot = root.ReplaceNode(invocationExpr, newInnerInvocationExpr); return context.Document.WithSyntaxRoot(newRoot); } - } } diff --git a/Flow.Launcher.Localization.Analyzers/AnalyzerDiagnostics.cs b/Flow.Launcher.Localization/Diagnostics/AnalyzerDiagnostics.cs similarity index 97% rename from Flow.Launcher.Localization.Analyzers/AnalyzerDiagnostics.cs rename to Flow.Launcher.Localization/Diagnostics/AnalyzerDiagnostics.cs index 2f910d3..6d6e993 100644 --- a/Flow.Launcher.Localization.Analyzers/AnalyzerDiagnostics.cs +++ b/Flow.Launcher.Localization/Diagnostics/AnalyzerDiagnostics.cs @@ -1,6 +1,6 @@ using Microsoft.CodeAnalysis; -namespace Flow.Launcher.Localization.Analyzers +namespace Flow.Launcher.Localization.Diagnostics { public static class AnalyzerDiagnostics { diff --git a/Flow.Launcher.Localization.SourceGenerators/SourceGeneratorDiagnostics.cs b/Flow.Launcher.Localization/Diagnostics/SourceGeneratorDiagnostics.cs similarity index 98% rename from Flow.Launcher.Localization.SourceGenerators/SourceGeneratorDiagnostics.cs rename to Flow.Launcher.Localization/Diagnostics/SourceGeneratorDiagnostics.cs index 710600d..7f0d3b4 100644 --- a/Flow.Launcher.Localization.SourceGenerators/SourceGeneratorDiagnostics.cs +++ b/Flow.Launcher.Localization/Diagnostics/SourceGeneratorDiagnostics.cs @@ -1,6 +1,6 @@ using Microsoft.CodeAnalysis; -namespace Flow.Launcher.Localization.SourceGenerators +namespace Flow.Launcher.Localization.Diagnostics { public static class SourceGeneratorDiagnostics { diff --git a/Flow.Launcher.Localization/Flow.Launcher.Localization.csproj b/Flow.Launcher.Localization/Flow.Launcher.Localization.csproj index e572c05..a0c4cca 100644 --- a/Flow.Launcher.Localization/Flow.Launcher.Localization.csproj +++ b/Flow.Launcher.Localization/Flow.Launcher.Localization.csproj @@ -1,15 +1,19 @@  - 1.0.0 + 0.0.1 netstandard2.0 true Flow.Launcher.Localization - - + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + + + diff --git a/Flow.Launcher.Localization.SourceGenerators/Localize/LocalizeSourceGenerator.cs b/Flow.Launcher.Localization/Generators/LocalizeSourceGenerator.cs similarity index 99% rename from Flow.Launcher.Localization.SourceGenerators/Localize/LocalizeSourceGenerator.cs rename to Flow.Launcher.Localization/Generators/LocalizeSourceGenerator.cs index 4c97db5..634d91b 100644 --- a/Flow.Launcher.Localization.SourceGenerators/Localize/LocalizeSourceGenerator.cs +++ b/Flow.Launcher.Localization/Generators/LocalizeSourceGenerator.cs @@ -4,12 +4,13 @@ using System.Text; using System.Text.RegularExpressions; using System.Xml.Linq; +using Flow.Launcher.Localization.Diagnostics; using Microsoft.CodeAnalysis; using Microsoft.CodeAnalysis.CSharp; using Microsoft.CodeAnalysis.CSharp.Syntax; using Microsoft.CodeAnalysis.Text; -namespace Flow.Launcher.Localization.SourceGenerators.Localize +namespace Flow.Launcher.Localization.Generators { [Generator] public partial class LocalizeSourceGenerator : ISourceGenerator