watcher_t Derived Type

type, public :: watcher_t

Main watcher state and methods.

watcher_t owns: - The effective configuration (cfg) - Feature plugins (fm) - Watch list (files) plus per-file target masks (file_mask) - Fingerprinting buffers for change detection (fp_prev, fp_now) - The current manifest key used to detect "rebuild needed" events (man_prev)


Inherits

type~~watcher_t~~InheritsGraph type~watcher_t watcher_t string_t string_t type~watcher_t->string_t files type~feature_manager_t feature_manager_t type~watcher_t->type~feature_manager_t fm type~root_info_t root_info_t type~watcher_t->type~root_info_t roots type~watch_config_t watch_config_t type~watcher_t->type~watch_config_t cfg type~feature_box_t feature_box_t type~feature_manager_t->type~feature_box_t feat fpm_build_settings fpm_build_settings type~watch_config_t->fpm_build_settings settings type~watch_opts_t watch_opts_t type~watch_config_t->type~watch_opts_t w type~watch_feature_t watch_feature_t type~feature_box_t->type~watch_feature_t p type~watch_opts_t->string_t ignore, include, enabled_features

Components

Type Visibility Attributes Name Initial
type(watch_config_t), public :: cfg
integer, public, allocatable :: changed_idx(:)
integer(kind=int64), public, allocatable :: file_mask(:)
type(string_t), public, allocatable :: files(:)
type(feature_manager_t), public :: fm
integer(kind=int64), public, allocatable :: fp_now(:)
integer(kind=int64), public, allocatable :: fp_prev(:)
integer(kind=int64), public :: man_prev = 0_int64
type(root_info_t), public, allocatable :: roots(:)

Type-Bound Procedures

procedure, public :: init => watcher_init

procedure, public :: run => watcher_run

  • private subroutine watcher_run(self)

    Run the main watch loop until termination.

    Read more…

    Arguments

    Type IntentOptional Attributes Name
    class(watcher_t), intent(inout) :: self

Source Code

   type watcher_t
      type(watch_config_t) :: cfg
      type(feature_manager_t) :: fm

      type(string_t), allocatable :: files(:)
      integer(int64), allocatable :: file_mask(:)
      type(root_info_t), allocatable :: roots(:)

      integer(int64), allocatable :: fp_prev(:)
      integer(int64), allocatable :: fp_now(:)
      integer, allocatable :: changed_idx(:)

      integer(int64) :: man_prev = 0_int64
   contains
      procedure :: init => watcher_init
      procedure :: run  => watcher_run
   end type watcher_t