tab-completion.tin 1.1 KB

1234567891011121314151617181920212223242526272829303132333435
  1. #nop vim: set filetype=tt:;
  2. /*
  3. 本文件属于 PaoTin++ 的一部分。
  4. PaoTin++ © 2020~2023 的所有版权均由担子炮(dzp <danzipao@gmail.com>) 享有并保留一切法律权利
  5. 你可以在遵照 GPLv3 协议的基础之上使用、修改及重新分发本程序。
  6. */
  7. #event {READ FILE} {
  8. refresh-tab-completion;
  9. };
  10. #alias {refresh-tab-completion} {
  11. #info {ALIASES} save;
  12. #local idx {};
  13. #foreach {*info[ALIASES][]} {idx} {
  14. #local name {$info[ALIASES][$idx][arg1]};
  15. #nop 只有名字规整的 alias 才给加自动补全。;
  16. #if { "$name" == "%*{[^a-zA-Z0-9.-]}%*" } {
  17. #continue;
  18. };
  19. #nop 名字是大骆驼风格命名的,可以加自动补全。;
  20. #if { "$name" == "{[A-Z][a-zA-Z0-9]*}" } {
  21. #tab {$name};
  22. #continue;
  23. };
  24. #nop 如果名字由小数点分成多个部分,那么只有最后一部分是大写字母开头的,才加自动补全。;
  25. #if { "$name" == "%*.{[A-Z][A-Za-z0-9]*}" } {
  26. #tab {$name};
  27. #continue;
  28. };
  29. };
  30. };