SlideShare una empresa de Scribd logo
1 de 10
Descargar para leer sin conexión
Aristeaのコード補完
tmyt
めとべや 東京#4 LT
2014/05/31
タイトルを入力
Intellisense風の何かを
実装してみよう!
こういうの
やっていること
• キー入力があったら
• 先頭からキャレット位置までの文字列に対してトークンに分割
• 切り出されたトークンを後ろからチェック
• メンバ名を検索し、プロパティを列挙
• リストを表示
• 確定されたら文字列を挿入
{text, user.screen_name} =@ “od_10z” || user.n
トークンに分割
Symbol
Operator
OpenBracket
CloseBracket
ArrayDelimiter
String
Symbol
{text, user.screen_name} =@ “od_10z” || user.n
後ろからトークンをチェック
Symbol
Operator
OpenBracket
CloseBracket
ArrayDelimiter
String
Symbol
後ろから連続したSymbolを取り出し
メンバ名を検索して表示
user.n
• text
• user
• favorited
• retweeted_status
• created_at
status
• name
• created_at
• profile_user_image
• notifications
• description
user
検索 検索
確定したとき
• string text;
• textBox.Document.GetText(TextGetOptions.None, out text);
• text = text.Substring(0, text.Length - 1);
• var n = state.Pos - state.Str.Length;
• var a = text.Substring(0, n);
• var c = text.Substring(state.Pos);
• textBox.Document.SetText(TextSetOptions.None, a + s + c);
こういうかんじでした。

Más contenido relacionado

Destacado

せっけーのおはなし
せっけーのおはなしせっけーのおはなし
せっけーのおはなしYutaka Tsumori
 
未来(あす)Xamlの1msに泣かないために
未来(あす)Xamlの1msに泣かないために未来(あす)Xamlの1msに泣かないために
未来(あす)Xamlの1msに泣かないためにYutaka Tsumori
 
Samba4でADしよう!
Samba4でADしよう!Samba4でADしよう!
Samba4でADしよう!Yutaka Tsumori
 
WPF開発での陥りやすい罠
WPF開発での陥りやすい罠WPF開発での陥りやすい罠
WPF開発での陥りやすい罠Sho Okada
 

Destacado (6)

せっけーのおはなし
せっけーのおはなしせっけーのおはなし
せっけーのおはなし
 
Blync light for HACK
Blync light for HACKBlync light for HACK
Blync light for HACK
 
PhoneからPCへ。
PhoneからPCへ。PhoneからPCへ。
PhoneからPCへ。
 
未来(あす)Xamlの1msに泣かないために
未来(あす)Xamlの1msに泣かないために未来(あす)Xamlの1msに泣かないために
未来(あす)Xamlの1msに泣かないために
 
Samba4でADしよう!
Samba4でADしよう!Samba4でADしよう!
Samba4でADしよう!
 
WPF開発での陥りやすい罠
WPF開発での陥りやすい罠WPF開発での陥りやすい罠
WPF開発での陥りやすい罠
 

Más de Yutaka Tsumori

Windows phoneの新しい通知api
Windows phoneの新しい通知apiWindows phoneの新しい通知api
Windows phoneの新しい通知apiYutaka Tsumori
 
Twitter Client for ZSH
Twitter Client for ZSHTwitter Client for ZSH
Twitter Client for ZSHYutaka Tsumori
 
AndroidではじめるJava
AndroidではじめるJavaAndroidではじめるJava
AndroidではじめるJavaYutaka Tsumori
 
20120922 wdc with_ms_like
20120922 wdc with_ms_like20120922 wdc with_ms_like
20120922 wdc with_ms_likeYutaka Tsumori
 
某Music unなんとか
某Music unなんとか某Music unなんとか
某Music unなんとかYutaka Tsumori
 
Androidのおはなし++
Androidのおはなし++Androidのおはなし++
Androidのおはなし++Yutaka Tsumori
 
