diff --git a/book/src/configuration.md b/book/src/configuration.md index 276bd7d4a97a..a5092b9d6342 100644 --- a/book/src/configuration.md +++ b/book/src/configuration.md @@ -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 diff --git a/helix-term/src/application.rs b/helix-term/src/application.rs index cd499f1c3d11..ee0e08efd96c 100644 --- a/helix-term/src/application.rs +++ b/helix-term/src/application.rs @@ -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, @@ -426,6 +426,10 @@ impl Application { self.compositor.load_cursor(); self.render(); } + signal::SIGUSR1 => { + self.refresh_config(); + self.render(); + } _ => unreachable!(), } }