Показать файл/папку назначения Symlink и Junction на панелях

Столкнулись с проблемой в использовании Far? Здесь можно получить помощь.
far_user2
Posts: 24
Joined: Mon 01 Dec, 2014 16:51

Показать файл/папку назначения Symlink и Junction на панелях

Post by far_user2 » Fri 04 Sep, 2015 18:29

Latest post of the previous page:

HaRT wrote: В том диалоге нажимаете F1 и читаете.
Спасибо.
Last edited by far_user2 on Thu 01 Jan, 1970 01:00, edited 0 times in total.
Reason: Спрятан офтопик

User avatar
HaRT
Moderator
Posts: 8683
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 78 times
Been thanked: 145 times

Показать файл/папку назначения Symlink и Junction на панелях

Post by HaRT » Fri 04 Sep, 2015 18:35

far_user2, на офтопик отвечать не буду. Если хотите получить ответ на свои вопросы (не факт, что от меня), задайте их в правильной теме.
Фар есть инструмент, а не нянька. © 2009 DrKnS

far_user2
Posts: 24
Joined: Mon 01 Dec, 2014 16:51

Показать файл/папку назначения Symlink и Junction на панелях

Post by far_user2 » Fri 04 Sep, 2015 18:45

John Doe wrote: Это даже не микроплагин, это наноплагин
Просьба по небольшому усовершенствованию. Есть symlink AllUsers, который ведет на C:\ProgramData. Если я использую Ваш плагин, он мне так и показывает: "C:\ProgramData"
Просьба такая - можно ли поставить ПЕРЕД строкой назначения символ что-то вроде '→', чтобы было так: "→ C:\ProgramData"

User avatar
John Doe
Бюрократ
Posts: 12235
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 32 times
Been thanked: 162 times

Показать файл/папку назначения Symlink и Junction на панелях

Post by John Doe » Fri 04 Sep, 2015 18:51

HaRT wrote: на офтопик отвечать не буду.
Добавлю: ключевое слово для поиска подходящей темы "wow64".

far_user2
Posts: 24
Joined: Mon 01 Dec, 2014 16:51

Показать файл/папку назначения Symlink и Junction на панелях

Post by far_user2 » Fri 04 Sep, 2015 19:55

Ну а по поводу добавления в плагин символа '→' можно сделать?

User avatar
John Doe
Бюрократ
Posts: 12235
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 32 times
Been thanked: 162 times

Показать файл/папку назначения Symlink и Junction на панелях

Post by John Doe » Sat 05 Sep, 2015 15:28

far_user2 wrote: '→' можно сделать?
Можно сделать что угодно, скрипт простой и в комментариях не нуждается.
sToLp wrote: А можно ещё такой же и для FARx64?
Собрал, вложение заменил.

Колонка теперь называется <link> (надо исправить в настройках режима панели).

User avatar
sToLp
Posts: 938
Joined: Thu 23 Jul, 2009 10:16
Has thanked: 107 times
Been thanked: 8 times

Показать файл/папку назначения Symlink и Junction на панелях

Post by sToLp » Sat 05 Sep, 2015 18:04

John Doe wrote:
sToLp wrote: А можно ещё такой же и для FARx64?
Собрал, вложение заменил.

Колонка теперь называется <link> (надо исправить в настройках режима панели).
Поставил и настроил. И в x86, и в x64 работает хорошо. Удобнее стало. Благодарю Вас за полезный плагин!

far_user2
Posts: 24
Joined: Mon 01 Dec, 2014 16:51

Показать файл/папку назначения Symlink и Junction на панелях

Post by far_user2 » Sun 06 Sep, 2015 10:32

John Doe wrote: Можно сделать что угодно, скрипт простой и в комментариях не нуждается.
Спасибо! Теперь гораздо нагляднее стало!!!

far_user2
Posts: 24
Joined: Mon 01 Dec, 2014 16:51

Показать файл/папку назначения Symlink и Junction на панелях

Post by far_user2 » Sun 06 Sep, 2015 10:35

Вопрос к разработчикам Far Manager - а можно включить этот плагин в сборку Far по-умолчанию? Ну это в крайнем случае, хотя лучше вообще это сделать изначально, без всяких плагинов...

Dima777
Posts: 6
Joined: Mon 06 May, 2019 22:13

Показать файл/папку назначения Symlink и Junction на панелях

Post by Dima777 » Tue 07 May, 2019 00:05

John Doe wrote:
Thu 03 Sep, 2015 21:21
Приложенный микро-плагин решает задачу.

Помимо установки плагина требуется ещё в Options/File panel modes задать нужный режим панели.
В простейшем виде достаточно в поле Column types записать N,<link>

P.S.
Это даже не микроплагин, это наноплагин:
Шикарный пример реализации контент-плагинов на LUA. Это не микроплагин, а целый прорыв! Спасибо большое. Я так долго искал. Уже начал исходники на С++ пилить под себя...

И, о багах. Код вызывает far.GetReparsePointInfo(FilePath) и рушит фар, если эта строка обрабатывает \\?\C:\Users\username\OneDrive. Конкретно на папке с OneDrive падает. Она какая-то особенная. Внутри OneDrive папки имеются под папки с таким же багом. Другие ссылки, не связанные с OneDrive, обрабатывает нормально. Если в нее зайти - все ок. Но линк пустой, если F4 нажать. И фар пишет "?Ссылка?" в панелях (а не "Связь").

Code: Select all

function export.GetContentData(FilePath,ColNames)
  local data = {}
  for i,v in ipairs(ColNames) do
    if v:lower()=="link" then
      local attr = win.GetFileAttr(FilePath)
      if attr and attr:find"e" then
      	if FilePath=="\\\\?\\C:\\Users\\username\\OneDrive" then -- <======= с таким костылем не падает
      		data[i]="bug"
      	else 
      		data[i] = "→"..far.GetReparsePointInfo(FilePath)
      	end
      end
    end
  end
  return next(data) and data
end
Падение: i.imgur .com/RpI30lQ.png
F4 на OneDrive папке: i.imgur .com/1CQYn1H.png
Панель с костылем: i.imgur .com/7owTd9V.png
(пробелы в урлах сотрите, антиспам форума не пускает ссылки)

Post Reply

Return to “Нужна помощь”