crossterm( 0.29 ) => untuk menghandle input dan parsing key di terminaltoml> untuk management config filedirs=> bisa membantu menyesuikan Path windows, dan UNix , seperti config_dir otomatis mendapat :
main= file atau handle utamacommand= untuk daftar commnad command yang akan di gunakan build_command.rs : m-shell bisa menjalakan command bawaahOSm_shell_command.rs : custume m-shell commandsinfo= tangani error , error , info ,config: berisis conig config untuk file file dan history config_file.rs : file yg menangani config utama m-shell
log_file.rs : yang menangani file hasil excecusi , dan di simpan sebagai history
file config bernama ,
m-shell.tomlyang di simpan di config folder sesui system Operasi yang di gunakan , bisa cek di table ini
| OS | Lokasi |
|---|---|
| Linux | ~/.config/m-shell/config.toml |
| macOS | ~/Library/Application Support/m-shell/config.toml |
| Windows | C:\Users\user\AppData\Roaming\m-shell\config.toml |
file hasil excecusi, error, dan informasi lainya , bernama
m-shell.logdi simpan di folder config folder berdasarkan system Operasi yang di gunakan , bisa cek di table ini
| OS | Lokasi |
|---|---|
| Linux | ~/.config/m-shell/config.toml |
| macOS | ~/Library/Application Support/m-shell/config.toml |
| Windows | C:\Users\user\AppData\Roaming\m-shell\config.toml |
- Arc && Mutex : saya guanakna untuk membagi State secara maximal
- Cow : untuk menangani Inputan error yang aman dan bisa switch antara String atau &str
command bawaan M Shell
format :
m->key1->key2->...Support perintah berantai ->perintah_lain->perintah_lain
- update path
m->config->path->path_baru: untuk mengupdate path path yang sudah ada di file m-shell.toml
- update shell
m->config->shell->schema->bentu_baru
- Command
Redirectionkarena command spesifikm-shellbrbentuk->di sini terdapat tandaRedirection ( > )yang bisa membuat file baru dari commandm-shellini jika ada commandm->lshasil ls di execusi dan aka di buat file kosong bernamals( linux )
solusi , ada di code ini
// maka kondisi cukup di code ini saja , jangan biarkan merembes ke command di bawahnya yang menjalakna execusi
if m_shell_commands.cek_command(&command) {
// m-shlee command
m_shell_commands.execution(&command);
} else {