{#if active === null}
{#each scopes as item (item.scope)} {/each}
{#if checkout}{checkout.checkout.branch ?? checkout.checkout.head ?? ''} · against {checkout.base.label}{/if} {#if files?.length}{shown.length - unread} of {shown.length} read{/if}
{#if problem}

(。•︿•。) couldn't read the changes: {problem}

{:else if !files}

(・ω・)ノ gathering the changes…

{:else if !files.length}

( ̄ω ̄) nothing changed {scope === 'turn' ? 'in this turn' : `against ${checkout?.base.label ?? 'HEAD'}`}

{:else} {#each shown as file (file.path)}
{LETTER[file.status]} {file.path.split('/').pop()} {file.oldPath ? `from ${name(absolute(file.oldPath))}` : name(absolute(file.path)).split('/').slice(0, -1).join('/')} {#if count(file.path)}{count(file.path)} ✎{/if} +{file.added} −{file.removed} {#if file.status !== 'deleted'}{/if}
{#if !read.has(file.path)} {#each file.parts as part, index (index)} {#if part.reason}

no diff to show: {part.reason}

{:else if View} oncomment(file.path, partChange(scope, index), range))} /> {/if} {/each} {/if}
{/each} {#if checkout?.truncated}

more files changed than one read lists

{/if} {#if !unread}

٩(ˊᗜˋ*)و every file read

{/if}

j k files · n p changes · v read · o open · [ ] tabs · w wrap

{/if}
{:else} {@const file = changedFile.get(active)}
{name(active)} {#if active.endsWith('.md')}
{/if} {#if file}{/if}
{#key active} oncomment(active!, FILE_CHANGE, range))} /> {/key}
{/if}