klog.js
Version:
A JavaScript implementation of the Klog time tracking file format
29 lines (28 loc) • 899 B
TypeScript
import { Indentation } from "./types.js";
export interface SummaryTag {
name: string;
value?: string;
}
export interface SummaryTextNode {
type: "text";
value: string;
}
export interface SummaryEndOfLineNode {
type: "end-of-line";
}
export interface SummaryTagNode extends SummaryTag {
type: "tag";
}
export type SummaryAsNodes = SummaryEndOfLineNode | SummaryTextNode | SummaryTagNode;
/** @deprecated Use {@link SummaryAsNodes} instead. */
export type SummaryAsTags = SummaryAsNodes;
export declare class Summary {
lines: string[];
constructor(text: string | string[]);
setText(text: string): void;
get tags(): SummaryTag[];
/** Split the summary into a list of text nodes and tag nodes, useful for rich
* text formatting. */
splitOnTags(): SummaryAsNodes[];
toString(indentation?: Indentation | null, startOnNextLine?: boolean): string;
}