FarNet — плагин для написания плагинов на .NET языках

Здесь можно обсудить ваш любимый плагин.
User avatar
DrKnS
Posts: 5805
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 10 times
Been thanked: 343 times

FarNet — плагин для написания плагинов на .NET языках

Post by DrKnS »

Latest post of the previous page:

Ну суть там даже не в /ro, а в том, что прав на запись туда нет, а невозможность записать какую-то свою внутреннюю кухню - наверное, ещё не повод вешать весь фар.
User avatar
NightRoman
Posts: 6034
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 20 times
Been thanked: 49 times
Contact:

FarNet — плагин для написания плагинов на .NET языках

Post by NightRoman »

Хм. У меня не вешается Фар. И некоторые модули Фарнета даже показываются и работают. Некоторые не показываются.
Посмотрю, что там происходит, когда руки дойдут.

А пока "не делайте так"...
Last edited by NightRoman on Thu 01 Nov, 2018 21:35, edited 1 time in total.
User avatar
NightRoman
Posts: 6034
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 20 times
Been thanked: 49 times
Contact:

FarNet — плагин для написания плагинов на .NET языках

Post by NightRoman »

У Фарнет попытки писать кэш, вроде, защищены и "вешать весь Фар" это не должно (ошибки пишутся в консоль).
Но некоторые модули тоже пытаются создавать свои папки в профиле и писать туда.
Если есть PowerShellFar или Vessel, попробуйте их убрать, тоже будет зависание?
User avatar
NightRoman
Posts: 6034
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 20 times
Been thanked: 49 times
Contact:

FarNet — плагин для написания плагинов на .NET языках

Post by NightRoman »

Кое-что подкрутил в FarNet и Vessel на этот специальный случай, должно быть получше, но все зависит от модулей. Если они хотят писать в Фар профиль в свои папки, и это не получается, и не получается "криво", то надо индивидуально ловить и исправлять эти случаи.
citRiks
Posts: 1305
Joined: Fri 25 Oct, 2019 18:18
Has thanked: 386 times
Been thanked: 80 times

FarNet — плагин для написания плагинов на .NET языках

Post by citRiks »

NightRoman wrote: Mon 05 Aug, 2013 00:44 На что можно расчитывать со временем, это то, что в Фарнет будут добавлены аналогичные события и доступ к диалогу и его контролам. То есть просто АПИ, аналогичный тому, что в Фаре.
А это уже свершилось?
За вашу работу - спасибо, очень многое очень юзабельно
Тем более, способы решения есть другие, перевызов через макрос Луа, например.
А такие перевозовы не будут ли значительной лишней нагрузкой?
Диалоговые евенты могут сыпаться в огромных количествах однако
Last edited by citRiks on Sat 19 Dec, 2020 19:55, edited 1 time in total.
А кто не поверит в наше миролюбие, / Тот кровью умоется. / И будет такая борьба за мир, / Что камня на камне не останется.
citRiks
Posts: 1305
Joined: Fri 25 Oct, 2019 18:18
Has thanked: 386 times
Been thanked: 80 times

FarNet — плагин для написания плагинов на .NET языках

Post by citRiks »

NightRoman wrote: Thu 20 Mar, 2014 18:51 Концепция - JavaScript для автоматизации Far Manager с использованием FarNet API
Мне кажется эта концепция заслуживает отдельной темы.
И я не нашел код концепции, это где?
И такие вопросы, как например,
редакторные события можно ли получать сразу в javascript, минуя перевызовы из Луа?
В целом, ограничения такие же как и у ФарНета, ecли я понимаю?
А кто не поверит в наше миролюбие, / Тот кровью умоется. / И будет такая борьба за мир, / Что камня на камне не останется.
User avatar
NightRoman
Posts: 6034
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 20 times
Been thanked: 49 times
Contact:

FarNet — плагин для написания плагинов на .NET языках

Post by NightRoman »

> А это уже свершилось?
Если речь про ProcessDialogEventW, то в Фарнет этого пока нет. Наверное, можно
добавить. Непонятно, насколько это нужно. Я очень активно использую Фарнет. И
эта функциональность так и не понадобилась мне.
> А такие перевозовы не будут ли значительной лишней нагрузкой?
Не знаю, как сказано выше, мне так и не понадобилось.

---

JavaScript через библиотеку ClearScript
> И я не нашел код концепции, это где?
Судя по лайку там, кажется-таки нашли. Но вот ссылка явно
http://forum.farmanager.com/viewtopic.p ... 76#p117676
> редакторные события можно ли получать сразу в javascript, минуя перевызовы из Луа?
Да, но я не очень многое пробовал на практике.
> В целом, ограничения такие же как и у ФарНета, ecли я понимаю?
Теоретически, да. Практически, наверное, больше. ClearScript - не полноценный
проект и дотнет язык. Интересный, но "любительский", что ли.

Я решил этим не заниматься. FarNet, PowerShellFar, FSharpFar дают возможность
программировать на C#, F# и писать скрипты на PowerShell, F#.

Если кому-то нужен JavaScript (ClearScript), для этого все есть в FarNet.
Нужен модуль типа PowerShellFar, FSharpFar, только для JavaScript (ClearScript).
citRiks
Posts: 1305
Joined: Fri 25 Oct, 2019 18:18
Has thanked: 386 times
Been thanked: 80 times

FarNet — плагин для написания плагинов на .NET языках

Post by citRiks »

