/*==================================================
project:       
Author:        R.Andres Castaneda 
----------------------------------------------------
Creation Date:    20 Jan 2022 - 09:44:03
==================================================*/

/*==================================================
0: Program set up
==================================================*/
program define pip_drop, rclass
syntax [anything(name=subcommand)], [frame_prefix(string) qui]


qui {
	//========================================================
	// Frames
	//========================================================
	if regexm("`subcommand'", "^frame") {
			
		if ("`frame_prefix'" == "") {
			local frame_prefix "pip_"
		}
		
		//------------ Remove frames
		
		frame dir
		local av_frames "`r(frames)'"
		
		foreach fr of local av_frames {
			
			if (regexm("`fr'", "(^`frame_prefix')(.+)")) {
				
				frame drop `fr'
				
				local dropped "`dropped' `fr'"
			}
			
		} // loop over frames
		
		if ("`dropped'" == "") {
			if ("`qui'" == "") noi disp in y "NO frame was dropped"
		}
		else {
			if ("`qui'" == "")  {
				noi disp in y "The following internal frames were dropped:" 
				foreach f of local dropped {
					noi disp in w "`f'"
				}
			}
		}
		
		
	}
	
	//========================================================
	// Globals 
	//========================================================
	if regexm("`subcommand'", "^global") {
		local pip_globals: all globals "pip_*"
		* disp "`pip_globals'"
		foreach gl of local pip_globals {
			if regexm("`gl'", "svr") continue
			global `gl' ""
		}
		
	}
	
	
} // end of qui

end
exit
/* End of do-file */

><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><