`ncal -3` 직접 Perl으로 짜봤다

Posted on Mar 2, 2023

ncal -3 이 뭐냐하면:

https://man7.org/linux/man-pages/man1/cal.1.html

…뭐 이런건데, 개인적으로 저전력 글쓰기 전용머신에서 사용하는 스크립트에서 배포판이 달라서 패키지를 못찾겠어서 1, …그냥 직접 짜서 대체했다.

https://github.com/ageldama/configs/commit/66bd92b42ba5a5ee03b9336370c3a8f84293e488

그래서 스크린샷은:

/2023-03mar/journal-edit-cal3.png

재밌었던 부분은:

  1. 어차피 Perl으로 전부 짜서 쓰는 스크립트였는데, 아예 외부 커맨드라인 도구 의존성을 더 없애서 뿌듯하다.
  2. 매달 달력을 문자열으로 뽑았는데, 3달치를 뽑아서, 이걸 한 row에 표시하고 싶었는데, Text::Table으로 적절히 간단히 완료.
  3. Term::ANSIColorperlre을 써서 깔끔하게 원하는 일자에 highlighting 해서 편안했다.
  4. …더 해킹을 해서, calendar(..) 결과문자열을 적당히 파싱해서, 작은 Text::Table으로 만들어서, 그것들으로 조합하고 했었어도 될거 같아.

    • 그리고 그렇게까지 했다면, 일자highlighting에 색상만이 아니라 추가 문자를 붙일수도 있겠지 (예: <<..>>), 지금은 레이아웃이 깨지니까 그냥 색만 칠했다.

Footnotes


1

opensuse tumbleweed에서는 못찾겠어서.