mirror of
https://github.com/ckaczor/vscode-gitlens.git
synced 2026-02-12 02:58:32 -05:00
Hides working changed files behind insiders flag Unhides Changed Files node from behind insiders flag Adds changed file count to Changed Files node label Adds icon to Changed Files node Adds upstream branch to upstream status nodes Sorts files in the Changed Files node
44 lines
1.8 KiB
TypeScript
44 lines
1.8 KiB
TypeScript
'use strict';
|
|
import { Strings } from '../../system';
|
|
import { GlyphChars } from '../../constants';
|
|
import { Formatter, IFormatOptions } from './formatter';
|
|
import { GitStatusFile, IGitStatusFile, IGitStatusFileWithCommit } from '../models/status';
|
|
import * as path from 'path';
|
|
|
|
export interface IStatusFormatOptions extends IFormatOptions {
|
|
tokenOptions?: {
|
|
file?: Strings.ITokenOptions;
|
|
filePath?: Strings.ITokenOptions;
|
|
path?: Strings.ITokenOptions;
|
|
};
|
|
}
|
|
|
|
export class StatusFileFormatter extends Formatter<IGitStatusFile, IStatusFormatOptions> {
|
|
|
|
get file() {
|
|
const file = path.basename(this._item.fileName);
|
|
return this._padOrTruncate(file, this._options.tokenOptions!.file);
|
|
}
|
|
|
|
get filePath() {
|
|
const filePath = GitStatusFile.getFormattedPath(this._item);
|
|
return this._padOrTruncate(filePath, this._options.tokenOptions!.filePath);
|
|
}
|
|
|
|
get path() {
|
|
const directory = GitStatusFile.getFormattedDirectory(this._item, false);
|
|
return this._padOrTruncate(directory, this._options.tokenOptions!.file);
|
|
}
|
|
|
|
get working() {
|
|
const commit = (this._item as IGitStatusFileWithCommit).commit;
|
|
return (commit !== undefined && commit.isUncommitted) ? `${GlyphChars.Pensil} ${GlyphChars.Space}` : '';
|
|
}
|
|
|
|
static fromTemplate(template: string, status: IGitStatusFile, dateFormat: string | null): string;
|
|
static fromTemplate(template: string, status: IGitStatusFile, options?: IStatusFormatOptions): string;
|
|
static fromTemplate(template: string, status: IGitStatusFile, dateFormatOrOptions?: string | null | IStatusFormatOptions): string;
|
|
static fromTemplate(template: string, status: IGitStatusFile, dateFormatOrOptions?: string | null | IStatusFormatOptions): string {
|
|
return super.fromTemplateCore(this, template, status, dateFormatOrOptions);
|
|
}
|
|
} |