2023-04-16 19:54:11 +02:00
using Common ;
namespace CLI ;
2023-04-15 19:04:05 +02:00
class Program
{
2023-04-16 20:44:44 +02:00
static string BINARY_NAME = "pass" ;
2023-04-16 20:45:13 +02:00
static int Main ( string [ ] args )
2023-04-15 19:04:05 +02:00
{
2023-04-16 21:02:07 +02:00
ConfigFileManager . ExceptionOccured + = ( e ) = > ErrorOccured ( e ) ;
ConfigFileManager . Init ( ) ;
2023-04-16 20:45:13 +02:00
if ( args . Length = = 0 )
{
ListPasswords ( ) ;
return 0 ;
}
else
{
switch ( args [ 0 ] )
{
case "help" :
HelpMessage ( ) ;
break ;
2023-04-16 21:02:20 +02:00
case "list" :
if ( ListPasswords ( ) = = 1 )
{
return 1 ;
}
break ;
2023-04-16 20:45:13 +02:00
default :
HelpMessage ( ) ;
break ;
}
}
return 0 ;
}
2023-04-16 20:45:54 +02:00
2023-04-16 21:02:20 +02:00
static int ListPasswords ( )
2023-04-16 20:45:54 +02:00
{
}
2023-04-16 20:46:14 +02:00
static void ErrorOccured ( Exception e )
{
Console . WriteLine ( $"The following error occured while trying to load your profile:\n{e}\nMore details:\n{e.ToString()}" ) ;
}
2023-04-16 20:46:24 +02:00
static void HelpMessage ( )
{
Console . WriteLine ( $"Usage: {BINARY_NAME} <arguments> [optional arguments]" ) ;
Console . WriteLine ( "\nArguments:" ) ;
Console . WriteLine ( "\t- list:\t\t\tlist all passwords; this is the default action" ) ;
Console . WriteLine ( "\t- <password>:\t\tdecrypt password and copy it to clipboard" ) ;
Console . WriteLine ( $"\t- new <name>:\t\tgenerate password\n\t\t[length]:\tthe length of the password, default is {PasswordGenerator.DEFAULT_LENGTH}\n\t\t[true|false]:\twhether the password should include symbols, default is true" ) ;
Console . WriteLine ( $"\t- rm <password>:\tdelete password" ) ;
Console . WriteLine ( $"\t- insert <password>:\tinstead of generating the password, you enter its contents" ) ;
Console . WriteLine ( $"\t- find <search query>:\tlist password that match your query" ) ;
Console . WriteLine ( $"\t- edit <password>:\tedit the contents of an existing password" ) ;
2023-04-15 19:04:05 +02:00
}
}