Текстовый редактор и гиперссылки на основе текстовых файлов - PullRequest
6 голосов
/ 13 января 2010

Справочная информация:

Похоже, что некоторые текстовые редакторы и интегрированные среды разработки начинают приобретать больше "браузерного" в своих функциях.В частности, одной из таких функций является возможность обрабатывать обычный текст в буфере открытого текста как гиперссылку на другой файл, ресурс или даже исполняемую команду.

Программирование этого как плагина редактора или макроса

Так как это кажется хорошей идеей, я начал программировать некоторые сценарии и дополнения редактора, чтобы делать такие вещи, чтобы пользователь текстового редактора мог открывать или работать со ссылками следующихстиль:

href="c:/files/foobar.txt"                   (click to open file)
href="c:/files/foobar.txt" jumpto="34"       (jump to a line number)
href="c:/files/foobar.txt" find="Lorem"      (jump to 1st line containing word)
href="find_in_files://c:/files" find="Lorem" (show all matching lines)
[[find_in_files://find=Lorem;exten=*.htm*]]  (alternate syntax option)
href="redir://c:/files/feebar.txt"           (replace current edit buffer)
href="run://c:/files/foobar.jpg"             (open in default image editor)
[[run://c:/files/foobar.jpg;runwith=foo.exe]] (alternate syntax option)

Вопросы:

  1. Существует ли какое-либо новое соглашение для формирования текстовых гиперссылок?
  2. Если естьэто соглашение для такого рода вещей, есть ли опубликованная спецификация?
  3. Есть ли реализация этой идеи в вашем любимом редакторе / IDE?
  4. Есть ли альтернативный ранее существующий подход дляэта идея, которая не использует гиперссылки?
  5. Как эта функция обрабатывается в редакторах "дедушки"?(Vim, Emacs)

Обновление:

Похоже, вопрос мог быть прояснен, но оказывается, что режим Emacs Org является одним конкретным примеромто, что я искал, отвечает на все мои вопросы.

Ответы [ 6 ]

5 голосов
/ 14 января 2010

Egcs-режим Emacs поддерживает все виды гиперссылок .

3 голосов
/ 14 января 2010

Есть несколько скриптов для Vim, которые добавляют гиперссылки и разметку. Одним из самых популярных является Viki .

3 голосов
/ 13 января 2010
  1. URL-адреса, такие как http://example.com/ (обратите внимание, что SO автоматически связывает это), а иногда и "www." префикс, только потому, что это так часто встречается. Адреса электронной почты являются еще одним широко распространенным примером.
    • Но не то, что у вас есть квази-xml-атрибут.
  2. Конечно, нет; как только вы попытаетесь сделать простой текст в соответствии с некоторыми соглашениями, у вас больше не будет простого текста.
  3. Да, см. № 5.
  4. Да, см. № 5.
  5. Для редакторов, особенно для программистов, крайне характерно иметь скрипты, макросы, инструменты или все, что они хотят вызвать. Обычно они не контролируются непосредственно текстом в файле, но могут использовать файл, имя файла, выделение, позицию курсора, каталог текущего файла и т. Д. Я ожидаю, что многие хорошие программисты используют такие функции, даже не задумываясь о них.

В основном это звучит так, будто вы пытаетесь решить проблему, которой не существует.

2 голосов
/ 14 января 2010

Конечно, jumpto="34" и find="Lorem" можно заменить на метки в стиле веб-браузера # и ?.

Итак, ваш второй и третий пример будет выглядеть так:

href="c:/files/foobar.txt#34"       (jump to a line number)
href="c:/files/foobar.txt?Lorem"    (jump to 1st line containing word)

Хотя, как сказал выше Роджер Пейт, звучит так, будто вы решаете проблему, которой не существует.

1 голос
/ 22 августа 2011

См. Также LinkD . Ничего особенного, как Орг. Простой, маленький.

1 голос
/ 14 января 2010

Emacs также имеет "find-file-at-point", которую вы можете вызвать с помощью M-x ffap

...