<commit_before>//
//  XVimBuffer.h
//  XVim
//
//  Created by <NAME> on 9/04/12.
//

#import <Cocoa/Cocoa.h>
#import "XVimMode.h"
#import "XVimCommandLine.h"
#import "XVimPlaybackHandler.h"
#import "XVimTextViewProtocol.h"

/*
 * This class manages 1 window. (The term "window" here is different from NSWindow)
 * A window has several text views and one command line view.
 *
 */

@class XVimSourceView;
@class XVimEvaluator;
@class XVimRegister;
@class IDEEditorArea;

@interface XVimWindow : NSObject <NSTextFieldDelegate, XVimCommandFieldDelegate, XVimPlaybackHandler>

@property(retain) XVimSourceView<XVimTextViewProtocol>* sourceView; // This represents currently focused sourceView
@property(readonly) XVimEvaluator *currentEvaluator;
@property(retain) IDEEditorArea* editorArea;


- (NSUInteger)insertionPoint; // May be removed. This should be accessed via sourceView::insertionPoint
- (XVimCommandLine*)commandLine;
<commit_msg>Added comment on XVimWindow<commit_after>//
//  XVimBuffer.h
//  XVim
//
//  Created by <NAME> on 9/04/12.
//

#import <Cocoa/Cocoa.h>
#import "XVimMode.h"
#import "XVimCommandLine.h"
#import "XVimPlaybackHandler.h"
#import "XVimTextViewProtocol.h"

/*
 * This class manages 1 window. (The term "window" here is different from NSWindow)
 * A window has several text views and one command line view.
 * All the key input (or mouse input or some other event if needed ) must be passed to
 * the associated XVimWindow object first and it handles the event.
 */

@class XVimSourceView;
@class XVimEvaluator;
@class XVimRegister;
@class IDEEditorArea;

@interface XVimWindow : NSObject <NSTextFieldDelegate, XVimCommandFieldDelegate, XVimPlaybackHandler>

@property(retain) XVimSourceView<XVimTextViewProtocol>* sourceView; // This represents currently focused sourceView
@property(readonly) XVimEvaluator *currentEvaluator;
@property(retain) IDEEditorArea* editorArea;


- (NSUInteger)insertionPoint; // May be removed. This should be accessed via sourceView::insertionPoint
- (XVimCommandLine*)commandLine;

{'fraction_non_alphanumeric': 0.10186092066601371, 'fraction_numerical': 0.005876591576885406, 'mean_word_length': 5.364485981308412, 'pattern_counts': {'":': 0, '<': 11, '<?xml version=': 0, '>': 11, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, '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': '5349295', 'n_tokens_mistral': 676, 'n_tokens_neox': 645, 'n_words': 192}