Skip to content

Commit af7efd8

Browse files
authored
Merge pull request #1314 from nachmore/warnings
Fix (some) build warnings
2 parents 0db6679 + 4a1c585 commit af7efd8

File tree

57 files changed

+437
-184
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

57 files changed

+437
-184
lines changed

.editorconfig

Lines changed: 146 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,146 @@
1+
# To learn more about .editorconfig see https://aka.ms/editorconfigdocs
2+
###############################
3+
# Core EditorConfig Options #
4+
###############################
5+
# All files
6+
[*]
7+
indent_style = space
8+
9+
# XML project files
10+
[*.{csproj,vbproj,vcxproj,vcxproj.filters,proj,projitems,shproj}]
11+
indent_size = 2
12+
13+
# XML config files
14+
[*.{props,targets,ruleset,config,nuspec,resx,vsixmanifest,vsct}]
15+
indent_size = 2
16+
17+
# Code files
18+
[*.{cs,csx,vb,vbx}]
19+
indent_size = 4
20+
insert_final_newline = true
21+
charset = utf-8-bom
22+
###############################
23+
# .NET Coding Conventions #
24+
###############################
25+
[*.{cs,vb}]
26+
# Organize usings
27+
dotnet_sort_system_directives_first = true
28+
# this. preferences
29+
dotnet_style_qualification_for_field = false:silent
30+
dotnet_style_qualification_for_property = false:silent
31+
dotnet_style_qualification_for_method = false:silent
32+
dotnet_style_qualification_for_event = false:silent
33+
# Language keywords vs BCL types preferences
34+
dotnet_style_predefined_type_for_locals_parameters_members = true:silent
35+
dotnet_style_predefined_type_for_member_access = true:silent
36+
# Parentheses preferences
37+
dotnet_style_parentheses_in_arithmetic_binary_operators = always_for_clarity:silent
38+
dotnet_style_parentheses_in_relational_binary_operators = always_for_clarity:silent
39+
dotnet_style_parentheses_in_other_binary_operators = always_for_clarity:silent
40+
dotnet_style_parentheses_in_other_operators = never_if_unnecessary:silent
41+
# Modifier preferences
42+
dotnet_style_require_accessibility_modifiers = for_non_interface_members:silent
43+
dotnet_style_readonly_field = true:suggestion
44+
# Expression-level preferences
45+
dotnet_style_object_initializer = true:suggestion
46+
dotnet_style_collection_initializer = true:suggestion
47+
dotnet_style_explicit_tuple_names = true:suggestion
48+
dotnet_style_null_propagation = true:suggestion
49+
dotnet_style_coalesce_expression = true:suggestion
50+
dotnet_style_prefer_is_null_check_over_reference_equality_method = true:silent
51+
dotnet_style_prefer_inferred_tuple_names = true:suggestion
52+
dotnet_style_prefer_inferred_anonymous_type_member_names = true:suggestion
53+
dotnet_style_prefer_auto_properties = true:silent
54+
dotnet_style_prefer_conditional_expression_over_assignment = true:silent
55+
dotnet_style_prefer_conditional_expression_over_return = true:silent
56+
###############################
57+
# Naming Conventions #
58+
###############################
59+
# Style Definitions
60+
dotnet_naming_style.pascal_case_style.capitalization = pascal_case
61+
# Use PascalCase for constant fields
62+
dotnet_naming_rule.constant_fields_should_be_pascal_case.severity = suggestion
63+
dotnet_naming_rule.constant_fields_should_be_pascal_case.symbols = constant_fields
64+
dotnet_naming_rule.constant_fields_should_be_pascal_case.style = pascal_case_style
65+
dotnet_naming_symbols.constant_fields.applicable_kinds = field
66+
dotnet_naming_symbols.constant_fields.applicable_accessibilities = *
67+
dotnet_naming_symbols.constant_fields.required_modifiers = const
68+
dotnet_style_operator_placement_when_wrapping = beginning_of_line
69+
tab_width = 2
70+
end_of_line = crlf
71+
dotnet_style_prefer_simplified_boolean_expressions = true:suggestion
72+
dotnet_style_prefer_compound_assignment = true:suggestion
73+
dotnet_diagnostic.CA1416.severity = silent
74+
###############################
75+
# C# Coding Conventions #
76+
###############################
77+
[*.cs]
78+
dotnet_diagnostics.VSTHRD200.severity = none # VSTHRD200: Use "Async" suffix for async methods
79+
dotnet_analyzer_diagnostic.VSTHRD200.severity = none # VSTHRD200: Use "Async" suffix for async methods
80+
# var preferences
81+
csharp_style_var_for_built_in_types = true:silent
82+
csharp_style_var_when_type_is_apparent = true:silent
83+
csharp_style_var_elsewhere = true:silent
84+
# Expression-bodied members
85+
csharp_style_expression_bodied_methods = false:silent
86+
csharp_style_expression_bodied_constructors = false:silent
87+
csharp_style_expression_bodied_operators = false:silent
88+
csharp_style_expression_bodied_properties = true:silent
89+
csharp_style_expression_bodied_indexers = true:silent
90+
csharp_style_expression_bodied_accessors = true:silent
91+
# Pattern matching preferences
92+
csharp_style_pattern_matching_over_is_with_cast_check = true:suggestion
93+
csharp_style_pattern_matching_over_as_with_null_check = true:suggestion
94+
# Null-checking preferences
95+
csharp_style_throw_expression = true:suggestion
96+
csharp_style_conditional_delegate_call = true:suggestion
97+
# Modifier preferences
98+
csharp_preferred_modifier_order = public,private,protected,internal,static,extern,new,virtual,abstract,sealed,override,readonly,unsafe,volatile,async:suggestion
99+
# Expression-level preferences
100+
csharp_prefer_braces = true:silent
101+
csharp_style_deconstructed_variable_declaration = true:suggestion
102+
csharp_prefer_simple_default_expression = true:suggestion
103+
csharp_style_pattern_local_over_anonymous_function = true:suggestion
104+
csharp_style_inlined_variable_declaration = true:suggestion
105+
###############################
106+
# C# Formatting Rules #
107+
###############################
108+
# New line preferences
109+
csharp_new_line_before_open_brace = all
110+
csharp_new_line_before_else = true
111+
csharp_new_line_before_catch = true
112+
csharp_new_line_before_finally = true
113+
csharp_new_line_before_members_in_object_initializers = true
114+
csharp_new_line_before_members_in_anonymous_types = true
115+
csharp_new_line_between_query_expression_clauses = true
116+
# Indentation preferences
117+
csharp_indent_case_contents = true
118+
csharp_indent_switch_labels = true
119+
csharp_indent_labels = flush_left
120+
# Space preferences
121+
csharp_space_after_cast = false
122+
csharp_space_after_keywords_in_control_flow_statements = true
123+
csharp_space_between_method_call_parameter_list_parentheses = false
124+
csharp_space_between_method_declaration_parameter_list_parentheses = false
125+
csharp_space_between_parentheses = false
126+
csharp_space_before_colon_in_inheritance_clause = true
127+
csharp_space_after_colon_in_inheritance_clause = true
128+
csharp_space_around_binary_operators = before_and_after
129+
csharp_space_between_method_declaration_empty_parameter_list_parentheses = false
130+
csharp_space_between_method_call_name_and_opening_parenthesis = false
131+
csharp_space_between_method_call_empty_parameter_list_parentheses = false
132+
# Wrapping preferences
133+
csharp_preserve_single_line_statements = true
134+
csharp_preserve_single_line_blocks = true
135+
csharp_using_directive_placement = outside_namespace:silent
136+
csharp_prefer_simple_using_statement = true:suggestion
137+
csharp_style_namespace_declarations = block_scoped:silent
138+
csharp_style_prefer_method_group_conversion = true:silent
139+
csharp_style_expression_bodied_lambdas = true:silent
140+
csharp_style_expression_bodied_local_functions = false:silent
141+
###############################
142+
# VB Coding Conventions #
143+
###############################
144+
[*.vb]
145+
# Modifier preferences
146+
visual_basic_preferred_modifier_order = Partial,Default,Private,Protected,Public,Friend,NotOverridable,Overridable,MustOverride,Overloads,Overrides,MustInherit,NotInheritable,Static,Shared,Shadows,ReadOnly,WriteOnly,Dim,Const,WithEvents,Widening,Narrowing,Custom,Async:suggestion

