@owloops/claude-powerline
Version:
Beautiful vim-style powerline statusline for Claude Code with real-time usage tracking, git integration, and custom themes
183 lines (176 loc) • 3.55 kB
text/typescript
export const RESET_CODE = "\x1b[0m";
export const SYMBOLS = {
right: "\uE0B0",
left_rounded: "\uE0B6",
right_rounded: "\uE0B4",
branch: "⎇",
model: "✱",
git_clean: "✓",
git_dirty: "●",
git_conflicts: "⚠",
git_ahead: "↑",
git_behind: "↓",
git_worktree: "⧉",
git_tag: "⌂",
git_sha: "♯",
git_upstream: "→",
git_stash: "⧇",
git_time: "◷",
session_cost: "§",
block_cost: "◱",
today_cost: "☉",
context_time: "◔",
metrics_response: "⧖",
metrics_last_response: "Δ",
metrics_duration: "⧗",
metrics_messages: "◆",
metrics_lines_added: "+",
metrics_lines_removed: "-",
metrics_burn: "↗",
version: "◈",
bar_filled: "▪",
bar_empty: "▫",
env: "⚙",
session_id: "⌗",
weekly_cost: "◑",
dir: "📁",
activity: "⚡",
agent: "◇",
thinking: "✦",
cache_timer: "◴",
} as const;
export const BOX_CHARS = {
topLeft: "╭",
topRight: "╮",
bottomLeft: "╰",
bottomRight: "╯",
horizontal: "─",
vertical: "│",
teeLeft: "├",
teeRight: "┤",
} as const;
export const BOX_CHARS_TEXT = {
topLeft: "+",
topRight: "+",
bottomLeft: "+",
bottomRight: "+",
horizontal: "-",
vertical: "|",
teeLeft: "+",
teeRight: "+",
} as const;
import type { BoxChars } from "../tui/types";
export const BOX_PRESETS: Record<string, BoxChars> = {
rounded: BOX_CHARS,
square: {
topLeft: "┌",
topRight: "┐",
bottomLeft: "└",
bottomRight: "┘",
horizontal: "─",
vertical: "│",
teeLeft: "├",
teeRight: "┤",
},
heavy: {
topLeft: "┏",
topRight: "┓",
bottomLeft: "┗",
bottomRight: "┛",
horizontal: "━",
vertical: "┃",
teeLeft: "┣",
teeRight: "┫",
},
double: {
topLeft: "╔",
topRight: "╗",
bottomLeft: "╚",
bottomRight: "╝",
horizontal: "═",
vertical: "║",
teeLeft: "╠",
teeRight: "╣",
},
dashed: {
topLeft: "╭",
topRight: "╮",
bottomLeft: "╰",
bottomRight: "╯",
horizontal: "┄",
vertical: "┊",
teeLeft: "├",
teeRight: "┤",
},
"heavy-dashed": {
topLeft: "┏",
topRight: "┓",
bottomLeft: "┗",
bottomRight: "┛",
horizontal: "┅",
vertical: "┇",
teeLeft: "┣",
teeRight: "┫",
},
mixed: {
topLeft: "┍",
topRight: "┑",
bottomLeft: "┕",
bottomRight: "┙",
horizontal: "━",
vertical: "│",
teeLeft: "┝",
teeRight: "┥",
},
ascii: BOX_CHARS_TEXT,
invisible: {
topLeft: " ",
topRight: " ",
bottomLeft: " ",
bottomRight: " ",
horizontal: " ",
vertical: " ",
teeLeft: " ",
teeRight: " ",
},
};
export const TEXT_SYMBOLS = {
right: "\uE0B0",
left_rounded: "\uE0B6",
right_rounded: "\uE0B4",
branch: "~",
model: "M",
git_clean: "=",
git_dirty: "*",
git_conflicts: "!",
git_ahead: "^",
git_behind: "v",
git_worktree: "W",
git_tag: "T",
git_sha: "#",
git_upstream: ">>",
git_stash: "S",
git_time: "@",
session_cost: "S",
block_cost: "B",
today_cost: "D",
context_time: "C",
metrics_response: "R",
metrics_last_response: "L",
metrics_duration: "T",
metrics_messages: "#",
metrics_lines_added: "+",
metrics_lines_removed: "-",
metrics_burn: "~/h",
version: "V",
bar_filled: "=",
bar_empty: "-",
env: "$",
session_id: "#",
weekly_cost: "W",
dir: "D",
activity: "A",
agent: "&",
thinking: "T",
cache_timer: "C!",
} as const;