From 9495e7269ade9cf2d69977b0d8e3f3aed1ae24c5 Mon Sep 17 00:00:00 2001 From: dev-kanade Date: Thu, 23 Apr 2026 09:25:41 +0900 Subject: [PATCH 01/22] =?UTF-8?q?Typo=E3=82=92=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/installer/installer.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/installer/installer.rs b/src/installer/installer.rs index c56b129..bb862b4 100644 --- a/src/installer/installer.rs +++ b/src/installer/installer.rs @@ -159,9 +159,9 @@ fn user_exists(username:&str)->io::Result{ let line = line?; if let Some(name) = line.split(":").next(){ if name == username { - return OK(true); + return Ok(true); } } } - OK(false) + Ok(false) } \ No newline at end of file From 66d1f1faa2527d717bbb6421168bbf0d35e56455 Mon Sep 17 00:00:00 2001 From: dev-kanade Date: Thu, 23 Apr 2026 09:26:21 +0900 Subject: [PATCH 02/22] =?UTF-8?q?Typo=E3=81=AE=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/installer/installer.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/installer/installer.rs b/src/installer/installer.rs index bb862b4..7c8c72f 100644 --- a/src/installer/installer.rs +++ b/src/installer/installer.rs @@ -151,7 +151,7 @@ fn create_db(){ fn user_exists(username:&str)->io::Result{ - let file = fs::File::Open("/etc/passwd")?; + let file = fs::File::open("/etc/passwd")?; let reader = io::BufReader::new(file); From d6222f5d20da5ddab1a34b0b525e10a288a48272 Mon Sep 17 00:00:00 2001 From: dev-kanade Date: Thu, 23 Apr 2026 09:30:22 +0900 Subject: [PATCH 03/22] =?UTF-8?q?=E3=82=A4=E3=83=B3=E3=82=B9=E3=83=88?= =?UTF-8?q?=E3=83=BC=E3=83=AB=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/installer/installer.rs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/installer/installer.rs b/src/installer/installer.rs index 7c8c72f..86862a9 100644 --- a/src/installer/installer.rs +++ b/src/installer/installer.rs @@ -164,4 +164,8 @@ fn user_exists(username:&str)->io::Result{ } } Ok(false) +} + +fn install_method()->i32{ + } \ No newline at end of file From bd588b036d33f9ecf3c31c6e1f7f9273fda674f4 Mon Sep 17 00:00:00 2001 From: dev-kanade Date: Thu, 23 Apr 2026 09:31:57 +0900 Subject: [PATCH 04/22] s --- src/installer/installer.rs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/installer/installer.rs b/src/installer/installer.rs index 86862a9..46ea8f9 100644 --- a/src/installer/installer.rs +++ b/src/installer/installer.rs @@ -9,6 +9,7 @@ use std::io::{self,BufRead}; const SYSTEM_USERNAME:&str = "ANTHENA"; pub fn installer(){ + install_method(); let allow:bool = allow_install(); if allow == true { printwelcom(); @@ -167,5 +168,6 @@ fn user_exists(username:&str)->io::Result{ } fn install_method()->i32{ - + println!("ANTHENAをインストールする方法を選択してください。\n1.)推奨される構成で自動インストール\n2.)カスタムインストール"); + 12 } \ No newline at end of file From 80a22b51d713f50dcf387f40faec6f855d0635fd Mon Sep 17 00:00:00 2001 From: dev-kanade Date: Thu, 23 Apr 2026 09:33:52 +0900 Subject: [PATCH 05/22] =?UTF-8?q?=E5=85=A5=E5=8A=9B=E3=81=AB=E5=BF=85?= =?UTF-8?q?=E8=A6=81=E3=81=AA=E3=82=AF=E3=83=AC=E3=83=BC=E3=83=88=E3=82=92?= =?UTF-8?q?=E3=82=A4=E3=83=B3=E3=83=9D=E3=83=BC=E3=83=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/installer/installer.rs | 1 + 1 file changed, 1 insertion(+) diff --git a/src/installer/installer.rs b/src/installer/installer.rs index 46ea8f9..17e5644 100644 --- a/src/installer/installer.rs +++ b/src/installer/installer.rs @@ -5,6 +5,7 @@ use tokio; use tokio_postgres::{NoTls,Error}; use std::fs; use std::io::{self,BufRead}; +use std::io; const SYSTEM_USERNAME:&str = "ANTHENA"; From 60e85400017d6274dd240815d966298bfa42c43c Mon Sep 17 00:00:00 2001 From: dev-kanade Date: Thu, 23 Apr 2026 09:37:58 +0900 Subject: [PATCH 06/22] number --- src/installer/installer.rs | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/installer/installer.rs b/src/installer/installer.rs index 17e5644..058a9e1 100644 --- a/src/installer/installer.rs +++ b/src/installer/installer.rs @@ -170,5 +170,12 @@ fn user_exists(username:&str)->io::Result{ fn install_method()->i32{ println!("ANTHENAをインストールする方法を選択してください。\n1.)推奨される構成で自動インストール\n2.)カスタムインストール"); - 12 + + let mut input = String::new(); + io::stdin() + .read_line(&mut input) + .expect("[ERROR]インストーラー起動中にエラーが発生しました。"); + + let number:i32 = input.trim().parse().expect("選択肢外のシグナル"); + number } \ No newline at end of file From fb536c433b17974109f1a39e1cc2bf9f9474d824 Mon Sep 17 00:00:00 2001 From: dev-kanade Date: Thu, 23 Apr 2026 09:38:21 +0900 Subject: [PATCH 07/22] =?UTF-8?q?=E4=B8=8D=E8=A6=81=E3=81=AA=E3=82=AF?= =?UTF-8?q?=E3=83=AC=E3=83=BC=E3=83=88=E3=82=92=E5=89=8A=E9=99=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/installer/installer.rs | 1 - 1 file changed, 1 deletion(-) diff --git a/src/installer/installer.rs b/src/installer/installer.rs index 058a9e1..1afa302 100644 --- a/src/installer/installer.rs +++ b/src/installer/installer.rs @@ -4,7 +4,6 @@ use std::env; use tokio; use tokio_postgres::{NoTls,Error}; use std::fs; -use std::io::{self,BufRead}; use std::io; const SYSTEM_USERNAME:&str = "ANTHENA"; From 0078bc1341a7e2cedbdcce1014babf9473e70edf Mon Sep 17 00:00:00 2001 From: dev-kanade Date: Thu, 23 Apr 2026 09:39:23 +0900 Subject: [PATCH 08/22] typo --- src/installer/installer.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/installer/installer.rs b/src/installer/installer.rs index 1afa302..344da72 100644 --- a/src/installer/installer.rs +++ b/src/installer/installer.rs @@ -4,7 +4,7 @@ use std::env; use tokio; use tokio_postgres::{NoTls,Error}; use std::fs; -use std::io; +use std::io::BufRead; const SYSTEM_USERNAME:&str = "ANTHENA"; @@ -171,7 +171,7 @@ fn install_method()->i32{ println!("ANTHENAをインストールする方法を選択してください。\n1.)推奨される構成で自動インストール\n2.)カスタムインストール"); let mut input = String::new(); - io::stdin() + i8::stdin() .read_line(&mut input) .expect("[ERROR]インストーラー起動中にエラーが発生しました。"); From 873b4c3651124d992e6c3581f3e6a901f77e6ac7 Mon Sep 17 00:00:00 2001 From: dev-kanade Date: Thu, 23 Apr 2026 09:40:01 +0900 Subject: [PATCH 09/22] =?UTF-8?q?=E4=B8=80=E6=97=A6=E3=82=B3=E3=83=A1?= =?UTF-8?q?=E3=83=B3=E3=83=88=E3=82=A2=E3=82=A6=E3=83=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/installer/installer.rs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/installer/installer.rs b/src/installer/installer.rs index 344da72..3d42b40 100644 --- a/src/installer/installer.rs +++ b/src/installer/installer.rs @@ -152,6 +152,7 @@ fn create_db(){ fn user_exists(username:&str)->io::Result{ + /* let file = fs::File::open("/etc/passwd")?; let reader = io::BufReader::new(file); @@ -165,6 +166,8 @@ fn user_exists(username:&str)->io::Result{ } } Ok(false) + */ + true } fn install_method()->i32{ From c80690b1ab1c51206fb7d43150882478e88affbc Mon Sep 17 00:00:00 2001 From: dev-kanade Date: Thu, 23 Apr 2026 09:40:22 +0900 Subject: [PATCH 10/22] io --- src/installer/installer.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/installer/installer.rs b/src/installer/installer.rs index 3d42b40..b35137e 100644 --- a/src/installer/installer.rs +++ b/src/installer/installer.rs @@ -174,7 +174,7 @@ fn install_method()->i32{ println!("ANTHENAをインストールする方法を選択してください。\n1.)推奨される構成で自動インストール\n2.)カスタムインストール"); let mut input = String::new(); - i8::stdin() + io::stdin() .read_line(&mut input) .expect("[ERROR]インストーラー起動中にエラーが発生しました。"); From 52c634ddf38451e18137fee9e81e0ad68cef5de9 Mon Sep 17 00:00:00 2001 From: dev-kanade Date: Thu, 23 Apr 2026 09:40:44 +0900 Subject: [PATCH 11/22] =?UTF-8?q?=E4=B8=8D=E8=A6=81=E3=81=AA=E3=82=AF?= =?UTF-8?q?=E3=83=AC=E3=83=BC=E3=83=88=E3=82=92=E5=89=8A=E9=99=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/installer/installer.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/installer/installer.rs b/src/installer/installer.rs index b35137e..dbf270a 100644 --- a/src/installer/installer.rs +++ b/src/installer/installer.rs @@ -4,7 +4,7 @@ use std::env; use tokio; use tokio_postgres::{NoTls,Error}; use std::fs; -use std::io::BufRead; +use std::io; const SYSTEM_USERNAME:&str = "ANTHENA"; From f469463e910f670ac827cec8e53e019d53cb3e2e Mon Sep 17 00:00:00 2001 From: dev-kanade Date: Thu, 23 Apr 2026 09:41:12 +0900 Subject: [PATCH 12/22] =?UTF-8?q?=E6=AD=A3=E3=81=97=E3=81=84=E6=9B=B8?= =?UTF-8?q?=E3=81=8D=E6=96=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/installer/installer.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/installer/installer.rs b/src/installer/installer.rs index dbf270a..3533562 100644 --- a/src/installer/installer.rs +++ b/src/installer/installer.rs @@ -167,7 +167,7 @@ fn user_exists(username:&str)->io::Result{ } Ok(false) */ - true + Ok(true) } fn install_method()->i32{ From 71b5b74ea3922b4df9701c509a66e227add30c7d Mon Sep 17 00:00:00 2001 From: dev-kanade Date: Thu, 23 Apr 2026 09:41:36 +0900 Subject: [PATCH 13/22] =?UTF-8?q?=E9=96=8B=E6=A5=AD=E3=82=92=E8=BF=BD?= =?UTF-8?q?=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/installer/installer.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/installer/installer.rs b/src/installer/installer.rs index 3533562..cfcd676 100644 --- a/src/installer/installer.rs +++ b/src/installer/installer.rs @@ -171,7 +171,7 @@ fn user_exists(username:&str)->io::Result{ } fn install_method()->i32{ - println!("ANTHENAをインストールする方法を選択してください。\n1.)推奨される構成で自動インストール\n2.)カスタムインストール"); + println!("ANTHENAをインストールする方法を選択してください。\n1.)推奨される構成で自動インストール\n2.)カスタムインストール\n\n"); let mut input = String::new(); io::stdin() From d940a87f6eec33830a989c53eff6dc38d68c637d Mon Sep 17 00:00:00 2001 From: dev-kanade Date: Thu, 23 Apr 2026 09:41:48 +0900 Subject: [PATCH 14/22] =?UTF-8?q?=E6=96=87=E5=AD=97=E5=88=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/installer/installer.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/installer/installer.rs b/src/installer/installer.rs index cfcd676..3423c88 100644 --- a/src/installer/installer.rs +++ b/src/installer/installer.rs @@ -173,7 +173,7 @@ fn user_exists(username:&str)->io::Result{ fn install_method()->i32{ println!("ANTHENAをインストールする方法を選択してください。\n1.)推奨される構成で自動インストール\n2.)カスタムインストール\n\n"); - let mut input = String::new(); + let mut input = String::new("番号を選択"); io::stdin() .read_line(&mut input) .expect("[ERROR]インストーラー起動中にエラーが発生しました。"); From 95cd01d5ec527026fc4ba83fff68d12e4e6a9eae Mon Sep 17 00:00:00 2001 From: dev-kanade Date: Thu, 23 Apr 2026 09:42:06 +0900 Subject: [PATCH 15/22] =?UTF-8?q?=E3=82=A8=E3=83=A9=E3=83=BC=E3=81=AE?= =?UTF-8?q?=E5=8E=9F=E5=9B=A0=E3=81=AE=E6=96=87=E5=AD=97=E5=88=97=E3=82=92?= =?UTF-8?q?=E5=89=8A=E9=99=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/installer/installer.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/installer/installer.rs b/src/installer/installer.rs index 3423c88..e566720 100644 --- a/src/installer/installer.rs +++ b/src/installer/installer.rs @@ -173,7 +173,7 @@ fn user_exists(username:&str)->io::Result{ fn install_method()->i32{ println!("ANTHENAをインストールする方法を選択してください。\n1.)推奨される構成で自動インストール\n2.)カスタムインストール\n\n"); - let mut input = String::new("番号を選択"); + let mut input = String::new(""); io::stdin() .read_line(&mut input) .expect("[ERROR]インストーラー起動中にエラーが発生しました。"); From b693c73385041a20ba43b04dd200bbf7a2c3f6e3 Mon Sep 17 00:00:00 2001 From: dev-kanade Date: Thu, 23 Apr 2026 09:42:40 +0900 Subject: [PATCH 16/22] =?UTF-8?q?=E4=B8=8D=E8=A6=81=E3=81=AA=E6=94=B9?= =?UTF-8?q?=E8=A1=8C=E3=82=92=E5=89=8A=E9=99=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/installer/installer.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/installer/installer.rs b/src/installer/installer.rs index e566720..5ce58a3 100644 --- a/src/installer/installer.rs +++ b/src/installer/installer.rs @@ -171,8 +171,8 @@ fn user_exists(username:&str)->io::Result{ } fn install_method()->i32{ - println!("ANTHENAをインストールする方法を選択してください。\n1.)推奨される構成で自動インストール\n2.)カスタムインストール\n\n"); - + println!("ANTHENAをインストールする方法を選択してください。\n1.)推奨される構成で自動インストール\n2.)カスタムインストール"); + println!("インストール番号を入力してください。\n"); let mut input = String::new(""); io::stdin() .read_line(&mut input) From c4bcdf36903a8bedbf2dd167b1e334d510c63989 Mon Sep 17 00:00:00 2001 From: dev-kanade Date: Thu, 23 Apr 2026 09:43:10 +0900 Subject: [PATCH 17/22] =?UTF-8?q?=E4=B8=8D=E8=A6=81=E3=81=AA=E3=82=AF?= =?UTF-8?q?=E3=82=A9=E3=83=BC=E3=83=86=E3=83=BC=E3=82=B7=E3=83=A7=E3=83=B3?= =?UTF-8?q?=E3=82=92=E5=89=8A=E9=99=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/installer/installer.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/installer/installer.rs b/src/installer/installer.rs index 5ce58a3..769c52e 100644 --- a/src/installer/installer.rs +++ b/src/installer/installer.rs @@ -173,7 +173,7 @@ fn user_exists(username:&str)->io::Result{ fn install_method()->i32{ println!("ANTHENAをインストールする方法を選択してください。\n1.)推奨される構成で自動インストール\n2.)カスタムインストール"); println!("インストール番号を入力してください。\n"); - let mut input = String::new(""); + let mut input = String::new(); io::stdin() .read_line(&mut input) .expect("[ERROR]インストーラー起動中にエラーが発生しました。"); From 1dd9b593054d8d898e59dad477f0da378719db89 Mon Sep 17 00:00:00 2001 From: dev-kanade Date: Thu, 23 Apr 2026 09:47:26 +0900 Subject: [PATCH 18/22] match --- src/installer/installer.rs | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/installer/installer.rs b/src/installer/installer.rs index 769c52e..d5a6fec 100644 --- a/src/installer/installer.rs +++ b/src/installer/installer.rs @@ -10,6 +10,14 @@ const SYSTEM_USERNAME:&str = "ANTHENA"; pub fn installer(){ install_method(); + match install_method(){ + 1 => println!("自動インストール"), + 2 => println!("カスタムインストール"), + _ => { + println!("エラー"); + process::exit(1); + } + }, let allow:bool = allow_install(); if allow == true { printwelcom(); From 1507e000dd0fea4436c5a0c8b00bb6ac932c955d Mon Sep 17 00:00:00 2001 From: dev-kanade Date: Thu, 23 Apr 2026 09:47:36 +0900 Subject: [PATCH 19/22] d --- src/installer/installer.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/installer/installer.rs b/src/installer/installer.rs index d5a6fec..7ec0282 100644 --- a/src/installer/installer.rs +++ b/src/installer/installer.rs @@ -17,7 +17,7 @@ pub fn installer(){ println!("エラー"); process::exit(1); } - }, + } let allow:bool = allow_install(); if allow == true { printwelcom(); From 4297f7170a641ba80ab55eb28772ad37636f32e1 Mon Sep 17 00:00:00 2001 From: dev-kanade Date: Thu, 23 Apr 2026 09:48:04 +0900 Subject: [PATCH 20/22] =?UTF-8?q?=E4=B8=8D=E8=A6=81=E3=81=AA=E9=96=A2?= =?UTF-8?q?=E6=95=B0=E5=AE=9F=E8=A1=8C=E3=82=92=E5=89=8A=E9=99=A4=EF=BD=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/installer/installer.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/installer/installer.rs b/src/installer/installer.rs index 7ec0282..3f5cb46 100644 --- a/src/installer/installer.rs +++ b/src/installer/installer.rs @@ -9,7 +9,7 @@ use std::io; const SYSTEM_USERNAME:&str = "ANTHENA"; pub fn installer(){ - install_method(); + match install_method(){ 1 => println!("自動インストール"), 2 => println!("カスタムインストール"), From 75bd8fce6400d59b679eb494e0859dd061d62138 Mon Sep 17 00:00:00 2001 From: dev-kanade Date: Thu, 23 Apr 2026 09:49:09 +0900 Subject: [PATCH 21/22] =?UTF-8?q?=E4=BD=BF=E7=94=A8=E3=81=97=E3=81=A6?= =?UTF-8?q?=E3=81=84=E3=81=AA=E3=81=84=E3=82=82=E3=81=AE=E3=82=92=E4=BA=88?= =?UTF-8?q?=E3=82=81=E8=A1=A8=E8=A8=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/installer/installer.rs | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/installer/installer.rs b/src/installer/installer.rs index 3f5cb46..c2f22d2 100644 --- a/src/installer/installer.rs +++ b/src/installer/installer.rs @@ -1,15 +1,15 @@ use std::process::Command; use std::process; use std::env; -use tokio; -use tokio_postgres::{NoTls,Error}; +use _tokio; +use _tokio_postgres::{NoTls,Error}; use std::fs; use std::io; -const SYSTEM_USERNAME:&str = "ANTHENA"; +const _SYSTEM_USERNAME:&str = "ANTHENA"; pub fn installer(){ - + match install_method(){ 1 => println!("自動インストール"), 2 => println!("カスタムインストール"), @@ -152,14 +152,14 @@ fn allow_install()->bool{ } } -const DBNAME:&str = ""; -fn create_db(){ +const _DBNAME:&str = ""; +fn _create_db(){ println!("ここでDBに関する操作がおこなわれます。"); //既存のDBに接続する必要があるため、パスワードがあったらな } -fn user_exists(username:&str)->io::Result{ +fn _user_exists(username:&str)->io::Result{ /* let file = fs::File::open("/etc/passwd")?; From 712e11219af179cea292dc20998eb5d85fee1d85 Mon Sep 17 00:00:00 2001 From: dev-kanade Date: Thu, 23 Apr 2026 09:49:26 +0900 Subject: [PATCH 22/22] =?UTF-8?q?=E4=BD=BF=E7=94=A8=E3=81=97=E3=81=A6?= =?UTF-8?q?=E3=81=84=E3=81=AA=E3=81=84=E3=82=AF=E3=83=AC=E3=83=BC=E3=83=88?= =?UTF-8?q?=E3=82=92=E5=89=8A=E9=99=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/installer/installer.rs | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/installer/installer.rs b/src/installer/installer.rs index c2f22d2..952a90d 100644 --- a/src/installer/installer.rs +++ b/src/installer/installer.rs @@ -1,8 +1,6 @@ use std::process::Command; use std::process; use std::env; -use _tokio; -use _tokio_postgres::{NoTls,Error}; use std::fs; use std::io;