mKittyConfManagemenSelect.sh 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. #!/bin/bash
  2. source "sKitty.sh"
  3. HEAD(){ for (( a=2; a<=16; a++ ))
  4. do
  5. TPUT $a 1
  6. $E "\e[1;35m\xE2\x94\x82 \xE2\x94\x82\e[0m";
  7. done
  8. TPUT 3 1
  9. $E "\e[35m+- Выбор и действие с видимым текстом ------- Select and act on visible text ----+\e[0m";
  10. TPUT 4 3
  11. $E "\e[90mИспользуйте kitty подсказок, чтобы выделить текст и либо передать его внешней\e[0m";
  12. TPUT 5 3
  13. $E "\e[90mпрограмме, либо вставить в терминал, либо скопировать в буфер обмена.\e[0m";
  14. TPUT 14 1
  15. $E "\e[0m\033[35m+- Up \xE2\x86\x91 \xE2\x86\x93 Down Select Enter -----------------------------------------------------+\e[0m";
  16. MARK;TPUT 1 1
  17. $E "$c";UNMARK;}
  18. FOOT(){ MARK;TPUT 17 1;$E "$c";UNMARK;}
  19. #
  20. M0(){ TPUT 6 3; $e " Открыть URL \e[32m Open URL \e[0m";}
  21. M1(){ TPUT 7 3; $e " Вставить выбранный путь \e[32m Open selected path \e[0m";}
  22. M2(){ TPUT 8 3; $e " Выберите путь/имя файла и откройте его \e[32m Select a path/filename \e[0m";}
  23. M3(){ TPUT 9 3; $e " Вставить выбранную строку \e[32m Insert selected line \e[0m";}
  24. M4(){ TPUT 10 3; $e " Вставить выбранное слово \e[32m Insert selected word \e[0m";}
  25. M5(){ TPUT 11 3; $e " Выберите что-то похожее на хэш и вставьте его в терминал \e[0m";}
  26. M6(){ TPUT 12 3; $e " Открыть выбранный файл в выбранной строке \e[0m";}
  27. M7(){ TPUT 13 3; $e " Открыть выбранную гиперссылку \e[0m";}
  28. #
  29. M8(){ TPUT 15 3; $e " \e[90mExit \e[0m";}
  30. LM=8
  31. MENU(){ for each in $(seq 0 $LM);do M${each};done;}
  32. POS(){ if [[ $cur == up ]];then ((i--));fi
  33. if [[ $cur == dn ]];then ((i++));fi
  34. if [[ $i -lt 0 ]];then i=$LM;fi
  35. if [[ $i -gt $LM ]];then i=0;fi;}
  36. REFRESH(){ after=$((i+1)); before=$((i-1))
  37. if [[ $before -lt 0 ]];then before=$LM;fi
  38. if [[ $after -gt $LM ]];then after=0;fi
  39. if [[ $j -lt $i ]];then UNMARK;M$before;else UNMARK;M$after;fi
  40. if [[ $after -eq 0 ]] || [ $before -eq $LM ];then
  41. UNMARK; M$before; M$after;fi;j=$i;UNMARK;M$before;M$after;}
  42. INIT(){ R;HEAD;FOOT;MENU;}
  43. SC(){ REFRESH;MARK;$S;$b;cur=`ARROW`;}
  44. # Функция возвращения в меню
  45. ES(){ MARK;$e " ENTER = main menu ";$b;read;INIT;};INIT
  46. while [[ "$O" != " " ]]; do case $i in
  47. 0) S=M0;SC; if [[ $cur == enter ]];then R;echo -e "
  48. Откройте текущий видимый URL-адрес с помощью клавиатуры.
  49. Программа, используемая для открытия URL-адреса, указана в open_url_with:
  50. \e[32m map kitty_mod+e open_url_with_hints\e[0m";ES;fi;;
  51. 1) S=M1;SC; if [[ $cur == enter ]];then R;echo -e "
  52. Вставить выбранный путь:
  53. \e[32m map kitty_mod+p>f kitten hints --type path --program -\e[0m
  54. Выберите путь/имя файла и вставьте его в терминал.
  55. Полезно, например, для запуска команд git для имени файла,
  56. выведенного из предыдущей команды git.
  57. ";ES;fi;;
  58. 2) S=M2;SC; if [[ $cur == enter ]];then R;echo -e "
  59. Выберите путь/имя файла и откройте его с помощью программы открытия по умолчанию.
  60. \e[32m map kitty_mod+p>shift+f kitten hints --type path\e[0m";ES;fi;;
  61. 3) S=M3;SC; if [[ $cur == enter ]];then R;echo -e "
  62. Вставить выбранную строку
  63. \e[32m map kitty_mod+p>l kitten hints --type line --program -\e[0m
  64. Выберите строку текста и вставьте ее в терминал.
  65. Используйте для вывода такие вещи, как: ls -1
  66. ";ES;fi;;
  67. 4) S=M4;SC; if [[ $cur == enter ]];then R;echo -e "
  68. Выберите слова и вставьте в терминал.
  69. \e[32m map kitty_mod+p>w kitten hints --type word --program -\e[0m
  70. ";ES;fi;;
  71. 5) S=M5;SC; if [[ $cur == enter ]];then R;echo -e "
  72. Выберите что-то похожее на хэш и вставьте его в терминал.
  73. Полезно с git, который использует хэши sha1 для идентификации коммитов.
  74. \e[32m map kitty_mod+p>h kitten hints --type hash --program -\e[0m";ES;fi;;
  75. 6) S=M6;SC; if [[ $cur == enter ]];then R;echo -e "
  76. Открыть выбранный файл в выбранной строке
  77. \e[32m map kitty_mod+p>n kitten hints --type linenum\e[0m
  78. Выберите что-то похожее на имя файла:linenum
  79. и откройте его в vim с указанным номером строки.
  80. ";ES;fi;;
  81. 7) S=M7;SC; if [[ $cur == enter ]];then R;echo -e "
  82. Открыть выбранную гиперссылку:
  83. \e[32m map kitty_mod+p>y kitten hints --type hyperlink\e[0m
  84. Выберите гиперссылку (т. е. URL-адрес, помеченный терминальной программой,
  85. например, командой ls --hyperlink=auto).
  86. kitty подсказок имеет гораздо больше режимов работы, которые вы можете
  87. сопоставить с различными ярлыками.
  88. Полное описание смотрите в разделе kittens/hints.
  89. ";ES;fi;;
  90. #
  91. 8) S=M8;SC;if [[ $cur == enter ]];then R;exit 0;fi;;
  92. esac;POS;done