Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
コマンド履歴にタグを つけるCLIツールを作った
ryosukes
October 24, 2017
Technology
0
1.6k
コマンド履歴にタグを つけるCLIツールを作った
ryosukes
October 24, 2017
Tweet
Share
More Decks by ryosukes
See All by ryosukes
北欧、暮らしの道具店を支えるAWSマルチアカウント運用 / hokuohkurashi aws multi account
ryosukes
0
3k
フィットする暮らしを支えるSRE 2021
ryosukes
1
2.6k
EKSではなくECSを採用する理由
ryosukes
0
2k
RegExp Error caused by PHP upgrade 5.6 to 7.2
ryosukes
0
2.2k
Hello kubernetes
ryosukes
0
1.2k
Other Decks in Technology
See All in Technology
Babylon.jsで3DViewerを作ってみた!!!
iwaken71
0
180
Motto Go Forward スライドトップと Goを支える文化とコミュニティ してご利用ください 〜なぜ我々はコミュニティにコントリ ビュートするのか〜
luccafort
0
140
msal.jsのあれこれ
takas0522
0
1.3k
~スタートアップの人たちに捧ぐ~ 監視再入門 in AWS
track3jyo
PRO
30
8.2k
AWS CLI入門_20220513
suzakiyoshito
0
3.3k
完全に理解した incremetal 〜そして、何もわからないへ〜
mashiike
0
200
読者のことを考えて書いてみよう / Write with your reader in mind
line_developers
PRO
3
230
目と耳を持った自然言語処理 - スタートアップにおける価値創出のために
yag_ays
PRO
0
510
mROS 2のススメ
takasehideki
0
280
技術広報の役割を定義してみた 2022年春
afroscript
3
2.3k
[SRE NEXT 2022]ヤプリのSREにおけるセキュリティ強化の取り組みを公開する
mmochi23
1
240
長年運用されてきたモノリシックアプリケーションをコンテナ化しようとするとどんな問題に遭遇するか? / SRE NEXT 2022
nulabinc
PRO
15
6.8k
Featured
See All Featured
Large-scale JavaScript Application Architecture
addyosmani
499
110k
The Most Common Mistakes in Cover Letters
jrick
PRO
4
24k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
12
890
ParisWeb 2013: Learning to Love: Crash Course in Emotional UX Design
dotmariusz
100
5.9k
GitHub's CSS Performance
jonrohan
1020
410k
Making Projects Easy
brettharned
98
4.3k
Git: the NoSQL Database
bkeepers
PRO
415
59k
The Cult of Friendly URLs
andyhume
68
4.7k
Building Applications with DynamoDB
mza
83
4.6k
Design by the Numbers
sachag
271
17k
Debugging Ruby Performance
tmm1
65
10k
The Language of Interfaces
destraynor
148
20k
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ͬͯҰׅআ͢ΔπʔϧΛ࡞Δ༧ఆ
͋Γ͕ͱ͏͍͟͝·ͨ͠