Program.cs 1.1 KB

1234567891011121314151617181920212223242526272829303132
  1. 
  2. namespace Yuuna.OpenWith
  3. {
  4. using System;
  5. using System.Diagnostics;
  6. using System.Runtime.CompilerServices;
  7. using Yuuna.Contracts.Interaction;
  8. using Yuuna.Contracts.Modules;
  9. using Yuuna.Contracts.Optimization;
  10. using Yuuna.Contracts.Patterns;
  11. using Yuuna.Contracts.Semantics;
  12. public class OpenWith : ModuleBase
  13. {
  14. protected override void BuildPatterns(IGroupManager g, IPatternBuilder p, dynamic config)
  15. {
  16. g.Define("open").AppendOrCreate(new[] { "打開", "開啟" });
  17. g.Define("handshake").AppendOrCreate(new[] { "握手" });
  18. g.Define("facebook").AppendOrCreate(new[] { "臉書", "facebook", "fb" });
  19. p.Build(g["handshake"]).OnInvoke(this.OnInvoke);
  20. p.Build(g["open"], g["facebook"]).OnInvoke(m => { Process.Start(@"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe", "http://fb.me"); return "ok"; });
  21. }
  22. private Response OnInvoke(Match m)
  23. {
  24. Process.Start("notepad");
  25. return "ok";
  26. }
  27. }
  28. }