Flow.Launcher.Core/Configuration/Portable.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
using Microsoft.Win32;
1+
using Microsoft.Win32;
22
using Squirrel;
33
using System;
44
using System.IO;
@@ -127,7 +127,7 @@ public void CreateUninstallerEntry()
127127

128128
using (var portabilityUpdater = NewUpdateManager())
129129
{
130-
portabilityUpdater.CreateUninstallerRegistryEntry();
130+
_ = portabilityUpdater.CreateUninstallerRegistryEntry();
131131
}
132132
}
133133

Flow.Launcher.Core/Flow.Launcher.Core.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@
5656
<PackageReference Include="Droplex" Version="1.4.1" />
5757
<PackageReference Include="FSharp.Core" Version="5.0.2" />
5858
<PackageReference Include="Microsoft.IO.RecyclableMemoryStream" Version="2.1.3" />
59-
<PackageReference Include="squirrel.windows" Version="1.5.2" />
59+
<PackageReference Include="squirrel.windows" Version="1.5.2" NoWarn="NU1701" />
6060
</ItemGroup>
6161

6262
<ItemGroup>

Flow.Launcher.Core/Plugin/JsonRPCPlugin.cs

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,13 @@ public List<Result> LoadContextMenus(Result selectedResult)
6969
private static readonly JsonSerializerOptions options = new()
7070
{
7171
PropertyNameCaseInsensitive = true,
72+
#pragma warning disable SYSLIB0020
73+
// IgnoreNullValues is obsolete, but the replacement JsonIgnoreCondition.WhenWritingNull still
74+
// deserializes null, instead of ignoring it and leaving the default (empty list). We can change the behaviour
75+
// to accept null and fallback to a default etc, or just keep IgnoreNullValues for now
76+
// see: https://github.com/dotnet/runtime/issues/39152
7277
IgnoreNullValues = true,
78+
#pragma warning restore SYSLIB0020 // Type or member is obsolete
7379
Converters =
7480
{
7581
new JsonObjectConverter()
@@ -82,7 +88,7 @@ public List<Result> LoadContextMenus(Result selectedResult)
8288
};
8389
private Dictionary<string, object> Settings { get; set; }
8490

85-
private Dictionary<string, FrameworkElement> _settingControls = new();
91+
private readonly Dictionary<string, FrameworkElement> _settingControls = new();
8692

8793
private async Task<List<Result>> DeserializedResultAsync(Stream output)
8894
{
@@ -535,4 +541,4 @@ public void UpdateSettings(Dictionary<string, object> settings)
535541
}
536542
}
537543
}
538-
}
544+
}

