๐Ÿ‘—

CLI ใง ๐™ˆ๐™ฎ ๐™ฃ๐™š๐™ฌ ๐™œ๐™š๐™–๐™ง... ใ™ใ‚‹

2022/04/26ใซๅ…ฌ้–‹

asciicast

ๆ–ฐใ—ใ่ฒทใฃใŸใ‚‚ใฎใฎ็”ปๅƒใจไธ€็ท’ใซใ€Œ๐™ˆ๐™ฎ ๐™ฃ๐™š๐™ฌ ๐™œ๐™š๐™–๐™ง...ใ€ใจใƒ„ใ‚คใƒผใƒˆใ™ใ‚‹ไบบใŒ Twitter ใซใฏใŸใใ•ใ‚“ใ„ใพใ™๏ผŽ
ใ“ใฎใ€Œ๐™ˆ๐™ฎ ๐™ฃ๐™š๐™ฌ ๐™œ๐™š๐™–๐™ง...ใ€ใฎใ‚ˆใ†ใช่ฃ…้ฃพๆ–‡ๅญ—ใฏ Unicode ใงๅฎš็พฉใ•ใ‚ŒใŸๆ–‡ๅญ—ใชใฎใงใ™ใŒ๏ผŒ็ฐกๅ˜ใซใฏๅ…ฅๅŠ›ใงใใชใ„ใจๆ€ใ„ใพใ™๏ผŽใใฎใŸใ‚๏ผŒใ“ใ†ใ„ใฃใŸใ‚ตใ‚คใƒˆใชใฉใงๅค‰ๆ›ใ—ใฆไฝฟใ†ใ“ใจใซใชใ‚Šใพใ™๏ผŽ
https://shapoco.net/plainstyle/

ใ“ใฎใ‚ตใ‚คใƒˆใฏๆ–‡ๅญ—ใ‚’ๅ…ฅๅŠ›ใ—ใฆใƒœใ‚ฟใƒณใ‚’ๆŠผใ™ใ ใ‘ใงๅค‰ๆ›ใงใใฆไพฟๅˆฉใชใฎใงใ™ใŒ๏ผŒๆฏŽๅ›žใ“ใฎใ‚ตใ‚คใƒˆใซใ‚ขใ‚ฏใ‚ปใ‚นใ™ใ‚‹ๅฟ…่ฆใŒใ‚ใ‚Šใพใ™๏ผŽ
ใ‚ฟใƒผใƒŸใƒŠใƒซใงไฝœๆฅญใ—ใฆใ„ใ‚‹ใจใใซใ„ใพใ™ใใ€Œ๐™ˆ๐™ฎ ๐™ฃ๐™š๐™ฌ ๐™œ๐™š๐™–๐™ง...ใ€ใ—ใŸใใชใฃใŸใ‚Š๏ผŒ100ไธ‡่กŒใฎใƒ†ใ‚ญใ‚นใƒˆใƒ•ใ‚กใ‚คใƒซใ‚’ใ™ในใฆ ๐’ƒ๐’๐’๐’… ๐’Š๐’•๐’‚๐’๐’Š๐’„ ใซใ—ใŸใ„ใจใใฏใ“ใฎใ‚ตใ‚คใƒˆใงใฏ้›ฃใ—ใ„ใงใ™๏ผŽ

ใใ“ใง CLI ใงใ€Œ๐™ˆ๐™ฎ ๐™ฃ๐™š๐™ฌ ๐™œ๐™š๐™–๐™ง...ใ€ใ™ใ‚‹ในใ omekasy ใจใ„ใ†ใƒ„ใƒผใƒซใ‚’้–‹็™บใ—ใพใ—ใŸ๏ผŽ
https://github.com/ikanago/omekasy

๐‘ฐ๐’๐’”๐’•๐’‚๐’๐’๐’‚๐’•๐’Š๐’๐’

Homebrew/Linuxbrew ใ‹ใ‚‰ใ‚คใƒณใ‚นใƒˆใƒผใƒซใ™ใ‚‹ใฎใŒไธ€็•ช็ฐกๅ˜ใงใ™๏ผŽ

brew install ikanago/tap/omekasy

cargo ใงใ‚‚ใ„ใ‘ใพใ™๏ผŽ

cargo install omekasy

ใƒใ‚คใƒŠใƒชใ‚‚้…ๅธƒใ—ใฆใ„ใพใ™: Releases

๐•Œ๐•ค๐•’๐•˜๐•–