NightRoman,
Это я к чему хочу Jаvascript, и не только я,
потому что на Jаvascript есть многое чего написано,
немерянно библиотек, и тот WSH тоже
да, powershell лучше WSH, но если речь идет об использовании существующего кода,
и если познание в powershell/дто.нет нет так сильны,
то очень было бы практично прикрутить и использовать..
надо будет с этим разобраться с предложенным вами путем,
может выложите все что нужно для Javascript сложенное в кучку,
хоть в NuGet пакете?
А кто не поверит в наше миролюбие, / Тот кровью умоется. / И будет такая борьба за мир, / Что камня на камне не останется.
citRiks
Posts: 1305
Joined: Fri 25 Oct, 2019 18:18
Has thanked: 386 times
Been thanked: 80 times

FarNet — плагин для написания плагинов на .NET языках

Post by citRiks »

NightRoman wrote: Sun 20 Dec, 2020 06:54 Судя по лайку там, кажется-таки нашли. Но вот ссылка явно
http://forum.farmanager.com/viewtopic.p ... 76#p117676
ссылка то замечательная, но непонятно откуда брать все перечисленные ДЛЛ и куда их класть? :)
Или какие-то еще хитрости может, я же не знаю
Last edited by citRiks on Sun 20 Dec, 2020 08:15, edited 1 time in total.
А кто не поверит в наше миролюбие, / Тот кровью умоется. / И будет такая борьба за мир, / Что камня на камне не останется.
User avatar
NightRoman
Posts: 6034
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 20 times
Been thanked: 49 times
Contact:

FarNet — плагин для написания плагинов на .NET языках

Post by NightRoman »

WSH, кстати, с последним их обновлением ClearScript у меня не работал. То есть только V8 движок остается, что делает всю концепцию еще менее привлекательной.
может выложите все что нужно для Javascript сложенное в кучку,
Так нечего выкладывать, тот пост все и описывает, что нужно.
Вот еще обновленные ссылки всякие, и это все.

https://github.com/Microsoft/ClearScript
http://clearscript.codeplex.com/ -- old
site

https://www.nuget.org/packages/Microsoft.ClearScript/

https://msdn.microsoft.com/en-us/magazine/dn781353.aspx
article with a sample

more on debugging
https://clearscript.codeplex.com/discussions/645819
Last edited by NightRoman on Sun 20 Dec, 2020 08:24, edited 1 time in total.
User avatar
NightRoman
Posts: 6034
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 20 times
Been thanked: 49 times
Contact:

FarNet — плагин для написания плагинов на .NET языках

Post by NightRoman »

Я попробую собрать все в кучку и выложить на гитхабе.
User avatar
NightRoman
Posts: 6034
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 20 times
Been thanked: 49 times
Contact:

FarNet — плагин для написания плагинов на .NET языках

Post by NightRoman »

Собрал в кучку -- https://github.com/nightroman/ClearScript
Работают оба движка -- WSH, V8
citRiks
Posts: 1305
Joined: Fri 25 Oct, 2019 18:18
Has thanked: 386 times
Been thanked: 80 times

FarNet — плагин для написания плагинов на .NET языках

Post by citRiks »

NightRoman,
спасибо! прямо не ожидал что уже сегодня время найдете :)
У меня такие приключения.
В собранной кучке нету ДЛЛ-ек, и где их брать?
Тут их нет:
https://www.nuget.org/packages/Microsoft.ClearScript/
https://github.com/microsoft/ClearScrip ... /tag/7.0.0
или наверное там исхдоники этих ДЛЛ (?)
Ладно, не отчаиваемся, на НуГете пишут что надо сделать так:
Install-Package Microsoft.ClearScript -Version 7.0.0
так и делаем, но получаем не совсем желаемое:
image.png
Тут уже снова хочется рыдать, но пока держусь.
Посоветуйте где брать ДЛЛи ?
Или их надо самому компилировать?
А кто не поверит в наше миролюбие, / Тот кровью умоется. / И будет такая борьба за мир, / Что камня на камне не останется.
citRiks
Posts: 1305
Joined: Fri 25 Oct, 2019 18:18
Has thanked: 386 times
Been thanked: 80 times

FarNet — плагин для написания плагинов на .NET языках

Post by citRiks »

и вот они первые успехи (наверное):
image.png
Last edited by citRiks on Sun 20 Dec, 2020 21:08, edited 2 times in total.
А кто не поверит в наше миролюбие, / Тот кровью умоется. / И будет такая борьба за мир, / Что камня на камне не останется.
citRiks
Posts: 1305
Joined: Fri 25 Oct, 2019 18:18
Has thanked: 386 times
Been thanked: 80 times

FarNet — плагин для написания плагинов на .NET языках

Post by citRiks »

Давайте попробуем следовать вашей такой инструкции:
How to start
Clone the repository and change to its directory.
Invoke this PowerShell command:
Invoke-Build init
This command downloads the packages and sets the environment variable ClearScript.
If you are in Far Manager, restart it, to pick up the new variable ClearScript.
Now you can run some JavaScript in Far Manager.
image.png
что я делаю не так?
Last edited by citRiks on Sun 20 Dec, 2020 21:14, edited 1 time in total.
А кто не поверит в наше миролюбие, / Тот кровью умоется. / И будет такая борьба за мир, / Что камня на камне не останется.
User avatar
NightRoman
Posts: 6034
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 20 times
Been thanked: 49 times
Contact:

FarNet — плагин для написания плагинов на .NET языках

Post by NightRoman »

:) прочитайте README с самого начала, включая Requirements.
И поставьте Invoke-Build. Например: Install-Module InvokeBuild -Force
Это небольшой и полезный скриптовый модуль для а ля мейк файлов в ПШ. Потом удалите, если не нужен, от него ничего не останется.
Post Reply

Return to “Обсуждение плагинов”