diff --git a/.vscode/launch.json b/.vscode/launch.json
index 21bd91c..549e521 100644
--- a/.vscode/launch.json
+++ b/.vscode/launch.json
@@ -9,9 +9,9 @@
"type": "coreclr",
"request": "launch",
"preLaunchTask": "build",
- "program": "${workspaceFolder}/src/FileTime.ConsoleUI/bin/Debug/net6.0/FileTime.ConsoleUI.dll",
+ "program": "${workspaceFolder}/src/ConsoleApp/FileTime.ConsoleUI/bin/Debug/net6.0/FileTime.ConsoleUI.dll",
"args": [],
- "cwd": "${workspaceFolder}/src/FileTime.ConsoleUI",
+ "cwd": "${workspaceFolder}/src/ConsoleApp/FileTime.ConsoleUI",
"console": "internalConsole",
"stopAtEntry": false
},
diff --git a/.vscode/tasks.json b/.vscode/tasks.json
index c49b360..cf3e964 100644
--- a/.vscode/tasks.json
+++ b/.vscode/tasks.json
@@ -7,7 +7,7 @@
"type": "process",
"args": [
"build",
- "${workspaceFolder}/src/FileTime.ConsoleUI/FileTime.ConsoleUI.csproj",
+ "${workspaceFolder}/src/ConsoleApp/FileTime.ConsoleUI/FileTime.ConsoleUI.csproj",
"/property:GenerateFullPaths=true",
"/consoleloggerparameters:NoSummary"
],
@@ -19,7 +19,7 @@
"type": "process",
"args": [
"publish",
- "${workspaceFolder}/src/FileTime.ConsoleUI/FileTime.ConsoleUI.csproj",
+ "${workspaceFolder}/src/ConsoleApp/FileTime.ConsoleUI/FileTime.ConsoleUI.csproj",
"/property:GenerateFullPaths=true",
"/consoleloggerparameters:NoSummary"
],
@@ -31,7 +31,7 @@
"type": "process",
"args": [
"publish",
- "${workspaceFolder}/src/FileTime.ConsoleUI/FileTime.ConsoleUI.csproj",
+ "${workspaceFolder}/src/ConsoleApp/FileTime.ConsoleUI/FileTime.ConsoleUI.csproj",
"-p:PublishSingleFile=true",
"-c",
"Release",
@@ -48,7 +48,7 @@
"type": "process",
"args": [
"publish",
- "${workspaceFolder}/src/FileTime.ConsoleUI/FileTime.ConsoleUI.csproj",
+ "${workspaceFolder}/src/ConsoleApp/FileTime.ConsoleUI/FileTime.ConsoleUI.csproj",
"-p:PublishSingleFile=true",
"-c",
"Release",
@@ -66,7 +66,7 @@
"args": [
"watch",
"run",
- "${workspaceFolder}/src/FileTime.ConsoleUI/FileTime.ConsoleUI.csproj",
+ "${workspaceFolder}/src/ConsoleApp/FileTime.ConsoleUI/FileTime.ConsoleUI.csproj",
"/property:GenerateFullPaths=true",
"/consoleloggerparameters:NoSummary"
],
diff --git a/src/FileTime.App.Core/Clipboard/Clipboard.cs b/src/AppCommon/FileTime.App.Core/Clipboard/Clipboard.cs
similarity index 100%
rename from src/FileTime.App.Core/Clipboard/Clipboard.cs
rename to src/AppCommon/FileTime.App.Core/Clipboard/Clipboard.cs
diff --git a/src/FileTime.App.Core/Clipboard/ClipboardItem.cs b/src/AppCommon/FileTime.App.Core/Clipboard/ClipboardItem.cs
similarity index 100%
rename from src/FileTime.App.Core/Clipboard/ClipboardItem.cs
rename to src/AppCommon/FileTime.App.Core/Clipboard/ClipboardItem.cs
diff --git a/src/FileTime.App.Core/Clipboard/IClipboard.cs b/src/AppCommon/FileTime.App.Core/Clipboard/IClipboard.cs
similarity index 100%
rename from src/FileTime.App.Core/Clipboard/IClipboard.cs
rename to src/AppCommon/FileTime.App.Core/Clipboard/IClipboard.cs
diff --git a/src/FileTime.App.Core/FileTime.App.Core.csproj b/src/AppCommon/FileTime.App.Core/FileTime.App.Core.csproj
similarity index 73%
rename from src/FileTime.App.Core/FileTime.App.Core.csproj
rename to src/AppCommon/FileTime.App.Core/FileTime.App.Core.csproj
index 9a2d8d9..d9400f1 100644
--- a/src/FileTime.App.Core/FileTime.App.Core.csproj
+++ b/src/AppCommon/FileTime.App.Core/FileTime.App.Core.csproj
@@ -1,13 +1,13 @@
-
-
+
+
-
-
-
-
- net6.0
- enable
- enable
-
-
-
+
+
+
+
+ net6.0
+ enable
+ enable
+
+
+
diff --git a/src/FileTime.App.Core/Tab/TabItem.cs b/src/AppCommon/FileTime.App.Core/Tab/TabItem.cs
similarity index 100%
rename from src/FileTime.App.Core/Tab/TabItem.cs
rename to src/AppCommon/FileTime.App.Core/Tab/TabItem.cs
diff --git a/src/FileTime.App.Core/Tab/TabState.cs b/src/AppCommon/FileTime.App.Core/Tab/TabState.cs
similarity index 100%
rename from src/FileTime.App.Core/Tab/TabState.cs
rename to src/AppCommon/FileTime.App.Core/Tab/TabState.cs
diff --git a/src/FileTime.App.Style.Abstraction/FileTime.App.Style.Abstraction.csproj b/src/AppCommon/FileTime.App.Style.Abstraction/FileTime.App.Style.Abstraction.csproj
similarity index 95%
rename from src/FileTime.App.Style.Abstraction/FileTime.App.Style.Abstraction.csproj
rename to src/AppCommon/FileTime.App.Style.Abstraction/FileTime.App.Style.Abstraction.csproj
index bafd05b..132c02c 100644
--- a/src/FileTime.App.Style.Abstraction/FileTime.App.Style.Abstraction.csproj
+++ b/src/AppCommon/FileTime.App.Style.Abstraction/FileTime.App.Style.Abstraction.csproj
@@ -1,9 +1,9 @@
-
-
-
- net6.0
- enable
- enable
-
-
-
+
+
+
+ net6.0
+ enable
+ enable
+
+
+
diff --git a/src/FileTime.App.Style.Abstraction/IColoredConsoleRenderer.cs b/src/AppCommon/FileTime.App.Style.Abstraction/IColoredConsoleRenderer.cs
similarity index 100%
rename from src/FileTime.App.Style.Abstraction/IColoredConsoleRenderer.cs
rename to src/AppCommon/FileTime.App.Style.Abstraction/IColoredConsoleRenderer.cs
diff --git a/src/FileTime.App.Style.Abstraction/IConsoleColor.cs b/src/AppCommon/FileTime.App.Style.Abstraction/IConsoleColor.cs
similarity index 100%
rename from src/FileTime.App.Style.Abstraction/IConsoleColor.cs
rename to src/AppCommon/FileTime.App.Style.Abstraction/IConsoleColor.cs
diff --git a/src/FileTime.App.Style.Abstraction/IStyles.cs b/src/AppCommon/FileTime.App.Style.Abstraction/IStyles.cs
similarity index 100%
rename from src/FileTime.App.Style.Abstraction/IStyles.cs
rename to src/AppCommon/FileTime.App.Style.Abstraction/IStyles.cs
diff --git a/src/FileTime.App.Style/Color/AnsiColor.cs b/src/AppCommon/FileTime.App.Style/Color/AnsiColor.cs
similarity index 100%
rename from src/FileTime.App.Style/Color/AnsiColor.cs
rename to src/AppCommon/FileTime.App.Style/Color/AnsiColor.cs
diff --git a/src/FileTime.App.Style/Color/BasicColor.cs b/src/AppCommon/FileTime.App.Style/Color/BasicColor.cs
similarity index 100%
rename from src/FileTime.App.Style/Color/BasicColor.cs
rename to src/AppCommon/FileTime.App.Style/Color/BasicColor.cs
diff --git a/src/FileTime.App.Style/Color/ColoredConsoleRenderer.cs b/src/AppCommon/FileTime.App.Style/Color/ColoredConsoleRenderer.cs
similarity index 100%
rename from src/FileTime.App.Style/Color/ColoredConsoleRenderer.cs
rename to src/AppCommon/FileTime.App.Style/Color/ColoredConsoleRenderer.cs
diff --git a/src/FileTime.App.Style/FileTime.App.Style.csproj b/src/AppCommon/FileTime.App.Style/FileTime.App.Style.csproj
similarity index 96%
rename from src/FileTime.App.Style/FileTime.App.Style.csproj
rename to src/AppCommon/FileTime.App.Style/FileTime.App.Style.csproj
index 3690ac4..7cc2cd3 100644
--- a/src/FileTime.App.Style/FileTime.App.Style.csproj
+++ b/src/AppCommon/FileTime.App.Style/FileTime.App.Style.csproj
@@ -1,13 +1,13 @@
-
-
+
+
-
-
-
- net6.0
- enable
- enable
-
-
-
+
+
+
+ net6.0
+ enable
+ enable
+
+
+
diff --git a/src/FileTime.App.Style/Styles.cs b/src/AppCommon/FileTime.App.Style/Styles.cs
similarity index 100%
rename from src/FileTime.App.Style/Styles.cs
rename to src/AppCommon/FileTime.App.Style/Styles.cs
diff --git a/src/FileTime.ConsoleUI.App/Application.CommandHandlers.cs b/src/ConsoleApp/FileTime.ConsoleUI.App/Application.CommandHandlers.cs
similarity index 100%
rename from src/FileTime.ConsoleUI.App/Application.CommandHandlers.cs
rename to src/ConsoleApp/FileTime.ConsoleUI.App/Application.CommandHandlers.cs
diff --git a/src/FileTime.ConsoleUI.App/Application.cs b/src/ConsoleApp/FileTime.ConsoleUI.App/Application.cs
similarity index 100%
rename from src/FileTime.ConsoleUI.App/Application.cs
rename to src/ConsoleApp/FileTime.ConsoleUI.App/Application.cs
diff --git a/src/FileTime.ConsoleUI.App/Command/CommandBinding.cs b/src/ConsoleApp/FileTime.ConsoleUI.App/Command/CommandBinding.cs
similarity index 100%
rename from src/FileTime.ConsoleUI.App/Command/CommandBinding.cs
rename to src/ConsoleApp/FileTime.ConsoleUI.App/Command/CommandBinding.cs
diff --git a/src/FileTime.ConsoleUI.App/Command/Commands.cs b/src/ConsoleApp/FileTime.ConsoleUI.App/Command/Commands.cs
similarity index 100%
rename from src/FileTime.ConsoleUI.App/Command/Commands.cs
rename to src/ConsoleApp/FileTime.ConsoleUI.App/Command/Commands.cs
diff --git a/src/FileTime.ConsoleUI.App/FileTime.ConsoleUI.App.csproj b/src/ConsoleApp/FileTime.ConsoleUI.App/FileTime.ConsoleUI.App.csproj
similarity index 57%
rename from src/FileTime.ConsoleUI.App/FileTime.ConsoleUI.App.csproj
rename to src/ConsoleApp/FileTime.ConsoleUI.App/FileTime.ConsoleUI.App.csproj
index fce546b..a7efdd8 100644
--- a/src/FileTime.ConsoleUI.App/FileTime.ConsoleUI.App.csproj
+++ b/src/ConsoleApp/FileTime.ConsoleUI.App/FileTime.ConsoleUI.App.csproj
@@ -1,8 +1,8 @@
-
-
-
+
+
+
diff --git a/src/FileTime.ConsoleUI.App/UI/ConsoleReader.cs b/src/ConsoleApp/FileTime.ConsoleUI.App/UI/ConsoleReader.cs
similarity index 100%
rename from src/FileTime.ConsoleUI.App/UI/ConsoleReader.cs
rename to src/ConsoleApp/FileTime.ConsoleUI.App/UI/ConsoleReader.cs
diff --git a/src/FileTime.ConsoleUI.App/UI/PrintMode.cs b/src/ConsoleApp/FileTime.ConsoleUI.App/UI/PrintMode.cs
similarity index 100%
rename from src/FileTime.ConsoleUI.App/UI/PrintMode.cs
rename to src/ConsoleApp/FileTime.ConsoleUI.App/UI/PrintMode.cs
diff --git a/src/FileTime.ConsoleUI.App/UI/Render.cs b/src/ConsoleApp/FileTime.ConsoleUI.App/UI/Render.cs
similarity index 100%
rename from src/FileTime.ConsoleUI.App/UI/Render.cs
rename to src/ConsoleApp/FileTime.ConsoleUI.App/UI/Render.cs
diff --git a/src/FileTime.ConsoleUI/FileTime.ConsoleUI.csproj b/src/ConsoleApp/FileTime.ConsoleUI/FileTime.ConsoleUI.csproj
similarity index 57%
rename from src/FileTime.ConsoleUI/FileTime.ConsoleUI.csproj
rename to src/ConsoleApp/FileTime.ConsoleUI/FileTime.ConsoleUI.csproj
index 45f9cf0..c9883d5 100644
--- a/src/FileTime.ConsoleUI/FileTime.ConsoleUI.csproj
+++ b/src/ConsoleApp/FileTime.ConsoleUI/FileTime.ConsoleUI.csproj
@@ -1,10 +1,10 @@
-
-
+
+
-
-
+
+
diff --git a/src/FileTime.ConsoleUI/Program.cs b/src/ConsoleApp/FileTime.ConsoleUI/Program.cs
similarity index 97%
rename from src/FileTime.ConsoleUI/Program.cs
rename to src/ConsoleApp/FileTime.ConsoleUI/Program.cs
index d730e86..fa58820 100644
--- a/src/FileTime.ConsoleUI/Program.cs
+++ b/src/ConsoleApp/FileTime.ConsoleUI/Program.cs
@@ -1,131 +1,131 @@
-using FileTime.App.Core.Clipboard;
-using FileTime.ConsoleUI.App;
-using FileTime.ConsoleUI.App.UI;
-using FileTime.ConsoleUI.App.UI.Color;
-using FileTime.Core.Command;
-using FileTime.Core.Models;
-using FileTime.Core.Providers;
-using FileTime.Core.StateManagement;
-using FileTime.Providers.Local;
-using Microsoft.Extensions.DependencyInjection;
-using Microsoft.Extensions.Logging;
-
-namespace FileTime.ConsoleUI
-{
- public class Program
- {
- static ILogger? _logger;
-
- public static void Main()
- {
- /* Console.Clear();
- for (var x = 0; x < 16; x++)
- {
- for (var y = 0; y < 16; y++)
- {
- var i = x * 16 + y;
- Console.Write("\u001b[48;5;{0}m{0,4}", i);
- Console.ResetColor();
- Console.Write(' ');
- }
- Console.WriteLine("\n");
- }
- return; */
-
- /* var colors = new int[][]
- {
- new int[] {0,43,54},
- new int[] {255,0,0},
- new int[] {0,255,0},
- new int[] {0,0,255},
- };
-
- foreach (var color in colors)
- {
- Console.Write($"\u001b[0m\u001b[48;2;{color[0]};{color[1]};{color[2]}mTESZT ");
- Console.WriteLine($"\u001b[0m\u001b[38;2;{color[0]};{color[1]};{color[2]}mTESZT");
- }
-
- Console.WriteLine("\u001b[0m\u001b[48;5;0;38;5;14mASD");
- return; */
-
- var serviceProvider = CreateServiceProvider();
- _logger = serviceProvider.GetService>()!;
-
- var coloredConsoleRenderer = serviceProvider.GetService()!;
- var localContentProvider = serviceProvider.GetService()!;
-
- var currentPath = Environment.CurrentDirectory.Replace(Path.DirectorySeparatorChar, Constants.SeparatorChar);
- _logger.LogInformation("Current directory: '{0}'", currentPath);
- var currentPossibleDirectory = localContentProvider.GetByPath(currentPath);
-
- if (currentPossibleDirectory is IContainer container)
- {
- coloredConsoleRenderer.Clear();
- Console.CursorVisible = false;
-
- var app = serviceProvider.GetService()!;
- app.SetContainer(container);
- app.PrintUI();
-
- while (app.IsRunning)
- {
- if (app.ProcessKey(Console.ReadKey(true)))
- {
- app.PrintUI();
- }
- }
-
- Console.SetCursorPosition(0, Console.WindowHeight - 1);
-
- Console.CursorVisible = true;
- }
- else
- {
- Console.WriteLine("Current working directory is not a directory???");
- Thread.Sleep(100);
- }
- }
-
- private static bool IsAnsiColorSupported()
- {
- Console.CursorLeft = 0;
- Console.CursorTop = 0;
-
- Console.Write("\u001b[0ma");
-
- return Console.CursorLeft == 1 && Console.CursorTop == 0;
- }
-
- private static ServiceProvider CreateServiceProvider()
- {
- return new ServiceCollection()
- .AddLogging(/* (builder) => builder.AddConsole().AddDebug() */)
- .AddSingleton()
- .AddSingleton(new Styles(IsAnsiColorSupported()))
- .AddSingleton()
- .AddSingleton()
- .AddSingleton()
- .AddSingleton(sp => sp.GetService() ?? throw new Exception($"No {nameof(LocalContentProvider)} instance found"))
- .AddSingleton()
- .AddSingleton()
- .AddSingleton()
- .AddTransient()
- .RegisterCommandHandlers()
- .BuildServiceProvider();
- }
- }
-
- internal static class ProgramExtensions
- {
- internal static IServiceCollection RegisterCommandHandlers(this IServiceCollection serviceCollection)
- {
- foreach (var commandHandler in Startup.GetCommandHandlers())
- {
- serviceCollection.AddTransient(typeof(ICommandHandler), commandHandler);
- }
-
- return serviceCollection;
- }
- }
+using FileTime.App.Core.Clipboard;
+using FileTime.ConsoleUI.App;
+using FileTime.ConsoleUI.App.UI;
+using FileTime.ConsoleUI.App.UI.Color;
+using FileTime.Core.Command;
+using FileTime.Core.Models;
+using FileTime.Core.Providers;
+using FileTime.Core.StateManagement;
+using FileTime.Providers.Local;
+using Microsoft.Extensions.DependencyInjection;
+using Microsoft.Extensions.Logging;
+
+namespace FileTime.ConsoleUI
+{
+ public class Program
+ {
+ static ILogger? _logger;
+
+ public static void Main()
+ {
+ /* Console.Clear();
+ for (var x = 0; x < 16; x++)
+ {
+ for (var y = 0; y < 16; y++)
+ {
+ var i = x * 16 + y;
+ Console.Write("\u001b[48;5;{0}m{0,4}", i);
+ Console.ResetColor();
+ Console.Write(' ');
+ }
+ Console.WriteLine("\n");
+ }
+ return; */
+
+ /* var colors = new int[][]
+ {
+ new int[] {0,43,54},
+ new int[] {255,0,0},
+ new int[] {0,255,0},
+ new int[] {0,0,255},
+ };
+
+ foreach (var color in colors)
+ {
+ Console.Write($"\u001b[0m\u001b[48;2;{color[0]};{color[1]};{color[2]}mTESZT ");
+ Console.WriteLine($"\u001b[0m\u001b[38;2;{color[0]};{color[1]};{color[2]}mTESZT");
+ }
+
+ Console.WriteLine("\u001b[0m\u001b[48;5;0;38;5;14mASD");
+ return; */
+
+ var serviceProvider = CreateServiceProvider();
+ _logger = serviceProvider.GetService>()!;
+
+ var coloredConsoleRenderer = serviceProvider.GetService()!;
+ var localContentProvider = serviceProvider.GetService()!;
+
+ var currentPath = Environment.CurrentDirectory.Replace(Path.DirectorySeparatorChar, Constants.SeparatorChar);
+ _logger.LogInformation("Current directory: '{0}'", currentPath);
+ var currentPossibleDirectory = localContentProvider.GetByPath(currentPath);
+
+ if (currentPossibleDirectory is IContainer container)
+ {
+ coloredConsoleRenderer.Clear();
+ Console.CursorVisible = false;
+
+ var app = serviceProvider.GetService()!;
+ app.SetContainer(container);
+ app.PrintUI();
+
+ while (app.IsRunning)
+ {
+ if (app.ProcessKey(Console.ReadKey(true)))
+ {
+ app.PrintUI();
+ }
+ }
+
+ Console.SetCursorPosition(0, Console.WindowHeight - 1);
+
+ Console.CursorVisible = true;
+ }
+ else
+ {
+ Console.WriteLine("Current working directory is not a directory???");
+ Thread.Sleep(100);
+ }
+ }
+
+ private static bool IsAnsiColorSupported()
+ {
+ Console.CursorLeft = 0;
+ Console.CursorTop = 0;
+
+ Console.Write("\u001b[0ma");
+
+ return Console.CursorLeft == 1 && Console.CursorTop == 0;
+ }
+
+ private static ServiceProvider CreateServiceProvider()
+ {
+ return new ServiceCollection()
+ .AddLogging(/* (builder) => builder.AddConsole().AddDebug() */)
+ .AddSingleton()
+ .AddSingleton(new Styles(IsAnsiColorSupported()))
+ .AddSingleton()
+ .AddSingleton()
+ .AddSingleton()
+ .AddSingleton(sp => sp.GetService() ?? throw new Exception($"No {nameof(LocalContentProvider)} instance found"))
+ .AddSingleton()
+ .AddSingleton()
+ .AddSingleton()
+ .AddTransient()
+ .RegisterCommandHandlers()
+ .BuildServiceProvider();
+ }
+ }
+
+ internal static class ProgramExtensions
+ {
+ internal static IServiceCollection RegisterCommandHandlers(this IServiceCollection serviceCollection)
+ {
+ foreach (var commandHandler in Startup.GetCommandHandlers())
+ {
+ serviceCollection.AddTransient(typeof(ICommandHandler), commandHandler);
+ }
+
+ return serviceCollection;
+ }
+ }
}
\ No newline at end of file
diff --git a/src/FileTime.Core/Command/CommandExecutor.cs b/src/Core/FileTime.Core/Command/CommandExecutor.cs
similarity index 100%
rename from src/FileTime.Core/Command/CommandExecutor.cs
rename to src/Core/FileTime.Core/Command/CommandExecutor.cs
diff --git a/src/FileTime.Core/Command/CopyCommand.cs b/src/Core/FileTime.Core/Command/CopyCommand.cs
similarity index 100%
rename from src/FileTime.Core/Command/CopyCommand.cs
rename to src/Core/FileTime.Core/Command/CopyCommand.cs
diff --git a/src/FileTime.Core/Command/CreateContainerCommand.cs b/src/Core/FileTime.Core/Command/CreateContainerCommand.cs
similarity index 100%
rename from src/FileTime.Core/Command/CreateContainerCommand.cs
rename to src/Core/FileTime.Core/Command/CreateContainerCommand.cs
diff --git a/src/FileTime.Core/Command/CreateElementCommand.cs b/src/Core/FileTime.Core/Command/CreateElementCommand.cs
similarity index 100%
rename from src/FileTime.Core/Command/CreateElementCommand.cs
rename to src/Core/FileTime.Core/Command/CreateElementCommand.cs
diff --git a/src/FileTime.Core/Command/DeleteCommand.cs b/src/Core/FileTime.Core/Command/DeleteCommand.cs
similarity index 100%
rename from src/FileTime.Core/Command/DeleteCommand.cs
rename to src/Core/FileTime.Core/Command/DeleteCommand.cs
diff --git a/src/FileTime.Core/Command/ICommand.cs b/src/Core/FileTime.Core/Command/ICommand.cs
similarity index 100%
rename from src/FileTime.Core/Command/ICommand.cs
rename to src/Core/FileTime.Core/Command/ICommand.cs
diff --git a/src/FileTime.Core/Command/ICommandHandler.cs b/src/Core/FileTime.Core/Command/ICommandHandler.cs
similarity index 100%
rename from src/FileTime.Core/Command/ICommandHandler.cs
rename to src/Core/FileTime.Core/Command/ICommandHandler.cs
diff --git a/src/FileTime.Core/Command/IExecutableCommand.cs b/src/Core/FileTime.Core/Command/IExecutableCommand.cs
similarity index 100%
rename from src/FileTime.Core/Command/IExecutableCommand.cs
rename to src/Core/FileTime.Core/Command/IExecutableCommand.cs
diff --git a/src/FileTime.Core/Command/ITransportationCommand.cs b/src/Core/FileTime.Core/Command/ITransportationCommand.cs
similarity index 100%
rename from src/FileTime.Core/Command/ITransportationCommand.cs
rename to src/Core/FileTime.Core/Command/ITransportationCommand.cs
diff --git a/src/FileTime.Core/Command/MoveCommand.cs b/src/Core/FileTime.Core/Command/MoveCommand.cs
similarity index 100%
rename from src/FileTime.Core/Command/MoveCommand.cs
rename to src/Core/FileTime.Core/Command/MoveCommand.cs
diff --git a/src/FileTime.Core/Command/TransportMode.cs b/src/Core/FileTime.Core/Command/TransportMode.cs
similarity index 100%
rename from src/FileTime.Core/Command/TransportMode.cs
rename to src/Core/FileTime.Core/Command/TransportMode.cs
diff --git a/src/FileTime.Core/Components/Tab.cs b/src/Core/FileTime.Core/Components/Tab.cs
similarity index 100%
rename from src/FileTime.Core/Components/Tab.cs
rename to src/Core/FileTime.Core/Components/Tab.cs
diff --git a/src/FileTime.Core/Extensions/GeneralExtensions.cs b/src/Core/FileTime.Core/Extensions/GeneralExtensions.cs
similarity index 100%
rename from src/FileTime.Core/Extensions/GeneralExtensions.cs
rename to src/Core/FileTime.Core/Extensions/GeneralExtensions.cs
diff --git a/src/FileTime.Core/FileTime.Core.csproj b/src/Core/FileTime.Core/FileTime.Core.csproj
similarity index 95%
rename from src/FileTime.Core/FileTime.Core.csproj
rename to src/Core/FileTime.Core/FileTime.Core.csproj
index bafd05b..132c02c 100644
--- a/src/FileTime.Core/FileTime.Core.csproj
+++ b/src/Core/FileTime.Core/FileTime.Core.csproj
@@ -1,9 +1,9 @@
-
-
-
- net6.0
- enable
- enable
-
-
-
+
+
+
+ net6.0
+ enable
+ enable
+
+
+
diff --git a/src/FileTime.Core/Models/AbsolutePath.cs b/src/Core/FileTime.Core/Models/AbsolutePath.cs
similarity index 100%
rename from src/FileTime.Core/Models/AbsolutePath.cs
rename to src/Core/FileTime.Core/Models/AbsolutePath.cs
diff --git a/src/FileTime.Core/Models/Constants.cs b/src/Core/FileTime.Core/Models/Constants.cs
similarity index 100%
rename from src/FileTime.Core/Models/Constants.cs
rename to src/Core/FileTime.Core/Models/Constants.cs
diff --git a/src/FileTime.Core/Models/IAbsolutePath.cs b/src/Core/FileTime.Core/Models/IAbsolutePath.cs
similarity index 100%
rename from src/FileTime.Core/Models/IAbsolutePath.cs
rename to src/Core/FileTime.Core/Models/IAbsolutePath.cs
diff --git a/src/FileTime.Core/Models/IContainer.cs b/src/Core/FileTime.Core/Models/IContainer.cs
similarity index 100%
rename from src/FileTime.Core/Models/IContainer.cs
rename to src/Core/FileTime.Core/Models/IContainer.cs
diff --git a/src/FileTime.Core/Models/IElement.cs b/src/Core/FileTime.Core/Models/IElement.cs
similarity index 100%
rename from src/FileTime.Core/Models/IElement.cs
rename to src/Core/FileTime.Core/Models/IElement.cs
diff --git a/src/FileTime.Core/Models/IItem.cs b/src/Core/FileTime.Core/Models/IItem.cs
similarity index 100%
rename from src/FileTime.Core/Models/IItem.cs
rename to src/Core/FileTime.Core/Models/IItem.cs
diff --git a/src/FileTime.Core/Models/VirtualContainer.cs b/src/Core/FileTime.Core/Models/VirtualContainer.cs
similarity index 100%
rename from src/FileTime.Core/Models/VirtualContainer.cs
rename to src/Core/FileTime.Core/Models/VirtualContainer.cs
diff --git a/src/FileTime.Core/Providers/IContentProvider.cs b/src/Core/FileTime.Core/Providers/IContentProvider.cs
similarity index 100%
rename from src/FileTime.Core/Providers/IContentProvider.cs
rename to src/Core/FileTime.Core/Providers/IContentProvider.cs
diff --git a/src/FileTime.Core/StateManagement/ElementCreationStates.cs b/src/Core/FileTime.Core/StateManagement/ElementCreationStates.cs
similarity index 100%
rename from src/FileTime.Core/StateManagement/ElementCreationStates.cs
rename to src/Core/FileTime.Core/StateManagement/ElementCreationStates.cs
diff --git a/src/FileTime.Core/Timeline/ContainerSnapshot.cs b/src/Core/FileTime.Core/Timeline/ContainerSnapshot.cs
similarity index 100%
rename from src/FileTime.Core/Timeline/ContainerSnapshot.cs
rename to src/Core/FileTime.Core/Timeline/ContainerSnapshot.cs
diff --git a/src/FileTime.Core/Timeline/ElementSnapshot.cs b/src/Core/FileTime.Core/Timeline/ElementSnapshot.cs
similarity index 100%
rename from src/FileTime.Core/Timeline/ElementSnapshot.cs
rename to src/Core/FileTime.Core/Timeline/ElementSnapshot.cs
diff --git a/src/FileTime.Core/Timeline/PointInTime.cs b/src/Core/FileTime.Core/Timeline/PointInTime.cs
similarity index 100%
rename from src/FileTime.Core/Timeline/PointInTime.cs
rename to src/Core/FileTime.Core/Timeline/PointInTime.cs
diff --git a/src/FileTime.Core/Timeline/RootSnapshot.cs b/src/Core/FileTime.Core/Timeline/RootSnapshot.cs
similarity index 100%
rename from src/FileTime.Core/Timeline/RootSnapshot.cs
rename to src/Core/FileTime.Core/Timeline/RootSnapshot.cs
diff --git a/src/FileTime.sln b/src/FileTime.sln
index 7c57be0..dbcc6a0 100644
--- a/src/FileTime.sln
+++ b/src/FileTime.sln
@@ -1,32 +1,35 @@
Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio Version 16
-VisualStudioVersion = 16.0.30114.105
+# Visual Studio Version 17
+VisualStudioVersion = 17.0.32014.148
MinimumVisualStudioVersion = 10.0.40219.1
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FileTime.Core", "FileTime.Core\FileTime.Core.csproj", "{F5C58BDC-BDCE-47B8-9371-70DB815E9B0E}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "FileTime.Core", "Core\FileTime.Core\FileTime.Core.csproj", "{F5C58BDC-BDCE-47B8-9371-70DB815E9B0E}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FileTime.ConsoleUI", "FileTime.ConsoleUI\FileTime.ConsoleUI.csproj", "{EC1F7FC4-5600-4953-A85A-534CA43601C3}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "FileTime.ConsoleUI", "ConsoleApp\FileTime.ConsoleUI\FileTime.ConsoleUI.csproj", "{EC1F7FC4-5600-4953-A85A-534CA43601C3}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FileTime.ConsoleUI.App", "FileTime.ConsoleUI.App\FileTime.ConsoleUI.App.csproj", "{A88EB44A-EE33-4A91-8C61-B33B31C9DF07}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "FileTime.ConsoleUI.App", "ConsoleApp\FileTime.ConsoleUI.App\FileTime.ConsoleUI.App.csproj", "{A88EB44A-EE33-4A91-8C61-B33B31C9DF07}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Providers", "Providers", "{517D96CE-A956-4638-A93D-465D34DE22B1}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FileTime.Providers.Local", "Providers\FileTime.Providers.Local\FileTime.Providers.Local.csproj", "{AAE01ED7-2E8B-40A2-AD0E-95BDA7C99272}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "FileTime.Providers.Local", "Providers\FileTime.Providers.Local\FileTime.Providers.Local.csproj", "{AAE01ED7-2E8B-40A2-AD0E-95BDA7C99272}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FileTime.App.Core", "FileTime.App.Core\FileTime.App.Core.csproj", "{2C0F630D-FD5D-4554-B8DD-F11BF4EB49C5}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "FileTime.App.Core", "AppCommon\FileTime.App.Core\FileTime.App.Core.csproj", "{2C0F630D-FD5D-4554-B8DD-F11BF4EB49C5}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FileTime.App.Style", "FileTime.App.Style\FileTime.App.Style.csproj", "{92961CA3-ECAB-4920-95CA-F37E8F3EFDFA}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "FileTime.App.Style", "AppCommon\FileTime.App.Style\FileTime.App.Style.csproj", "{92961CA3-ECAB-4920-95CA-F37E8F3EFDFA}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FileTime.App.Style.Abstraction", "FileTime.App.Style.Abstraction\FileTime.App.Style.Abstraction.csproj", "{BEA824B0-7684-44FF-95BF-A75E92A36C9F}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "FileTime.App.Style.Abstraction", "AppCommon\FileTime.App.Style.Abstraction\FileTime.App.Style.Abstraction.csproj", "{BEA824B0-7684-44FF-95BF-A75E92A36C9F}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "ConsoleApp", "ConsoleApp", "{1E192D23-2B2B-47E1-915C-82A061C05580}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "AppCommon", "AppCommon", "{D4C7E692-53C0-4423-9944-E25FE3D51BA2}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Core", "Core", "{38B1B927-4201-4B7A-87EE-737B8C6D4090}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{F5C58BDC-BDCE-47B8-9371-70DB815E9B0E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{F5C58BDC-BDCE-47B8-9371-70DB815E9B0E}.Debug|Any CPU.Build.0 = Debug|Any CPU
@@ -36,10 +39,6 @@ Global
{EC1F7FC4-5600-4953-A85A-534CA43601C3}.Debug|Any CPU.Build.0 = Debug|Any CPU
{EC1F7FC4-5600-4953-A85A-534CA43601C3}.Release|Any CPU.ActiveCfg = Release|Any CPU
{EC1F7FC4-5600-4953-A85A-534CA43601C3}.Release|Any CPU.Build.0 = Release|Any CPU
- {D9FC4BC8-4E7D-491A-AA67-EABE52CF2999}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {D9FC4BC8-4E7D-491A-AA67-EABE52CF2999}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {D9FC4BC8-4E7D-491A-AA67-EABE52CF2999}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {D9FC4BC8-4E7D-491A-AA67-EABE52CF2999}.Release|Any CPU.Build.0 = Release|Any CPU
{A88EB44A-EE33-4A91-8C61-B33B31C9DF07}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{A88EB44A-EE33-4A91-8C61-B33B31C9DF07}.Debug|Any CPU.Build.0 = Debug|Any CPU
{A88EB44A-EE33-4A91-8C61-B33B31C9DF07}.Release|Any CPU.ActiveCfg = Release|Any CPU
@@ -61,7 +60,19 @@ Global
{BEA824B0-7684-44FF-95BF-A75E92A36C9F}.Release|Any CPU.ActiveCfg = Release|Any CPU
{BEA824B0-7684-44FF-95BF-A75E92A36C9F}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
GlobalSection(NestedProjects) = preSolution
+ {F5C58BDC-BDCE-47B8-9371-70DB815E9B0E} = {38B1B927-4201-4B7A-87EE-737B8C6D4090}
+ {EC1F7FC4-5600-4953-A85A-534CA43601C3} = {1E192D23-2B2B-47E1-915C-82A061C05580}
+ {A88EB44A-EE33-4A91-8C61-B33B31C9DF07} = {1E192D23-2B2B-47E1-915C-82A061C05580}
{AAE01ED7-2E8B-40A2-AD0E-95BDA7C99272} = {517D96CE-A956-4638-A93D-465D34DE22B1}
+ {2C0F630D-FD5D-4554-B8DD-F11BF4EB49C5} = {D4C7E692-53C0-4423-9944-E25FE3D51BA2}
+ {92961CA3-ECAB-4920-95CA-F37E8F3EFDFA} = {D4C7E692-53C0-4423-9944-E25FE3D51BA2}
+ {BEA824B0-7684-44FF-95BF-A75E92A36C9F} = {D4C7E692-53C0-4423-9944-E25FE3D51BA2}
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {8D679DCE-AC84-4A91-BFED-8F8D8E1D8183}
EndGlobalSection
EndGlobal
diff --git a/src/Providers/FileTime.Providers.Local/FileTime.Providers.Local.csproj b/src/Providers/FileTime.Providers.Local/FileTime.Providers.Local.csproj
index b7b4ca5..1193e6b 100644
--- a/src/Providers/FileTime.Providers.Local/FileTime.Providers.Local.csproj
+++ b/src/Providers/FileTime.Providers.Local/FileTime.Providers.Local.csproj
@@ -1,6 +1,6 @@
-
+