ใ‚ชใƒ—ใ‚ทใƒงใƒณใ‚„ๅผ•ๆ•ฐใ‚’ใคใ‘ใšใซๅฎŸ่กŒใ™ใ‚‹ใจโ†‘ใฎใƒ‡ใƒขใฎใ‚ˆใ†ใซใ‚คใƒณใ‚ฟใƒฉใ‚ฏใƒ†ใ‚ฃใƒ–ใซๅค‰ๆ›ใงใใพใ™๏ผŽfzf ใฟใŸใ„ใซไฝฟใˆใ‚‹ใจไพฟๅˆฉใใ†ใ ใจๆ€ใฃใฆๅฎŸ่ฃ…ใ—ใพใ—ใŸ๏ผŽ

ใพใŸ๏ผŒ็‰นๅฎšใฎใƒ•ใ‚ฉใƒณใƒˆใซไธ€็™บใงๅค‰ๆ›ใ™ใ‚‹ใ“ใจใ‚‚ใงใใพใ™๏ผŽ

omekasy --font bold-italic "My new gear..."
# ๐‘ด๐’š ๐’๐’†๐’˜ ๐’ˆ๐’†๐’‚๐’“...

v1.0.0็พๅœจใงใฏไปฅไธ‹ใฎใƒ•ใ‚ฉใƒณใƒˆใซๅฏพๅฟœใ—ใฆใ„ใพใ™๏ผŽ

  • bold
  • italic
  • bold-italic
  • sans
  • sans-bold
  • sans-italic
  • sans-bold
  • italic
  • script
  • bold-script
  • monospace
  • blackboard

๐”๐ง๐๐ž๐ซ ๐ญ๐ก๐ž ๐ก๐จ๐จ๐

๐™ป๐š˜๐š๐š’๐šŒ

Font ใจใ„ใ† enum ใซๅค‰ๆ›ๅฏพใ‚’่ฟ”ใ™ characters() ใ‚’ๅฎŸ่ฃ…ใ—ใฆใ„ใพใ™๏ผŽ
ใใ—ใฆ๏ผŒๅ…ฅๅŠ›ๆ–‡ๅญ—ๅˆ—ใฎใใ‚Œใžใ‚Œใซๅฏพใ—ใฆๅค‰ๆ›ๅฏพใŒๅญ˜ๅœจใ™ใ‚Œใฐๅค‰ๆ›ใ—๏ผŒๅญ˜ๅœจใ—ใชใ‘ใ‚Œใฐใ‚นใƒซใƒผใ—ใพใ™๏ผŽ
ใ‚ใ‚Šใจๆฐ—ๅˆใ„ใงๅฎŸ่ฃ…ใ—ใฆใ„ใพใ™๏ผŽ
https://github.com/ikanago/omekasy/blob/main/src/font.rs

โ„๐“ƒ๐“‰โ„ฏ๐“‡๐’ถ๐’ธ๐“‰๐’พ๐“‹โ„ฏ ๐“‚โ„ด๐’นโ„ฏ

ใ‚คใƒณใ‚ฟใƒฉใ‚ฏใƒ†ใ‚ฃใƒ–ใƒขใƒผใƒ‰ใฏ crossterm ใงๆ็”ปใ—ใฆใ„ใพใ™๏ผŽ
ใ“ใ“ใ‚‚ๆฐ—ๅˆใ„ใงๅฎŸ่ฃ…ใ—ใฆใ„ใฆ๏ผŒๅ…ฅๅŠ›ใŒใ‚ใ‚Œใฐๅ˜ใซๅ…จ้ƒจๆ็”ปใ—็›ดใ—ใฆใ„ใพใ™๏ผŽ

๐˜พ๐™ก๐™ค๐™จ๐™ž๐™ฃ๐™œ

CLI ใงใ€Œ๐™ˆ๐™ฎ ๐™ฃ๐™š๐™ฌ ๐™œ๐™š๐™–๐™ง...ใ€ใงใใ‚‹ใƒ„ใƒผใƒซ omekasy ใ‚’้–‹็™บใ—ใŸใจใ„ใ†่ฉฑใงใ—ใŸ๏ผŽ
ๅ•้กŒใ‚„ๆ”นๅ–„ๆกˆใŒใ‚ใ‚Œใฐ issue/PR ใธใฉใ†ใž๏ผŽ
ๆฐ—ใซๅ…ฅใฃใฆใ‚‚ใ‚‰ใˆใŸใ‚‰ star ใ—ใฆใ„ใŸใ ใ‘ใ‚‹ใจใ†ใ‚Œใ—ใ„ใงใ™๏ผŽ
https://github.com/ikanago/omekasy

Discussion