<commit_before>'use strict'

import { Uri, workspace, Event, EventEmitter, Disposable } from 'vscode';

import { ExplorerViewProvider } from './explorerViewProvider';
import { GitService, GitRepo } from './gitService';

export interface Configuration {
    readonly commitsCount?: number;
    readonly expressMode?: boolean;
    readonly displayExpress?: boolean;
    withFolder?: boolean;
}

export interface FilesViewContext {
    repo: GitRepo;
    leftRef?: string;
    rightRef?: string;
    specifiedPath?: Uri;
    focusedLineInfo?: string;
}

export interface HistoryViewContext {
    repo: GitRepo;
    branch?: string;
    specifiedPath?: Uri;
    line?: number;
    author?: string;
}

function getConfiguration(): Configuration {
    return {
        withFolder: <boolean>workspace.getConfiguration('githd.explorerView').get('withFolder'),
        commitsCount: <number>workspace.getConfiguration('githd.logView').get('commitsCount'),
        expressMode: <boolean>workspace.getConfiguration('githd.logView').get('expressMode'),
        displayExpress: <boolean>workspace.getConfiguration('githd.logView').get('displayExpressMode')
    };
}

export class Model {
    private _explorerProvider: ExplorerViewProvider;
    private _config: Configuration;

    private _historyViewContext: HistoryViewContext;
    private _filesViewContext: FilesViewContext;

    private _onDidChangeConfiguratoin = new EventEmitter<Configuration>();<commit_msg>Fix issue: express mode status bar does not show<commit_after>'use strict'

import { Uri, workspace, Event, EventEmitter, Disposable } from 'vscode';

import { ExplorerViewProvider } from './explorerViewProvider';
import { GitService, GitRepo } from './gitService';

export interface Configuration {
    readonly commitsCount?: number;
    readonly expressMode?: boolean;
    readonly displayExpress?: boolean;
    withFolder?: boolean;
}

export interface FilesViewContext {
    repo: GitRepo;
    leftRef?: string;
    rightRef?: string;
    specifiedPath?: Uri;
    focusedLineInfo?: string;
}

export interface HistoryViewContext {
    repo: GitRepo;
    branch?: string;
    specifiedPath?: Uri;
    line?: number;
    author?: string;
}

function getConfiguration(): Configuration {
    return {
        withFolder: <boolean>workspace.getConfiguration('githd.explorerView').get('withFolder'),
        commitsCount: <number>workspace.getConfiguration('githd.logView').get('commitsCount'),
        expressMode: <boolean>workspace.getConfiguration('githd.logView').get('expressMode'),
        displayExpress: <boolean>workspace.getConfiguration('githd.logView').get('displayExpressStatus')
    };
}

export class Model {
    private _explorerProvider: ExplorerViewProvider;
    private _config: Configuration;

    private _historyViewContext: HistoryViewContext;
    private _filesViewContext: FilesViewContext;

    private _onDidChangeConfiguratoin = new EventEmitter<Configuration>();
{'fraction_non_alphanumeric': 0.10696095076400679, 'fraction_numerical': 0.0, 'mean_word_length': 4.8336633663366335, 'pattern_counts': {'":': 0, '<': 13, '<?xml version=': 0, '>': 13, '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': '50981', 'n_tokens_mistral': 792, 'n_tokens_neox': 783, 'n_words': 187}