| Procedure | Location | Procedure Type | Description |
|---|---|---|---|
| acquire_lock | cache_lock | Function | |
| cache_exists | cache | Function | |
| check_stdin_available | cli | Subroutine | |
| cleanup_stale_locks | cache_lock | Subroutine | |
| cleanup_temp_dir | temp_utils | Subroutine | |
| clear_cache | cache | Subroutine | |
| create_temp_dir | temp_utils | Function | |
| create_temp_file | temp_utils | Function | Create a unique temporary file path without creating a directory |
| create_test_cache_dir | temp_utils | Function | Create a unique test cache directory to avoid race conditions in parallel tests |
| debug_print | logger_utils | Subroutine | Print debug message (only if verbose level >= 2) |
| discover_fpm_tests | test_discovery | Subroutine | |
| ensure_cache_dir | cache | Subroutine | |
| ensure_cache_structure | cache | Subroutine | |
| ensure_config_dir | config | Subroutine | |
| ensure_registry_exists | registry_resolver | Subroutine | |
| ensure_registry_exists_in_dir | registry_resolver | Subroutine | |
| escape_shell_arg | system_utils | Function | |
| format_fortran_code | formatter_utils | Function | |
| format_fortran_file | formatter_utils | Subroutine | |
| fortran_with_cache_dir | temp_utils | Function | Create a command that runs fortrun with specified cache directory |
| fortran_with_isolated_cache | temp_utils | Function | Create a command that runs fortrun with isolated cache |
| generate_fpm_with_deps | fpm_generator | Subroutine | |
| generate_fpm_with_deps_from_config | fpm_generator | Subroutine | |
| get_cache_dir | cache | Function | |
| get_cache_info | cache | Subroutine | |
| get_cache_key | cache | Function | |
| get_cache_subdir | cache | Function | |
| get_config_dir | config | Function | |
| get_content_hash | cache | Function | |
| get_current_directory | temp_utils | Function | |
| get_current_log_level | logger | Function | |
| get_fpm_digest | cache | Function | |
| get_logger_verbose_level | logger_utils | Function | Get the current verbose level |
| get_module_cache_dir | fpm_module_cache | Function | Get the default module cache directory |
| get_project_root | temp_utils | Function | |
| get_registry_path | config | Function | |
| get_single_file_content_hash | cache | Function | |
| get_stderr_redirect | system_utils | Function | Get platform-specific stderr redirection string |
| get_system_temp_dir | temp_utils | Function | |
| get_temp_file_path | temp_utils | Function | |
| handle_cache_info | main | Subroutine | |
| handle_clear_cache | main | Subroutine | |
| handle_standardize_only | main | Subroutine | |
| handle_test_command | test_cli | Subroutine | |
| handle_test_subcommand | main | Subroutine | |
| int_to_char | string_utils | Function | |
| invalidate_cache | cache | Subroutine | |
| is_debug_category_enabled | logger | Function | |
| is_lazy_fortran_file | runner | Function | Check if file is a lazy fortran file (.lf or .LF extension) |
| is_locked | cache_lock | Function | |
| load_registry | registry_resolver | Subroutine | |
| load_registry_from_path | registry_resolver | Subroutine | |
| log_debug | logger | Subroutine | |
| log_error | logger | Subroutine | |
| log_info | logger | Subroutine | |
| log_verbose | logger | Subroutine | |
| log_warn | logger | Subroutine | |
| logical_to_char | string_utils | Function | |
| mkdir | temp_utils | Subroutine | Safe mkdir that creates parent directories and doesn't terminate on failure (unlike FPM's mkdir) |
| new_module_cache | fpm_module_cache | Function | Create a new module cache instance |
| parse_arguments | cli | Subroutine | |
| parse_arguments_with_stdin_check | cli | Subroutine | |
| path_join | temp_utils | Function | |
| print_error | logger_utils | Subroutine | Print error message (always shown, verbose level >= 0) |
| print_help | main | Subroutine | |
| print_info | logger_utils | Subroutine | Print info message (only if verbose level >= 1) |
| print_test_help | test_cli | Subroutine | |
| print_warning | logger_utils | Subroutine | Print warning message (always shown, verbose level >= 0) |
| release_lock | cache_lock | Subroutine | |
| resolve_module_to_package | registry_resolver | Subroutine | |
| resolve_module_with_version | registry_resolver | Subroutine | |
| retrieve_build_artifacts | cache | Subroutine | |
| route_command | command_router | Subroutine | |
| run_fortran_file | runner | Subroutine | |
| run_parallel_tests | test_runner | Subroutine | |
| run_single_test | test_execution | Subroutine | |
| scan_modules | module_scanner | Subroutine | |
| set_logger_verbose_level | logger_utils | Subroutine | Set the global verbose level for the logger |
| set_verbose_level | logger | Subroutine | |
| should_log | logger | Function | |
| store_build_artifacts | cache | Subroutine | |
| store_executable_cache | cache | Subroutine | |
| store_module_cache | cache | Subroutine | |
| sys_copy_dir | system_utils | Subroutine | Copy a directory recursively from source to destination |
| sys_copy_file | system_utils | Subroutine | Copy a file from source to destination |
| sys_count_files | system_utils | Function | Count files in a directory |
| sys_create_dir | system_utils | Subroutine | Create a directory (with parent directories if needed) |
| sys_create_symlink | system_utils | Subroutine | Create a symbolic link |
| sys_dir_exists | system_utils | Function | Check if a directory exists |
| sys_file_exists | system_utils | Function | Check if a file exists (handles both regular files and symlinks) |
| sys_find_files | system_utils | Subroutine | Find files matching a pattern (recursive or non-recursive) |
| sys_get_absolute_path | system_utils | Subroutine | Get absolute path of a file |
| sys_get_current_dir | system_utils | Subroutine | Get current working directory |
| sys_get_path_separator | system_utils | Function | Get platform-specific path separator |
| sys_get_temp_dir | system_utils | Function | Get system temporary directory |
| sys_kill_process | system_utils | Subroutine | Kill a process by PID |
| sys_list_files | system_utils | Subroutine | List files in a directory matching a pattern |
| sys_move_file | system_utils | Subroutine | Move/rename a file |
| sys_process_exists | system_utils | Function | Check if a process exists |
| sys_remove_dir | system_utils | Subroutine | Remove a directory and all its contents |
| sys_remove_file | system_utils | Subroutine | Remove a file |
| sys_run_command | system_utils | Subroutine | Run a command and capture output |
| sys_run_command_with_exit_code | system_utils | Subroutine | Run a command and capture output and exit code to files This is a portable way to replace Unix "command > output 2>&1; echo $? > exit_file" |
| sys_sleep | system_utils | Subroutine | Sleep for specified seconds |
| validate_registry | registry_resolver | Subroutine |