gitignore creation command
This commit is contained in:
parent
4f44f6d894
commit
f43d583ae6
@ -44,6 +44,4 @@ Run `--help` alongside any command to get details on what it does.
|
|||||||
- Due dates
|
- Due dates
|
||||||
- Taken as input when creating notes
|
- Taken as input when creating notes
|
||||||
- Displayed in list view by default (with number of days remaining)
|
- Displayed in list view by default (with number of days remaining)
|
||||||
- Git integration
|
|
||||||
- Command to add default gitignore file
|
|
||||||
- `clean` command to delete discarded tasks
|
- `clean` command to delete discarded tasks
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
use crate::error;
|
use crate::error;
|
||||||
|
|
||||||
|
use std::fs;
|
||||||
use std::path;
|
use std::path;
|
||||||
use std::process;
|
use std::process;
|
||||||
|
|
||||||
@ -20,3 +21,7 @@ pub fn run_command(args : Vec<String>, vault_folder : &path::Path) -> Result<(),
|
|||||||
|
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub fn create_gitignore(vault_folder : &path::Path) -> Result<(), error::Error> {
|
||||||
|
Ok(fs::write(vault_folder.join(".gitignore"), "state.toml\ntemp.toml\ntemp.md")?)
|
||||||
|
}
|
||||||
|
16
src/main.rs
16
src/main.rs
@ -17,7 +17,7 @@ struct Args {
|
|||||||
command : Command,
|
command : Command,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(clap::Subcommand, Debug)]
|
#[derive(clap::Subcommand, Debug, PartialEq, Eq)]
|
||||||
#[clap(version, about, author, global_setting=clap::AppSettings::DisableHelpSubcommand)]
|
#[clap(version, about, author, global_setting=clap::AppSettings::DisableHelpSubcommand)]
|
||||||
enum Command {
|
enum Command {
|
||||||
/// Create a new task.
|
/// Create a new task.
|
||||||
@ -61,6 +61,9 @@ enum Command {
|
|||||||
Git {
|
Git {
|
||||||
args : Vec<String>,
|
args : Vec<String>,
|
||||||
},
|
},
|
||||||
|
/// Adds the recommended .gitignore file to the vault.
|
||||||
|
#[clap(name="gitignore")]
|
||||||
|
GitIgnore,
|
||||||
/// Lists tasks according to the specified ordering and filters.
|
/// Lists tasks according to the specified ordering and filters.
|
||||||
List {
|
List {
|
||||||
// Need to have options for:
|
// Need to have options for:
|
||||||
@ -81,7 +84,7 @@ enum Command {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(clap::Subcommand, Debug)]
|
#[derive(clap::Subcommand, Debug, PartialEq, Eq)]
|
||||||
enum ConfigCommand {
|
enum ConfigCommand {
|
||||||
/// For checking or changing default text editor command.
|
/// For checking or changing default text editor command.
|
||||||
Editor {
|
Editor {
|
||||||
@ -90,7 +93,7 @@ enum ConfigCommand {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(clap::Subcommand, Debug)]
|
#[derive(clap::Subcommand, Debug, PartialEq, Eq)]
|
||||||
enum VaultCommand {
|
enum VaultCommand {
|
||||||
/// Creates a new vault at the specified location of the given name.
|
/// Creates a new vault at the specified location of the given name.
|
||||||
New {
|
New {
|
||||||
@ -183,6 +186,11 @@ fn program() -> Result<(), error::Error> {
|
|||||||
let vault_folder = &config.current_vault()?.1;
|
let vault_folder = &config.current_vault()?.1;
|
||||||
git::run_command(args, vault_folder)?;
|
git::run_command(args, vault_folder)?;
|
||||||
}
|
}
|
||||||
|
else if command == GitIgnore {
|
||||||
|
let vault_folder = &config.current_vault()?.1;
|
||||||
|
git::create_gitignore(vault_folder)?;
|
||||||
|
println!("Default .gitignore file created");
|
||||||
|
}
|
||||||
// Commands that require loading in the state.
|
// Commands that require loading in the state.
|
||||||
else {
|
else {
|
||||||
let vault_folder = &config.current_vault()?.1;
|
let vault_folder = &config.current_vault()?.1;
|
||||||
@ -235,7 +243,7 @@ fn program() -> Result<(), error::Error> {
|
|||||||
tasks::list(vault_folder)?;
|
tasks::list(vault_folder)?;
|
||||||
},
|
},
|
||||||
// All commands which are dealt with in if let chain at start.
|
// All commands which are dealt with in if let chain at start.
|
||||||
Vault(_) | Config(_) | Git { args : _ } | Switch { name : _ } => unreachable!(),
|
Vault(_) | Config(_) | Git { args : _ } | Switch { name : _ } | GitIgnore => unreachable!(),
|
||||||
}
|
}
|
||||||
|
|
||||||
state.save()?;
|
state.save()?;
|
||||||
|
Loading…
Reference in New Issue
Block a user