Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
コマンド履歴にタグを つけるCLIツールを作った
Search
ryosukes
October 24, 2017
Technology
2.1k
0
Share
コマンド履歴にタグを つけるCLIツールを作った
ryosukes
October 24, 2017
More Decks by ryosukes
See All by ryosukes
ALBと外部IDプロバイダーで認証しつつ、LaravelではGate・Policyを使わずシンプルに アクセス制御する方法
ryosukes
0
130
北欧、暮らしの道具店を支えるAWSマルチアカウント運用 / hokuohkurashi aws multi account
ryosukes
0
17k
フィットする暮らしを支えるSRE 2021
ryosukes
1
3.8k
EKSではなくECSを採用する理由
ryosukes
0
2.8k
RegExp Error caused by PHP upgrade 5.6 to 7.2
ryosukes
0
3.1k
Hello kubernetes
ryosukes
0
1.6k
Other Decks in Technology
See All in Technology
TypeScript で Platform SDK を作る技術
toiroakr
1
300
実践 TanStack Start ― 新規プロダクトを開発して確立した、サーバーとクライアント境界の設計パターン / Practical TanStack Start Server-Client Boundary Patterns
kaminashi
2
320
AI とサービス・デザイン / AI and Service Design
ks91
PRO
0
170
イベントストーミングとKiroの仕様駆動開発で実現する要件の認識合わせプロセス
syobochim
5
450
Typiaで配信JSONの安全性を構造的に担保する(TSKaigi2026)
righttouch
PRO
1
170
CARTA HOLDINGS エンジニア向け 採用ピッチ資料 / CARTA-GUIDE-for-Engineers
carta_engineering
0
47k
コーポレートサイトのアクセシビリティ改善とJIS準拠への実践
lycorptech_jp
PRO
2
140
Python開発環境にハーネス適用を検討する
yuuka51
1
510
キャリア25年目にしてTypeScript に出会うまで - 「型」を通じて振り返るプログラミング言語遍歴 / Meeting TypeScript After 25 Years in Tech - Looking Back at My Programming Language Journey Through "Types"
bitkey
PRO
2
280
データ分析基盤の信頼を支える視点と設計
yuki_saito
1
660
AIコーディングエージェントの活用で、コードは静かに肥大化した
yosukeshinoda
1
360
TROCCOで始めるクラウドコストを民主化するためのFinOps
tk3fftk
0
120
Featured
See All Featured
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
140
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
Building Adaptive Systems
keathley
44
3k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.8k
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
140
Context Engineering - Making Every Token Count
addyosmani
9
900
Designing for Timeless Needs
cassininazir
1
230
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
1
2k
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
300
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.6k
The Invisible Side of Design
smashingmag
302
52k
Transcript
ίϚϯυཤྺʹλάΛ ͚ͭΔCLIπʔϧΛ࡞ͬͨ 2017.10.24 ryosukes (kurashicom.inc)
ࣗݾհ ࠤʑ ྄༞(ryosukes/ciger47) 85ੜ·Εͷٶग़ 16͘Β͍ϥοϓͬͯ·͢ ࠷ۙస৬͠·ͨ͠ ———>
πʔϧΛ࡞ͬͨഎܠ
CLIͰૢ࡞͢Δ͜ͱଟ͍͚ͲΑ͘ΕΔ
εχϖοτͱ͔࡞Δͷ໘
ཤྺḷΔͷʹΊͬͪΌpecoͬͯΔ
ཤྺʹλά͕͚ͭΒΕΕྑ͍ͷͰ
࡞ͬͨ
https://github.com/ryosukes/histag
ͲΜͳײ͡ʁ
ಈ͖ 1. $ histag add ͱଧͭͱpecoىಈ 2. ཤྺ͔Βదʹબ 3. ඪ४ೖྗʹͳΔͷͰίϝϯτΛଧͭ
4. $ go #golang࠷ߴ Έ͍ͨʹίϝϯτͰώετϦʔ ϑΝΠϧʹه͞ΕΔ(࣮ߦ͞Εͳ͍)
ಈ͖ 1. $ histag add ͱଧͭͱpecoىಈ 2. ཤྺ͔Βదʹબ 3. ඪ४ೖྗʹͳΔͷͰίϝϯτΛଧͭ
4. $ go #golang࠷ߴ Έ͍ͨʹίϝϯτͰώετϦʔ ϑΝΠϧʹه͞ΕΔ(࣮ߦ͞Εͳ͍)
ಈ͖ 1. $ histag add ͱଧͭͱpecoىಈ 2. ཤྺ͔Βదʹબ 3. ඪ४ೖྗʹͳΔͷͰίϝϯτΛଧͭ
4. $ go #golang࠷ߴ Έ͍ͨʹίϝϯτͰώετϦʔ ϑΝΠϧʹه͞ΕΔ(࣮ߦ͞Εͳ͍)
ಈ͖ 1. $ histag add ͱଧͭͱpecoىಈ 2. ཤྺ͔Βదʹબ 3. ඪ४ೖྗʹͳΔͷͰίϝϯτΛଧͭ
4. $ go #golang࠷ߴ Έ͍ͨʹίϝϯτͰώετϦʔ ϑΝΠϧʹه͞ΕΔ(࣮ߦ͞Εͳ͍)
Ͳ͏͔ͬͨ
ϙΠϯτ CLI࡞ࢧԉπʔϧͷcobra ώετϦϑΝΠϧͷࢦఆ pecoݺͼग़͠ CLI্Ͱͷίϝϯτͷ͚ํ
cobra ؆୯ʹCLIπʔϧ࡞ΕΔcobraΛ༻ ༗໊ͳͷͰ͙͙ΕҰൃ
ώετϦϑΝΠϧͷࢦఆ history := os.Getenv(“HISTFILE”) ͰڥมಡΈࠐΈ σϑΥϧτͰ͕ۭͩͬͨͷͰγΣϧͰύεࢦ ఆɻվળ͍ͨ͠
pet ͱ͍͏εχϖοτ࡞πʔϧΛࢀߟʹͨ͠ ͜Εgolang pecoݺͼग़͠
ίϚϯυͱཤྺΛ exec.Command() ʹ͠ ݁ՌΛऔಘͯ͠ॻ͖ग़ͯ͠Δ͚ͩɻ pecoೖͬͯͳ͍ͱࢮ͵
CLI্Ͱͷίϝϯτͷ͚ํ γΣϧεΫϦϓτ # ͑Δ͚ͲCLI্ͰجຊNG zshͰ setopt interactivecomment ͕ඞཁ : ͱ͍͏ʮԿ͠ͳ͍ίϚϯυʯΛݕ౼͕ͨ͠ؾ࣋
ͪѱ͍ͷͰΊͨ Ζ͏ͱ͢Δͱ $ ls ;: ‘golang࠷ߴ’ ͱͳΔ
ࠓޙ ຊޠ͕Խ͚Δ͜ͱ͕͋Δόά(க໋త)Λ͢ ֯εϖʔε͕ೖΔͱͦΕҎ߱ʹॻ͍ͨͷ͕ίϚ ϯυऴྃޙʹ࣮ߦ͞ΕΔόά(க໋త)Λ͢ GithubͷϦϞʔτϦϙδτϦʹ͋ΔStaleϒϥϯν ΛgraphqlͬͯҰׅআ͢ΔπʔϧΛ࡞Δ༧ఆ
͋Γ͕ͱ͏͍͟͝·ͨ͠