anchor.diff:  %% Usage: simply select <em> Detect Identical Code in Current Buffer </em> from <em> Identical Code Detection</em>, 
   %% Wrangler will prompt to input the parameters.
   %% </p>
  -%%-spec(duplicated_code_in_buffer/5::(filename(), string(), string(), string(), integer()) ->{ok, string()}).     
  +-spec(duplicated_code_in_buffer/5::(filename(), string(), string(), string(), integer()) ->{ok, string()}).     
   duplicated_code_in_buffer(FileName, MinToks, MinClones, MaxPars, TabWidth) -> 
  -    try_refactoring(refac_duplicated_code, duplicated_code, [[FileName], MinToks, MinClones, MaxPars, TabWidth]).
  -
  -%%@private
  -%%-spec(duplicated_code_eclipse/5::(DirFileList::dir(), MinLength::integer(), MinClones::integer(), 
  -%%				  TabWidth::integer(),  SuffxiTreeExec::dir()) ->
  -%% 	     [{[{{filename(), integer(), integer()},{filename(), integer(), integer()}}], integer(), integer(), string()}]).
  +    try_refac(refac_duplicated_code, duplicated_code, [[FileName], MinToks, MinClones, MaxPars, TabWidth]).
  +
  +%%@private
  +-spec(duplicated_code_eclipse/5::(DirFileList::dir(), MinLength::integer(), MinClones::integer(), 
  +				  TabWidth::integer(),  SuffxiTreeExec::dir()) ->
  + 	     [{[{{filename(), integer(), integer()},{filename(), integer(), integer()}}], integer(), integer(), string()}]).
   duplicated_code_eclipse(DirFileList, MinLength, MinClones, TabWidth, SuffixTreeExec) ->
  -    try_refactoring(refac_duplicated_code, duplicated_code_eclipse, [DirFileList, MinLength, MinClones, TabWidth, SuffixTreeExec]).
  -
  -%%@private
  -%%-spec(sim_code_detection_eclipse/8::(DirFileList::[filename()|dir()], MinLen::integer(), MinToks::integer(),
  -%%					 MinFreq::integer(),  MaxVars:: integer(),SimiScore::float(), 
  -%%					 SearchPaths::[dir()], TabWidth::integer()) ->
  -%%					      [{[{{{File::filename(), StartLine::integer(), StartCol::integer()},
  -%%						   {File::filename(), StartLine::integer(), StartCol::integer()}}, FunCall::string()}], 
  -%%						Len::integer(), Freq::integer(), AntiUnifier::string()}]).
  +    try_refac(refac_duplicated_code, duplicated_code_eclipse, [DirFileList, MinLength, MinClones, TabWidth, SuffixTreeExec]).
  +
  +%%@private
  +-spec(sim_code_detection_eclipse/8::(DirFileList::[filename()|dir()], MinLen::integer(), MinToks::integer(),
  +					 MinFreq::integer(),  MaxVars:: integer(),SimiScore::float(), 
  +					 SearchPaths::[dir()], TabWidth::integer()) ->
  +					      [{[{{{File::filename(), StartLine::integer(), StartCol::integer()},
  +						   {File::filename(), StartLine::integer(), StartCol::integer()}}, FunCall::string()}], 
  +						Len::integer(), Freq::integer(), AntiUnifier::string()}]).
   sim_code_detection_eclipse(DirFileList, MinLen,MinToks,MinFreq,MaxNewVars,SimiScore,SearchPaths,TabWidth) ->
  -    try_refactoring(refac_inc_sim_code, inc_sim_code_detection_eclipse, 
  -		    [DirFileList, MinLen, MinToks, MinFreq, MaxNewVars, SimiScore, SearchPaths, TabWidth]).
  +    try_refac(refac_inc_sim_code, inc_sim_code_detection_eclipse,
  +	      [DirFileList, MinLen, MinToks, MinFreq, MaxNewVars, SimiScore, SearchPaths, TabWidth]).
   
   
   %% =====================================================================================
  
