Ещё про Status Line
Содержание
✅ Настроил удобную statusline под себя. Добавил:⌗
- текущую папку (проект, в котором работаю). Удобно при параллельной работе над несколькими проектами.
- Git-ветку или worktree. Удобно при параллельной работе над несколькими фичами/багфиксами.
- Процент использования контекста. Об этом уже писал в предыдущем посте.
💻 Получился вот такой скрипт:⌗
#!/usr/bin/env bash
input=$(cat)
cwd=$(echo "$input" | jq -r '.workspace.current_dir // .cwd // empty')
used=$(echo "$input" | jq -r '.context_window.used_percentage // empty')
# Determine git branch and worktree status
worktree_branch=$(echo "$input" | jq -r '.worktree.branch // empty')
in_worktree=$(echo "$input" | jq -r 'if .worktree then "yes" else "no" end')
if [ -n "$worktree_branch" ]; then
branch="$worktree_branch"
elif [ -n "$cwd" ]; then
branch=$(git -C "$cwd" --no-optional-locks symbolic-ref --short HEAD 2>/dev/null)
fi
# Build branch segment
branch_segment=""
if [ -n "$branch" ]; then
if [ "$in_worktree" = "yes" ]; then
branch_segment=" [worktree: $branch]"
else
branch_segment=" [$branch]"
fi
fi
# Assemble output
if [ -n "$used" ]; then
printf "%s%s | Context: %.0f%% used" "$cwd" "$branch_segment" "$used"
else
printf "%s%s" "$cwd" "$branch_segment"
fi
💾 Сохрани его в ~/.claude/statusline.sh и укажи в настройках Claude ~/.claude/settings.json:⌗
{
"statusLine": {
"type": "command",
"command": "~/.claude/statusline.sh"
}
}
🤖 Также сам Claude Code может помочь собрать status line под твои нужды, если в Claude Code выполнить команду⌗
/statusline <твои пожелания тут>
Например, можно попросить выводить название текущей выбранной модели и включен ли Vim-режим.
Другие посты