clean command
This commit is contained in:
		@@ -44,4 +44,3 @@ Run `--help` alongside any command to get details on what it does.
 | 
			
		||||
- Due dates
 | 
			
		||||
    - Taken as input when creating notes
 | 
			
		||||
    - Displayed in list view by default (with number of days remaining)
 | 
			
		||||
- `clean` command to delete discarded tasks
 | 
			
		||||
 
 | 
			
		||||
@@ -48,6 +48,8 @@ enum Command {
 | 
			
		||||
    Delete {
 | 
			
		||||
        id_or_name : String,
 | 
			
		||||
    },
 | 
			
		||||
    /// Deletes all discarded tasks.
 | 
			
		||||
    Clean,
 | 
			
		||||
    /// Discard a task without deleting the underlying file.
 | 
			
		||||
    Discard {
 | 
			
		||||
        id_or_name : String,
 | 
			
		||||
@@ -242,6 +244,10 @@ fn program() -> Result<(), error::Error> {
 | 
			
		||||
            List {} => {
 | 
			
		||||
                tasks::list(vault_folder)?;
 | 
			
		||||
            },
 | 
			
		||||
            Clean => {
 | 
			
		||||
                tasks::clean(vault_folder)?;
 | 
			
		||||
                println!("Deleted all discarded tasks");
 | 
			
		||||
            }
 | 
			
		||||
            // All commands which are dealt with in if let chain at start.
 | 
			
		||||
            Vault(_) | Config(_) | Git { args : _ } | Switch { name : _ } | GitIgnore => unreachable!(),
 | 
			
		||||
        }
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										13
									
								
								src/tasks.rs
									
									
									
									
									
								
							
							
						
						
									
										13
									
								
								src/tasks.rs
									
									
									
									
									
								
							@@ -296,4 +296,17 @@ pub fn list(vault_folder : &path::Path) -> Result<(), error::Error> {
 | 
			
		||||
    Ok(())
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
pub fn clean(vault_folder : &path::Path) -> Result<(), error::Error> {
 | 
			
		||||
 | 
			
		||||
    let tasks = Task::load_all(vault_folder, false)?;
 | 
			
		||||
 | 
			
		||||
    for task in tasks {
 | 
			
		||||
        if task.data.discarded {
 | 
			
		||||
            task.delete()?;
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    Ok(())
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user