Module Drom_lib.CommandHeaders

type header_sep = {
  1. sep_name : string;
  2. sep_regexp : Str.regexp;
  3. sep_add_line : int;
  4. mutable sep_headers : header list;
}
and header = {
  1. header_id : string;
  2. header_lines : string list;
  3. header_sep : header_sep;
  4. mutable header_files : (int * file) list;
}
and file = {
  1. file_name : string;
  2. file_headers : (int * header) list;
}
type config = {
  1. ignore_headers : EzCompat.StringSet.t;
  2. ignore_files : EzCompat.StringSet.t;
  3. ignore_extensions : EzCompat.StringSet.t;
}
type env = {
  1. config : config;
  2. headers : (string, header) Stdlib.Hashtbl.t;
  3. mutable files : (string, file) Stdlib.Hashtbl.t;
  4. mutable save_to_ignore : EzCompat.StringSet.t;
}
val ignore_files_filename : string
val ignore_files_more_filename : string
val ignore_headers_filename : string
val homedir : string
val config_dir : string
val max_header_lines : int Stdlib.ref
val min_char_repetition : int Stdlib.ref
val stars : string
val spaces : string
val new_header_sep : ?sep_add_line:int -> string -> string -> header_sep
val ml_header : header_sep
val cc_header : header_sep
val sh_header : header_sep
val reset_headers : env -> unit
val is_header_sep : string -> header_sep -> bool
val new_header_id : string -> string
val new_header : env -> header_sep -> 'a -> string list -> ('b * header) list
val read_headers : env -> string list -> header_sep -> (int * header) list
val record_header : ?config:bool -> env -> string -> header_sep -> unit
val list_ignore_files : config -> EzCompat.StringSet.elt list -> config
val list_ignore_headers : config -> EzCompat.StringSet.elt list -> config
val add_default_ignored : config -> config
val scan_dir : env -> string -> unit
val check_file : env -> EzCompat.StringSet.elt -> string -> unit
val scan_dirs : env -> string list -> unit
val fprintf_loc : Stdlib.out_channel -> string -> int -> unit
val print_headers : EzCompat.StringSet.t -> header_sep -> string -> unit
val save_ignored : env -> unit
val remove_empty_lines : string list -> string list
val replace_header : header -> header -> int -> file -> bool
val add_default_header : header -> file -> bool
type args = {
  1. mutable arg_add_default : string list;
  2. mutable arg_dirs : string list;
  3. mutable arg_replace : string list;
  4. mutable arg_replace_by : string option;
  5. mutable arg_skip_headers : EzCompat.StringSet.t;
}
val undo_oc : Stdlib.out_channel option Stdlib.ref
val get_undo_oc : unit -> Stdlib.out_channel
val init_action : args -> env -> unit
val do_actions : args -> env -> unit
val new_args : unit -> args
val action : args -> unit
val cmd_name : string
val cmd : Ezcmd.V2.EZCMD.TYPES.sub