スマートフォン勉強会@九州
スマートフォン勉強会@九州スマートフォン勉強会@九州
スマートフォン勉強会@九州Yutaka Tsumori
 
Titanium mobileで遊んでみた
Titanium mobileで遊んでみたTitanium mobileで遊んでみた
Titanium mobileで遊んでみたYutaka Tsumori
 
Windows Phone 7 “Mango” SDK最速情報!
Windows Phone 7 “Mango” SDK最速情報!Windows Phone 7 “Mango” SDK最速情報!
Windows Phone 7 “Mango” SDK最速情報!Yutaka Tsumori
 
ぼくのかんがえたさいきょうのついったーくらいあんと
ぼくのかんがえたさいきょうのついったーくらいあんとぼくのかんがえたさいきょうのついったーくらいあんと
ぼくのかんがえたさいきょうのついったーくらいあんとYutaka Tsumori
 
Smartphone workshop kansai #9
Smartphone workshop kansai #9Smartphone workshop kansai #9
Smartphone workshop kansai #9Yutaka Tsumori
 
スマートフォン勉強会@関西 #6 LT
スマートフォン勉強会@関西 #6 LTスマートフォン勉強会@関西 #6 LT
スマートフォン勉強会@関西 #6 LTYutaka Tsumori
 

Más de Yutaka Tsumori (18)

Buri2019
Buri2019Buri2019
Buri2019
 
Setsな話
Setsな話Setsな話
Setsな話
 
XAMLで条件分岐
XAMLで条件分岐XAMLで条件分岐
XAMLで条件分岐
 
BuriKaigi2018
BuriKaigi2018BuriKaigi2018
BuriKaigi2018
 
Windows phoneの新しい通知api
Windows phoneの新しい通知apiWindows phoneの新しい通知api
Windows phoneの新しい通知api
 
Twitter Client for ZSH
Twitter Client for ZSHTwitter Client for ZSH
Twitter Client for ZSH
 
AndroidではじめるJava
AndroidではじめるJavaAndroidではじめるJava
AndroidではじめるJava
 
20120922 wdc with_ms_like
20120922 wdc with_ms_like20120922 wdc with_ms_like
20120922 wdc with_ms_like
 
某Music unなんとか
某Music unなんとか某Music unなんとか
某Music unなんとか
 
たのアプLt
たのアプLtたのアプLt
たのアプLt
 
Androidのおはなし++
Androidのおはなし++Androidのおはなし++
Androidのおはなし++
 
スマートフォン勉強会@九州
スマートフォン勉強会@九州スマートフォン勉強会@九州
スマートフォン勉強会@九州
 
Titanium mobileで遊んでみた
Titanium mobileで遊んでみたTitanium mobileで遊んでみた
Titanium mobileで遊んでみた
 
Windows Phone 7 “Mango” SDK最速情報!
Windows Phone 7 “Mango” SDK最速情報!Windows Phone 7 “Mango” SDK最速情報!
Windows Phone 7 “Mango” SDK最速情報!
 
ぼくのかんがえたさいきょうのついったーくらいあんと
ぼくのかんがえたさいきょうのついったーくらいあんとぼくのかんがえたさいきょうのついったーくらいあんと
ぼくのかんがえたさいきょうのついったーくらいあんと
 
Smartphone workshop kansai #9
Smartphone workshop kansai #9Smartphone workshop kansai #9
Smartphone workshop kansai #9
 
Sumaben#11
Sumaben#11Sumaben#11
Sumaben#11
 
スマートフォン勉強会@関西 #6 LT
スマートフォン勉強会@関西 #6 LTスマートフォン勉強会@関西 #6 LT
スマートフォン勉強会@関西 #6 LT
 

Último

NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NTT DATA Technology & Innovation
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイスCRI Japan, Inc.
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptxsn679259
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...Toru Tamaki
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video UnderstandingToru Tamaki
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルCRI Japan, Inc.
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Hiroshi Tomioka
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Gamesatsushi061452
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsWSO2
 

Último (12)

NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 

Aristeaのコード補完