anchor.diff:  %% </p>
   %% @spec duplicated_code_in_buffer(FileName::filename(),MinToks::integer(),MinClones::integer(), TabWidth::integer()) -> {ok, string()}
   %% 
  -%%-spec(duplicated_code_in_buffer/4::(filename(), string(), string(), integer()) ->{ok, string()}).     
  +-spec(duplicated_code_in_buffer/4::(filename(), string(), string(), integer()) ->{ok, string()}).     
   duplicated_code_in_buffer(FileName, MinToks, MinClones, TabWidth) -> 
       try_refactoring(refac_duplicated_code, duplicated_code, [[FileName], MinToks, MinClones, TabWidth]).
   
  
positive.code: %% <li> The selected part must be a tuple.  </li>
  %% </p>
  %% <p> To apply this refactoring, highlight the tuple, which should be a function parameter,  
  %% then select <em> From Tuple To Record </em> from <em> Refactor </em>, 
  %% Wrangler will then prompt to enter the record name and  the record field names.
  %% </p>
  %% @spec tuple_to_record(File::filename(),FLine::integer(),FCol::integer(),
  %%           LLine::integer(),LCol::integer(), RecName::string(),
  %%           FieldString::[string()], SearchPaths::[dir()], TabWidth:: integer()) ->  {error, string()} | {ok, [filename()]} 
  %% @end
  %%-spec(tuple_to_record/9::(filename(), integer(), integer(), integer(), integer(), string(), [string()], [dir()], integer()) ->
  %%	     {error, string()} | {ok, [filename()]}).
  
  tuple_to_record(File, FLine, FCol, LLine, LCol, RecName, FieldString, SearchPaths, TabWidth) ->
      try_refactoring(refac_tuple_to_record, tuple_to_record, [File, FLine, FCol, LLine, LCol, RecName,
  					  FieldString, SearchPaths, TabWidth]).
  
negative.code: %% @doc A similar code detector that searches for similar code in the current Erlang buffer.
  %% <p> This function reports similar expression sequences found in the current Erlang buffer, but does not 
  %% remove those clones though. The user needs to provide three parameters to be used by the clone detector, and 
  %% they are: the minimum length of an expression sequence, the minimum number of duplication times, and 
  %% a similarity score which should be between 0.1 and 1.0.
  %% </p>
  %% <p> 
  %% Usage: select <em> Detect Similar Code in Buffer </em> from <em> Refactor</em>, Wrangler will then prompt to 
  %% input the parameters needed.
  %% </p>
  %% @spec similar_code_detection_in_buffer(FileName::filename(), MinLen::string(), MinFreq::string(), MinScore::string(), 
  %%					   SearchPaths::[dir()], TabWidth::integer()) ->  {ok, string()}
  -spec(similar_code_detection_in_buffer/6::(FileName::filename(), MinLen::string(), MinFreq::string(), MinScore::string(), 
  					   SearchPaths::[dir()], TabWidth::integer()) ->  {ok, string()}).
  similar_code_detection_in_buffer(FileName, MinLen, MinFreq, SimiScore, SearchPaths, TabWidth) ->
      try_refactoring(refac_sim_code, sim_code_detection, [[FileName],MinLen, MinFreq, SimiScore, SearchPaths, TabWidth]).
  
   
  %% ==================================================================================================
  %%@doc A similar code detector that searches for similar code across multiple Erlang modules.
  %% <p> This function reports similar expression sequences found in the directories specified, but does not 
  %% remove those clones though. The algorithm is based on the notion of anti-unification, or the least common generalisation.
  %% The user needs to provide three parameters to be used by the clone detector, and 
  %% they are: the minimum length of an expression sequence, the minimum number of duplication times, and 
  %% a similarity score which should be between 0.1 and 1.0.
  %% </p>
  %% <p> 
  %% Usage: select <em> Detect Similar Code in Dirs </em> from <em> Refactor</em>, Wrangler will then prompt to 
  %% input the parameters needed.
  %% </p>
  %%@spec similar_code_detection(DirFileList::[filename()|dir()], MinLen::string(), MinFreq::string(), MinScore::string(), 
  %%				 SearchPaths::[dir()], TabWidth::integer()) -> {ok, string()}
  -spec(similar_code_detection/6::(DirFileList::[filename()|dir()], MinLen::string(), MinFreq::string(), MinScore::string(), 
  				 SearchPaths::[dir()], TabWidth::integer()) -> {ok, string()}).
  similar_code_detection(DirFileList, MinLen, MinFreq, SimiScore1, SearchPaths, TabWidth) ->
      refac_sim_code:sim_code_detection(DirFileList, MinLen, MinFreq, SimiScore1, SearchPaths, TabWidth) .
    
  