feat(core): add exit and restart built-ins
This commit is contained in:
parent
7439cc1081
commit
d4cede1862
|
@ -26,6 +26,7 @@ use espanso_engine::event::EventType;
|
|||
use super::context::Context;
|
||||
|
||||
mod debug;
|
||||
mod process;
|
||||
mod search;
|
||||
|
||||
const MIN_BUILTIN_MATCH_ID: i32 = 1_000_000_000;
|
||||
|
@ -54,6 +55,8 @@ pub fn get_builtin_matches(config: &dyn Config) -> Vec<BuiltInMatch> {
|
|||
let mut matches = vec![
|
||||
debug::create_match_paste_active_config_info(),
|
||||
debug::create_match_paste_active_app_info(),
|
||||
process::create_match_exit(),
|
||||
process::create_match_restart(),
|
||||
];
|
||||
|
||||
if config.search_trigger().is_some() || config.search_shortcut().is_some() {
|
||||
|
|
48
espanso/src/cli/worker/builtin/process.rs
Normal file
48
espanso/src/cli/worker/builtin/process.rs
Normal file
|
@ -0,0 +1,48 @@
|
|||
/*
|
||||
* This file is part of espanso.
|
||||
*
|
||||
* Copyright (C) 2019-2021 Federico Terzi
|
||||
*
|
||||
* espanso is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* espanso is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with espanso. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
use espanso_engine::event::{EventType, ExitMode};
|
||||
|
||||
use crate::cli::worker::builtin::generate_next_builtin_id;
|
||||
|
||||
use super::BuiltInMatch;
|
||||
|
||||
pub fn create_match_exit() -> BuiltInMatch {
|
||||
BuiltInMatch {
|
||||
id: generate_next_builtin_id(),
|
||||
label: "Exit espanso",
|
||||
triggers: Vec::new(),
|
||||
action: |_| {
|
||||
EventType::ExitRequested(ExitMode::ExitAllProcesses)
|
||||
},
|
||||
..Default::default()
|
||||
}
|
||||
}
|
||||
|
||||
pub fn create_match_restart() -> BuiltInMatch {
|
||||
BuiltInMatch {
|
||||
id: generate_next_builtin_id(),
|
||||
label: "Restart espanso",
|
||||
triggers: Vec::new(),
|
||||
action: |_| {
|
||||
EventType::ExitRequested(ExitMode::RestartWorker)
|
||||
},
|
||||
..Default::default()
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user