Skip to content

Commit

Permalink
respond to SIGUSR1 by reloading config (#3952)
Browse files Browse the repository at this point in the history
* respond to SIGUSR1 by reloading config

* document USR1 signal handling
  • Loading branch information
krgn authored Oct 3, 2022
1 parent 3d59d3f commit 9124c23
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 2 deletions.
4 changes: 4 additions & 0 deletions book/src/configuration.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,10 @@ hidden = false
You may also specify a file to use for configuration with the `-c` or
`--config` CLI argument: `hx -c path/to/custom-config.toml`.

It is also possible to trigger configuration file reloading by sending the `USR1`
signal to the helix process, e.g. via `pkill -USR1 hx`. This is only supported
on unix operating systems.

## Editor

### `[editor]` Section
Expand Down
8 changes: 6 additions & 2 deletions helix-term/src/application.rs
Original file line number Diff line number Diff line change
Expand Up @@ -224,8 +224,8 @@ impl Application {
#[cfg(windows)]
let signals = futures_util::stream::empty();
#[cfg(not(windows))]
let signals =
Signals::new(&[signal::SIGTSTP, signal::SIGCONT]).context("build signal handler")?;
let signals = Signals::new(&[signal::SIGTSTP, signal::SIGCONT, signal::SIGUSR1])
.context("build signal handler")?;

let app = Self {
compositor,
Expand Down Expand Up @@ -426,6 +426,10 @@ impl Application {
self.compositor.load_cursor();
self.render();
}
signal::SIGUSR1 => {
self.refresh_config();
self.render();
}
_ => unreachable!(),
}
}
Expand Down

0 comments on commit 9124c23

Please sign in to comment.