Watcher configuration options.
Values are typically assembled from:
- hard-coded defaults,
- fpm.toml overrides ([extra.fpm-watch]),
- command-line flags (--watch-*).
Time values (poll, debounce, rescan) are in seconds.
Verbosity level:
- -1: quiet (errors only)
- 0: normal
- 1..2: more detail
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| real, | public | :: | debounce | = | 0.2 |
Optional periodic rescan interval (seconds). |
|
| logical, | public | :: | debug | = | .false. |
Poll interval (seconds) between change scans. |
|
| type(string_t), | public, | allocatable | :: | enabled_features(:) |
Run once (init + optional run-on-start) and exit (CI-friendly). |
||
| type(string_t), | public, | allocatable | :: | ignore(:) |
Glob patterns to include; if empty, includes all. |
||
| type(string_t), | public, | allocatable | :: | include(:) |
Names of optional feature plugins to enable. |
||
| logical, | public | :: | low_cpu | = | .false. |
Glob patterns to ignore. |
|
| logical, | public | :: | once | = | .false. | ||
| real, | public | :: | poll | = | 0.5 |
Debounce interval (seconds) used after the first detected change. |
|
| logical, | public | :: | print_files_once | = | .false. |
Suppress |
|
| real, | public | :: | rescan | = | 0.0 |
Run the command once immediately on startup. |
|
| logical, | public | :: | run_on_start | = | .true. |
Print the watched file list once at startup (requires high verbosity). |
|
| logical, | public | :: | silent_fpm | = | .false. |
Also watch dependency project sources (can include paths under build dir). |
|
| integer, | public | :: | verbosity | = | 0 |
Enable extra debug output and internal timing/status messages. |
|
| logical, | public | :: | watch_deps | = | .false. |
Use OS sleep for waiting to minimize idle CPU usage. |
type watch_opts_t !! Verbosity level: !! - `-1`: quiet (errors only) !! - `0`: normal !! - `1..2`: more detail integer :: verbosity = 0 !! Enable extra debug output and internal timing/status messages. logical :: debug = .false. !! Poll interval (seconds) between change scans. real :: poll = 0.5 !! Debounce interval (seconds) used after the first detected change. real :: debounce = 0.2 !! Optional periodic rescan interval (seconds). `0` disables periodic rescans. real :: rescan = 0.0 !! Run the command once immediately on startup. logical :: run_on_start = .true. !! Print the watched file list once at startup (requires high verbosity). logical :: print_files_once = .false. !! Suppress `fpm` output; keep only `fpm-watch` status lines. logical :: silent_fpm = .false. !! Also watch dependency project sources (can include paths under build dir). logical :: watch_deps = .false. !! Use OS sleep for waiting to minimize idle CPU usage. logical :: low_cpu = .false. !! Glob patterns to ignore. type(string_t), allocatable :: ignore(:) !! Glob patterns to include; if empty, includes all. type(string_t), allocatable :: include(:) !! Names of optional feature plugins to enable. type(string_t), allocatable :: enabled_features(:) !! Run once (init + optional run-on-start) and exit (CI-friendly). logical :: once = .false. end type watch_opts_t