yarkov
@yarkov
Помог ответ? Отметь решением.

Можно ли в терминале отобразить кликабельный путь к файлу?

Конкретная хотелка такая ))

В процессе сборки проекта в терминал выводятся такие строки:
Сборка компонента "CardsCarousel" (/usr/app/vueapp/src/webparts/CardsCarousel/entry.ts) завершена


Можно ли путь
/usr/app/vueapp/src/webparts/CardsCarousel/entry.ts
сделать кликабельным как гиперссылку? И по клику открыть например Nautilus или открыть файл в VSCode.

Терминал стандартный убунтовский. Если можно сделать кроссплатформенно, то вообще гуд.

P.S. Гуглил, но возможно сегодня меня забанили там.
  • Вопрос задан
  • 378 просмотров
Решения вопроса 2
karabanov
@karabanov Куратор тега Ubuntu
Системный администратор
file:///usr/app/vueapp/src/webparts/CardsCarousel/entry.ts

Будет подсвечен, как ссылка, если зажать Ctrl и клацнуть левой кнопкой, то файл откроется в программе которая назначена обработчиком файлов *.ts - вероятно в текстовом редакторе.
Ответ написан
Vindicar
@Vindicar
RTFM!
xterm и совместимые терминалы умеют обрабатывать события мыши. На том же stackoverflow можно найти вот такой код:
echo -e "\e[?1000;1006;1015h" # Enable tracking
echo -e "\e[?1000;1006;1015l" # Disable tracking

Это на баше, разумеется. Выводишь правильную escape-последовательность, и терминал будет слать тебе соыбтия мыши как другие escape-последовательности на стандартный вход программы.
Mouse click looks like \e[<0;3;21M and a release \e[<0;3;21m. Where 3 is x and 21 is y, from top-left 1-based. (Note that it is x-y and not row-col).

Но такой подход оставляет проблему отслеживания положения кликабельного текста, и требует, чтобы твоя программа продолжала работать.

Предположительно, некоторые терминалы могут также переварить вот такое:
echo -e '\e]8;;http://example.com\aThis is a link\e]8;;\a'

Но для твоей задаче потребуется, чтобы система имела схему URL для открытия папки с файлом, типа file:// или еще чего-то подобного.

Ну а виндовый терминал очень ограниченный, так что кроссплатформенность малореальна. Хотя какие-то реализации curses под винду всё же есть.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
uvelichitel
@uvelichitel
habrahabr.ru/users/uvelichitel
urxvt терминал наверняка так умеет. Он всё умеет. Например у него стандартный extension -- matcher. Можно попробовать наконфигить в ~/.Xresource что нибудь вроде такого
URxvt.perl-ext-common:      default,matcher
# key bindings
URxvt.matcher.button:       1
URxvt.keysym.C-Delete:    matcher:last
URxvt.keysym.M-Delete:    matcher:list
# regexps
URxvt.matcher.pattern.1: (?:\\s)([\\~\\.]?\\/\{1,1\}[\\.\\w]\\S+)\\b
# launchers
URxvt.matcher.launcher.1:  VSCode $1
URxvt.urlLauncher:          xdg-open
# change the font highlight style
!URxvt.matcher.rend.1:          Uline fg01
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы