본문 바로가기
C.W.K.
Stream
Lesson 04 of 04 · published

피파가 제안하고, 네가 쳐

~12 min · pippa, proposal, completion, snapshot, newline

Level 0불씨
0 XP0/36 lessons0/12 achievements
0/100 XP to next level100 XP to go0% complete

제안은 제출이 아니야

피파가 명령을 제안할 수 있어. 그건 가족 모양 기능이고, 제안으로서만 허용돼. ⌘K 가 같은 맥의 루프백 엔드포인트에 물어. 피파의 것. 형제 문 아니고 모바일 게이트웨이도 아니야. 후보를 들고 돌아와. 후보는 앉아 있던 줄의 얼린 스냅샷에 대해 삽입돼. 줄바꿈을 절대 안 실어. 조용히 승자를 고르지 않아. 봐. 골라. Enter 를 누르거나, 안 누르거나. "피파가 제안하고, 네가 실행한다"는 구조야. 초안이 PTY 밖에 남는 그 기준을, 자리의 문서가 아니라 한 줄에 적용한 거야.

자동으로 고르는 완성은 다른 이름을 한 모델 호출 쓰기다. 끝에 줄바꿈을 담은 제안은 제안을 입은 제출이야. 아무도 이름 안 붙이면 실려. 도움처럼 찍히거든. Sidekick 이 키보드가 되는 길이고, 모델이 누를 수 있는 키보드는 이 트랙이 방금 거절한 문을 안에서 연 거야.

얼린 스냅샷, 그리고 네가 골라

후보가 화면에 있는 동안, 계산된 줄은 움직이는 과녁이면 안 돼. 스냅샷이 피파가 본 것을 얼려. PTY 가 찍으면, 계속 치면, 형제 실행이 탭을 다시 놓으면, 후보는 지나간 순간의 것이야. 다른 줄에 넣으면 맞아 보이는 접미로 틀린 명령을 완성하는 길이야. 정직한 UI 는 스냅샷에 넣거나 (이음을 보게) 후보를 버리고 다시 물어. 어둠 속에서 살아있는 접두에 낡은 접미를 잇지 않아.

Option+Tab 이 후보를 여럿 보여 주고 고르게 하는 화음이야. Tab 자체는 셸에 남아. 그 갈라짐은 트랙 1 의 크롬 규칙이었고, 여기서도 크롬 규칙이야. 피파 완성은 다른 코드 길이야. 후보 여럿, 명시적 고름, 설명은 명령 옆에 영어. 크롬이 영어니까. Tab 에 수락되는 빛나는 제안 하나는 조용한 고름이야. 빛이 예뻐도.

엔드포인트는 루프백, 행위는 네 것

제안은 루프백으로 피파에게서 오고, 다른 가족 호출처럼 인증되고, 그래도 형제 문의 일반 입력 동사는 아니야. 피파는 보이던 스냅샷을 읽고 제안할 수 있어. 제안을 입력으로 보내면 안 돼. 다른 방에 있는 동안 대신 완성하면 안 돼. "당연히 실행하려고 했으니까" 줄바꿈을 붙이면 안 돼. 당연하다는 제출이 새는 방법이야.

그래서 폰도 나중에 느슨한 제안을 받지 않아. 키보드가 짜증이라고 자동 실행하는 주머니 ⌘K 는 더 작은 유리의 같은 조용한 고름이야. 일하는 iOS 계약은 호스트 일 이어가기야. 관찰하고, 조종을 잡고, 그 다음에 쳐. 거기의 제안도, 있을 때, 줄바꿈 없이 삽입될 거야. 맥이 먼저 이걸 맞게 해야 해. 줄이랑 후보를 동시에 볼 수 있는 방에서.

피파가 제안해. 네가 쳐. 네가 Enter 를 눌러. 얼린 스냅샷, 줄바꿈 없음, 조용한 고름 없음. Option+Tab 이 후보를 보여 주고, Tab 은 셸에 남아. 제출하는 제안은 제안이 아니야.

Code

제안의 허용된 삶, 그리고 죽어야 하는 곳·text
⌘K  ->  loopback Pippa endpoint  ->  candidates[]
         against frozen snapshot of the current line

insert(candidate)
  + writes the candidate text into the snapshot
  + never appends \n
  + never auto-picks when there is more than one
  + Option+Tab shows the list; you choose
  + Tab remains shell completion

# Stale snapshot
  PTY printed, or you typed, or the pane moved
  => discard candidates or re-ask
  => do not splice stale suffix onto live prefix

# Forbidden
  candidate ending in newline
  accept-on-timeout
  accept-on-Tab when Pippa owns Tab
  send(proposal) as door input
  run while the operator is not looking

External links

Exercise

실제로 겪은 git 상황에 피파가 제안할 후보 문자열 둘을 써. 각각 합법인지(줄바꿈 없음, 삽입만) 불법인지(Enter 포함, 또는 자동 실행) 표시해. 그다음 목록이 열린 동안 스냅샷이 낡았을 때 나오는 한 줄 UI 문구를 쓰고, 후보를 여러 개 보여 주는 화음을 이름 붙여.
Hint
UI 문구가 "맨 위 후보를 실행 중"이면 조용한 고름을 만든 거야. 화음을 못 이름 붙이면, Tab 은 아마 또 셸에게서 빼앗긴 거야.

Progress

Progress is local-only — sign in to sync across devices.
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고

댓글 0

🔔 답글 알림 (로그인 필요)
로그인댓글을 남기려면 로그인해 주세요.

아직 댓글이 없어요. 첫 댓글을 남겨보세요.