<commit_before>////////////////////////////////////////////////////////////////////////////////
// Name:      vimacros.h
// Purpose:   Declaration of class wxExViMacros
// Author:    <NAME>
// Copyright: (c) 2012 <NAME>
////////////////////////////////////////////////////////////////////////////////

#ifndef _EXVIMACROS_H
#define _EXVIMACROS_H

#include <map>
#include <vector>
#include <wx/filename.h>
#include <wx/xml/xml.h>
#include <wx/extension/variable.h>

#if wxUSE_GUI

class wxExEx;

/// Offers the macro collection, and allows
/// recording and playback to vi (ex) component.
/// You can also use variables inside a macro (or in vi),
/// these are expanded while playing back.
class WXDLLIMPEXP_BASE wxExViMacros
{
public:  
  /// Default constructor.
  wxExViMacros();
  
  /// Returns all macros (names) as an array of strings.
  const wxArrayString Get() const;
  
  /// Returns contents of macro (for testing).
  const std::vector< wxString > Get(const wxString& macro) const;
  
  /// Returns current or last macro played back.
  const wxString& GetMacro() const {return m_Macro;};
  
  /// Returns register.
  const wxString GetRegister(const wxString& name) const;

  /// Returns all registers as an array of strings.
  const wxArrayString GetRegisters() const;
  
  /// Have macros been recorded without calling SaveDocument.
  bool IsModified() {return m_IsModified;};
  
  /// Is macro recorded.
  /// If you do not specify a macro, then<commit_msg>added const<commit_after>////////////////////////////////////////////////////////////////////////////////
// Name:      vimacros.h
// Purpose:   Declaration of class wxExViMacros
// Author:    <NAME>
// Copyright: (c) 2013 <NAME>
////////////////////////////////////////////////////////////////////////////////

#ifndef _EXVIMACROS_H
#define _EXVIMACROS_H

#include <map>
#include <vector>
#include <wx/filename.h>
#include <wx/xml/xml.h>
#include <wx/extension/variable.h>

#if wxUSE_GUI

class wxExEx;

/// Offers the macro collection, and allows
/// recording and playback to vi (ex) component.
/// You can also use variables inside a macro (or in vi),
/// these are expanded while playing back.
class WXDLLIMPEXP_BASE wxExViMacros
{
public:  
  /// Default constructor.
  wxExViMacros();
  
  /// Returns all macros (names) as an array of strings.
  const wxArrayString Get() const;
  
  /// Returns contents of macro (for testing).
  const std::vector< wxString > Get(const wxString& macro) const;
  
  /// Returns current or last macro played back.
  const wxString& GetMacro() const {return m_Macro;};
  
  /// Returns register.
  const wxString GetRegister(const wxString& name) const;

  /// Returns all registers as an array of strings.
  const wxArrayString GetRegisters() const;
  
  /// Have macros been recorded without calling SaveDocument.
  bool IsModified() const {return m_IsModified;};
  
  /// Is macro recorded.
  /// If you do not specify a macro, then
{'fraction_non_alphanumeric': 0.20706042090970808, 'fraction_numerical': 0.0027155465037338763, 'mean_word_length': 2.172228202368138, 'pattern_counts': {'":': 0, '<': 19, '<?xml version=': 0, '>': 19, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 4}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '7236957', 'n_tokens_mistral': 849, 'n_tokens_neox': 822, 'n_words': 301}