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;
|
use super::context::Context;
|
||||||
|
|
||||||
mod debug;
|
mod debug;
|
||||||
|
mod process;
|
||||||
mod search;
|
mod search;
|
||||||
|
|
||||||
const MIN_BUILTIN_MATCH_ID: i32 = 1_000_000_000;
|
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![
|
let mut matches = vec![
|
||||||
debug::create_match_paste_active_config_info(),
|
debug::create_match_paste_active_config_info(),
|
||||||
debug::create_match_paste_active_app_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() {
|
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