Flow.Launcher.Core/Plugin/PluginManager.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ public static async ValueTask DisposePluginsAsync()
7474
}
7575
}
7676

77-
public static async Task ReloadData()
77+
public static async Task ReloadDataAsync()
7878
{
7979
await Task.WhenAll(AllPlugins.Select(plugin => plugin.Plugin switch
8080
{
@@ -109,7 +109,7 @@ public static void LoadPlugins(PluginsSettings settings)
109109
/// Call initialize for all plugins
110110
/// </summary>
111111
/// <returns>return the list of failed to init plugins or null for none</returns>
112-
public static async Task InitializePlugins(IPublicAPI api)
112+
public static async Task InitializePluginsAsync(IPublicAPI api)
113113
{
114114
API = api;
115115
var failedPlugins = new ConcurrentQueue<PluginPair>();
@@ -327,4 +327,4 @@ public static void ReplaceActionKeyword(string id, string oldActionKeyword, stri
327327
}
328328
}
329329
}
330-
}
330+
}

Flow.Launcher.Core/Plugin/PluginsLoader.cs

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
using System;
1+
using System;
22
using System.Collections.Generic;
33
using System.IO;
44
using System.Linq;
@@ -11,7 +11,6 @@
1111
using Flow.Launcher.Infrastructure.UserSettings;
1212
using Flow.Launcher.Plugin;
1313
using Flow.Launcher.Plugin.SharedCommands;
14-
using System.Diagnostics;
1514
using Stopwatch = Flow.Launcher.Infrastructure.Stopwatch;
1615

1716
namespace Flow.Launcher.Core.Plugin
@@ -41,14 +40,6 @@ public static IEnumerable<PluginPair> DotNetPlugins(List<PluginMetadata> source)
4140
var milliseconds = Stopwatch.Debug(
4241
$"|PluginsLoader.DotNetPlugins|Constructor init cost for {metadata.Name}", () =>
4342
{
44-
#if DEBUG
45-
var assemblyLoader = new PluginAssemblyLoader(metadata.ExecuteFilePath);
46-
var assembly = assemblyLoader.LoadAssemblyAndDependencies();
47-
var type = assemblyLoader.FromAssemblyGetTypeOfInterface(assembly,
48-
typeof(IAsyncPlugin));
49-
50-
var plugin = Activator.CreateInstance(type) as IAsyncPlugin;
51-
#else
5243
Assembly assembly = null;
5344
IAsyncPlugin plugin = null;
5445

@@ -62,6 +53,12 @@ public static IEnumerable<PluginPair> DotNetPlugins(List<PluginMetadata> source)
6253

6354
plugin = Activator.CreateInstance(type) as IAsyncPlugin;
6455
}
56+
#if DEBUG
57+
catch (Exception e)
58+
{
59+
throw;
60+
}
61+
#else
6562
catch (Exception e) when (assembly == null)
6663
{
6764
Log.Exception($"|PluginsLoader.DotNetPlugins|Couldn't load assembly for the plugin: {metadata.Name}", e);
@@ -79,6 +76,7 @@ public static IEnumerable<PluginPair> DotNetPlugins(List<PluginMetadata> source)
7976
Log.Exception($"|PluginsLoader.DotNetPlugins|The following plugin has errored and can not be loaded: <{metadata.Name}>", e);
8077
}
8178
#endif
79+
8280
if (plugin == null)
8381
{
8482
erroredPlugins.Add(metadata.Name);
@@ -98,7 +96,7 @@ public static IEnumerable<PluginPair> DotNetPlugins(List<PluginMetadata> source)
9896
+ (erroredPlugins.Count > 1 ? "plugins have " : "plugin has ")
9997
+ "errored and cannot be loaded:";
10098

101-
Task.Run(() =>
99+
_ = Task.Run(() =>
102100
{
103101
MessageBox.Show($"{errorMessage}{Environment.NewLine}{Environment.NewLine}" +
104102
$"{errorPluginString}{Environment.NewLine}{Environment.NewLine}" +
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
using System.Runtime.CompilerServices;
22

3-
[assembly: InternalsVisibleTo("Flow.Launcher.Test")]
3+
[assembly: InternalsVisibleTo("Flow.Launcher.Test")]

Flow.Launcher.Core/Resource/Theme.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
using System;
1+
using System;
22
using System.Collections.Generic;
33
using System.IO;
44
using System.Linq;
@@ -102,7 +102,7 @@ public bool ChangeTheme(string theme)
102102

103103
SetBlurForWindow();
104104
}
105-
catch (DirectoryNotFoundException e)
105+
catch (DirectoryNotFoundException)
106106
{
107107
Log.Error($"|Theme.ChangeTheme|Theme <{theme}> path can't be found");
108108
if (theme != defaultTheme)
@@ -112,7 +112,7 @@ public bool ChangeTheme(string theme)
112112
}
113113
return false;
114114
}
115-
catch (XamlParseException e)
115+
catch (XamlParseException)
116116
{
117117
Log.Error($"|Theme.ChangeTheme|Theme <{theme}> fail to parse");
118118
if (theme != defaultTheme)

Flow.Launcher.Core/Updater.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
using System;
1+
using System;
22
using System.Collections.Generic;
33
using System.Net;
44
using System.Net.Http;
@@ -40,7 +40,7 @@ public async Task UpdateAppAsync(IPublicAPI api, bool silentUpdate = true)
4040
api.ShowMsg(api.GetTranslation("pleaseWait"),
4141
api.GetTranslation("update_flowlauncher_update_check"));
4242

43-
using var updateManager = await GitHubUpdateManager(GitHubRepository).ConfigureAwait(false);
43+
using var updateManager = await GitHubUpdateManagerAsync(GitHubRepository).ConfigureAwait(false);
4444

4545
// UpdateApp CheckForUpdate will return value only if the app is squirrel installed
4646
var newUpdateInfo = await updateManager.CheckForUpdate().NonNull().ConfigureAwait(false);
@@ -115,7 +115,7 @@ private class GithubRelease
115115
}
116116

117117
/// https://github.com/Squirrel/Squirrel.Windows/blob/master/src/Squirrel/UpdateManager.Factory.cs
118-
private async Task<UpdateManager> GitHubUpdateManager(string repository)
118+
private async Task<UpdateManager> GitHubUpdateManagerAsync(string repository)
119119
{
120120
var uri = new Uri(repository);
121121
var api = $"https://api.github.com/repos{uri.AbsolutePath}/releases";
@@ -145,4 +145,4 @@ public string NewVersinoTips(string version)
145145
}
146146

147147
}
148-
}
148+
}

Flow.Launcher.Infrastructure/Exception/ExceptionFormatter.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ private static string CreateExceptionReport(System.Exception ex)
7878
sb.AppendLine();
7979
sb.AppendLine("## Assemblies - " + AppDomain.CurrentDomain.FriendlyName);
8080
sb.AppendLine();
81-
foreach (var ass in AppDomain.CurrentDomain.GetAssemblies().OrderBy(o => o.GlobalAssemblyCache ? 50 : 0))
81+
foreach (var ass in AppDomain.CurrentDomain.GetAssemblies())
8282
{
8383
sb.Append("* ");
8484
sb.Append(ass.FullName);
@@ -166,7 +166,7 @@ private static List<string> GetFrameworkVersionFromRegistry()
166166
}
167167
return result;
168168
}
169-
catch (System.Exception e)
169+
catch
170170
{
171171
return new List<string>();
172172
}

0 commit comments

Comments
 (0)