<commit_before>
'use strict';

const App = require('./app');
const ColourRegistry = require('./colour-registry');
const ConfigStore = require('./config-store');
const DecorationOperatorFactory = require('./decoration-operator-factory');
const DecorationRegistry = require('./decoration-registry');
const TextDecorator = require('./text-decorator');
const TextLocator = require('./text-locator');
const Debouncer = require('./debouncer');

class AppFactory {

    create(vscode, logger) {
        const configStore = new ConfigStore({workspace: vscode.workspace});
        const colourRegistry = new ColourRegistry({configStore});
        const decorationRegistry = new DecorationRegistry({
            colourRegistry,
            window: vscode.window,
            OverviewRulerLane: vscode.OverviewRulerLane
        });
        const textLocator = new TextLocator({Range: vscode.Range});
        const textDecorator = new TextDecorator({textLocator});
        const decorationOperatorFactory = new DecorationOperatorFactory({textDecorator, decorationRegistry});
        const debouncer = new Debouncer({configStore});
        return new App({decorationOperatorFactory, logger, debouncer, vscode});
    }

}

module.exports = AppFactory;<commit_msg>Fixed the bug that vsWindow is not passed instead of vscode<commit_after>
'use strict';

const App = require('./app');
const ColourRegistry = require('./colour-registry');
const ConfigStore = require('./config-store');
const DecorationOperatorFactory = require('./decoration-operator-factory');
const DecorationRegistry = require('./decoration-registry');
const TextDecorator = require('./text-decorator');
const TextLocator = require('./text-locator');
const Debouncer = require('./debouncer');

class AppFactory {

    create(vscode, logger) {
        const configStore = new ConfigStore({workspace: vscode.workspace});
        const colourRegistry = new ColourRegistry({configStore});
        const decorationRegistry = new DecorationRegistry({
            colourRegistry,
            window: vscode.window,
            OverviewRulerLane: vscode.OverviewRulerLane
        });
        const textLocator = new TextLocator({Range: vscode.Range});
        const textDecorator = new TextDecorator({textLocator});
        return new App({
            debouncer: new Debouncer({configStore}),
            decorationOperatorFactory: new DecorationOperatorFactory({textDecorator, decorationRegistry}),
            logger,
            vsWindow: vscode.window
        });
    }

}

module.exports = AppFactory;
{'fraction_non_alphanumeric': 0.11603292826342611, 'fraction_numerical': 0.0, 'mean_word_length': 3.7523277467411544, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, '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': '2051497', 'n_tokens_mistral': 670, 'n_tokens_neox': 647, 'n_words': 157}