positive.code: %% and prompt you to input the record and field names if Wrangler is able to proceed the refactoring.
  %% </p>
  
  %%-spec(gen_fsm_to_record/3::(filename(),[dir()], integer()) -> 
  %%	         {error, string()} |
  %%		 {'ok', non_tuple, [{atom(), atom(), integer()}]} | 
  %%		 {'ok', {tuple, integer()}, [{atom(), atom(), integer()}]}).
  gen_fsm_to_record(FileName, SearchPaths, TabWidth) ->
      try_refactoring(refac_state_to_record, gen_fsm_to_record, [FileName, SearchPaths, TabWidth]).
  
  %@private  
  gen_fsm_to_record_1(FileName, RecordName, RecordFields, StateFuns, IsTuple, SearchPaths, TabWidth) ->
      try_refactoring(refac_state_to_record, gen_fsm_to_record_1, 
  		    [FileName, RecordName, RecordFields, StateFuns, IsTuple, SearchPaths, TabWidth]).
  
  
  %%@private
  %%-spec(gen_fsm_to_record_eclipse/3::(filename(),[dir()], integer()) ->
  %%					  {error, string()} |
  %%					 {'ok', non_tuple, [{atom(), atom(), integer()}]} | 
  %%					     {'ok', {tuple, integer()}, [{atom(), atom(), integer()}]}).
  gen_fsm_to_record_eclipse(FileName, SearchPaths, TabWidth) ->
      try_refactoring(refac_state_to_record, gen_fsm_to_record_eclipse, [FileName, SearchPaths, TabWidth]).
  
  %%@private
  %%-spec(gen_fsm_to_record_1_eclipse/7::(FileName::filename(), RecordName::string(), RecordFields::[string()],
  %%					StateFuns::[{atom(), atom(), integer()}], IsTuple::boolean(),
  %%					SearchPaths::[dir()], TabWidth::integer()) ->
  %%					   {error, string()} |
  %%					       {ok, [{filename(), filename(), string()}]}).
  gen_fsm_to_record_1_eclipse(FileName, RecordName, RecordFields, StateFuns, IsTuple, SearchPaths, TabWidth) ->
      try_refactoring(refac_state_to_record, gen_fsm_to_record_1_eclipse, 
  		    [FileName, RecordName, RecordFields, StateFuns, IsTuple, SearchPaths, TabWidth]).
    
  
  %@private
  eqc_statem_to_fsm(FileName, StateName, SearchPaths, TabWidth) ->
      try_refactoring(refac_statem_to_fsm, eqc_statem_to_fsm, [FileName, StateName, SearchPaths, TabWidth]).
  
  
  %@private
  eqc_statem_to_fsm_eclipse(FileName, StateName, SearchPaths, TabWidth) ->
      try_refactoring(refac_statem_to_fsm, eqc_statem_to_fsm_eclipse, [FileName, StateName, SearchPaths, TabWidth]).
  
  
  
  %=========================================================================================
  %%@doc Partition the exports of a module.
  %%-spec(partition_exports/4::(File::filename(), DistTreshold::string(), 
  %%			    SearchPaths::[filename()|dir()],TabWidth::integer()) ->
  %%				 {error, string()}|{ok, [filename()]}). 		  
  partition_exports(File, DistThreshold, SearchPaths, TabWidth)->
       try_refactoring(wrangler_modularity_inspection, partition_exports, 
  		     [File, DistThreshold, SearchPaths, TabWidth]).
     
  %%@private; Interface function for eclipse.
  %% DisTreshold is a parameter inputted by the user:
  %% "Please input a distance threshould between 0 and 1.0 (default value: 0.8):"
  %%@private
  %%-spec(partition_exports_eclipse/4::(File::filename(), DistTreshold::float(), 
  %%				    SearchPaths::[filename()|dir()], TabWidth::integer()) ->
  %%					 {error, string()}| {ok, [{filename(), filename(), string()}]}). 	  
  partition_exports_eclipse(File, DistThreshold, SearchPaths, TabWidth)->
      try_refactoring(wrangler_modularity_inspection, partition_exports_eclipse, 
  		    [File, DistThreshold, SearchPaths, TabWidth]).
  
  
  %%@private
  
negative.code: 	 inline_var_eclipse/5, inline_var_eclipse_1/6
  	]).
  
  -export([try_refac/3, get_log_msg/0]).
  
  -export([init_eclipse/0]).
  
  -include("../include/wrangler_internal.hrl").
  
  -type(context():: emacs | composite_emacs).
  
  %% ====================================================================================================
  %% @doc Rename a variable.
  