apply_watch_from_manifest Subroutine

public subroutine apply_watch_from_manifest(w)

Apply configuration overrides from fpm.toml [extra.fpm-watch].

Missing keys are ignored; successfully read values override existing defaults.

Arguments

Type IntentOptional Attributes Name
type(watch_opts_t), intent(inout) :: w

Calls

proc~~apply_watch_from_manifest~~CallsGraph proc~apply_watch_from_manifest apply_watch_from_manifest proc~load_watch_table load_watch_table proc~apply_watch_from_manifest->proc~load_watch_table proc~normalize_watch_opts normalize_watch_opts proc~apply_watch_from_manifest->proc~normalize_watch_opts proc~toml_get_int toml_get_int proc~apply_watch_from_manifest->proc~toml_get_int proc~toml_get_list_strings toml_get_list_strings proc~apply_watch_from_manifest->proc~toml_get_list_strings proc~toml_get_logical toml_get_logical proc~apply_watch_from_manifest->proc~toml_get_logical proc~toml_get_real toml_get_real proc~apply_watch_from_manifest->proc~toml_get_real exists exists proc~load_watch_table->exists get_value get_value proc~load_watch_table->get_value read_package_file read_package_file proc~load_watch_table->read_package_file proc~toml_get_int->get_value get_list get_list proc~toml_get_list_strings->get_list proc~toml_get_logical->get_value proc~toml_get_real->get_value

Called by

proc~~apply_watch_from_manifest~~CalledByGraph proc~apply_watch_from_manifest apply_watch_from_manifest proc~parse_cli parse_cli proc~parse_cli->proc~apply_watch_from_manifest proc~parse_cli_config parse_cli_config proc~parse_cli_config->proc~parse_cli

Source Code

   subroutine apply_watch_from_manifest(w)
      type(watch_opts_t), intent(inout) :: w

      type(toml_table), allocatable :: root
      type(toml_table), pointer :: wt
      logical :: ok

      call load_watch_table(root, wt, ok)
      if (.not. ok) return

      call toml_get_real(wt,    "poll",     w%poll)
      call toml_get_real(wt,    "debounce", w%debounce)
      call toml_get_real(wt,    "rescan",   w%rescan)

      call toml_get_logical(wt, "debug",        w%debug)
      call toml_get_logical(wt, "print-files",  w%print_files_once)
      call toml_get_logical(wt, "silent-fpm",   w%silent_fpm)
      call toml_get_logical(wt, "run-on-start", w%run_on_start)

      call toml_get_logical(wt, "deps",         w%watch_deps)
      call toml_get_logical(wt, "low-cpu",      w%low_cpu)
      call toml_get_logical(wt, "once",         w%once)

      call toml_get_int(wt,     "verbosity", w%verbosity)

      call toml_get_list_strings(wt, "ignore",   w%ignore)
      call toml_get_list_strings(wt, "include",  w%include)
      call toml_get_list_strings(wt, "features", w%enabled_features)

      call normalize_watch_opts(w)
   end subroutine apply_watch_from_manifest