claude-statusline-powerline
Version:
Beautiful powerline-style statusline for Claude Code with git integration, session tracking, and cost monitoring
42 lines • 1.35 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.segmentRegistry = exports.SegmentRegistry = void 0;
class SegmentRegistry {
constructor() {
this.segments = new Map();
}
register(segment) {
this.segments.set(segment.name, segment);
}
unregister(name) {
this.segments.delete(name);
}
get_segment(name) {
return this.segments.get(name);
}
get_all_segments() {
return Array.from(this.segments.values());
}
get_enabled_segments(config) {
// If we have segment_config, include all segments for styling purposes
if (config.segment_config?.segments) {
const segments = [];
for (const segment_config of config.segment_config.segments) {
const segment = this.segments.get(segment_config.type);
if (segment) {
segments.push(segment);
}
}
return segments;
}
// Fallback: show all segments in registration order
return this.get_all_segments();
}
get_segment_names() {
return Array.from(this.segments.keys());
}
}
exports.SegmentRegistry = SegmentRegistry;
// Global registry instance
exports.segmentRegistry = new SegmentRegistry();
//# sourceMappingURL=registry.js.map