Вдруг кто-то захочет сделать поддержку http://editorconfig.org

Вам не хватает чего-то в Far? Вы считаете, что вашу идею стоит услышать? Пишите сюда.
Post Reply
User avatar
Sav
Posts: 53
Joined: Thu 15 Jan, 2009 15:25
Has thanked: 1 time

Вдруг кто-то захочет сделать поддержку http://editorconfig.org

Post by Sav »

Общий формат настроек редактора под разные типы файлов, сейчас поддерживается множеством редакторов напрямую или через плагин. Все очень просто и описано на сайте http://editorconfig.org
User avatar
HaRT
Moderator
Posts: 10806
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 220 times
Been thanked: 357 times

Вдруг кто-то захочет сделать поддержку http://editorconfig.org

Post by HaRT »

Такое если и внедрять, то через плагин ESC.
Фар есть инструмент, а не нянька. © 2009 DrKnS
User avatar
NightRoman
Posts: 6184
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 32 times
Been thanked: 62 times
Contact:

Вдруг кто-то захочет сделать поддержку http://editorconfig.org

Post by NightRoman »

Неплохо бы поддержку в самом Фаре иметь... Есть библиотека С для этого -- https://github.com/editorconfig/editorconfig-core-c

А может за 5 лет появился такой плагин? Вряд ли, поиск вроде ничего не дает, кроме этой темы.

Подумываю, не написать ли модуль FarNet.EditorConfig на основе editorconfig, есть библиотека и для .NET.
Поддержка некоторых настроек будет несложной, но Фар АПИ для плагинов, кажется, не дает полный контроль над всеми настройками.
User avatar
HaRT
Moderator
Posts: 10806
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 220 times
Been thanked: 357 times

Вдруг кто-то захочет сделать поддержку http://editorconfig.org

Post by HaRT »

NightRoman wrote: Fri 25 Dec, 2020 05:37 Фар АПИ для плагинов, кажется, не дает полный контроль над всеми настройками
В ряде случаев есть отвратительные обходные пути.
Фар есть инструмент, а не нянька. © 2009 DrKnS
User avatar
NightRoman
Posts: 6184
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 32 times
Been thanked: 62 times
Contact:

Вдруг кто-то захочет сделать поддержку http://editorconfig.org

Post by NightRoman »

HaRT,
Для некоторых вещей, которые EditorConfig создан поддерживать, и это не поможет.
Например, определенный тип файлов отрывать в определенной кодировке. Да, можно поменять после открытия, но это некрасиво (а может и не работать), если кодировака известна из конфига.
Наверное, и еще кой какие есть, увижу по мере реализации EditorKit (решил так назвать).
User avatar
NightRoman
Posts: 6184
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 32 times
Been thanked: 62 times
Contact:

Вдруг кто-то захочет сделать поддержку http://editorconfig.org

Post by NightRoman »

Кстати, EditorConfig файлы могут содержать любые key=value, а не только "традиционно принятые". То есть можно использовать и настройки, которые только для Фара имеют значение. Многие редакторы этим пользуются. Например, Visual Studio таким способом задает какие правила code analysis применять для каких файлов. В общем, гибкая эта штука EditorConfig. И полезная как в Фаре, так и вне. Профит!
Last edited by NightRoman on Fri 25 Dec, 2020 14:40, edited 1 time in total.
User avatar
NightRoman
Posts: 6184
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 32 times
Been thanked: 62 times
Contact:

Вдруг кто-то захочет сделать поддержку http://editorconfig.org

Post by NightRoman »

Готово, встречайте FarNet модуль EditorKit
https://github.com/nightroman/FarNet/tr ... /EditorKit
User avatar
citRiks
Posts: 1733
Joined: Fri 25 Oct, 2019 18:18
Has thanked: 610 times
Been thanked: 102 times

Вдруг кто-то захочет сделать поддержку http://editorconfig.org

Post by citRiks »

NightRoman,
взял тестовый .editorconfig:

думал что тут:

Code: Select all

╔═════════════════════════════ Editor ══════════════════════════════╗
║ Expand tabs:                                                      ║
║ Do not expand tabs                                               ↓║
║ [ ] Persistent blocks             [x] Cursor beyond end of line   ║
║ [x] Del removes blocks            [x] Select found                ║
║ [ ] Auto indent                   [ ] Cursor at the end           ║
║ 8   Tab size                      [x] Show scrollbar              ║
║ [ ] Show white space                                              ║
╟───────────────────────────────────────────────────────────────────╢
.. у меня будет Tab size = 2, и Expand all tabs to spaces
Разве не так должно сработать когда открываю для редактривания файл *.js из той же папки с .editorconfig?

Editor.Kit вроде поставился:

Code: Select all

╔══════════════════════════ Editors ═══════════════════════════╗
║  EditorConfig EditorKit\961ac212-9a24-44b4-9e61-24818971457d ║
║  FSharpFar FSharpFar\b7916b53-2c17-4086-8f13-5ffcf0d82900    ║
╚══════════════════════════════════════════════════════════════╝
Far Manager, version 3.0.5687.0 x86
Windwos 7 Prof. SP1 x64

запускал без макросов, тоже самое.
другой плагин тоже не выставляет (не перебивает EditorKit),
потому что если я ставлю TabSize=5 например,
то это так и остается в редакторе
Last edited by citRiks on Sat 26 Dec, 2020 17:26, edited 4 times in total.
User avatar
NightRoman
Posts: 6184
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 32 times
Been thanked: 62 times
Contact:

Вдруг кто-то захочет сделать поддержку http://editorconfig.org

Post by NightRoman »

citRiks, посмотрите на свой .editorconfig, для .js ([*.{js,py}]) в нем только сказано utf-8 -- это выполняется, модуль работает.
Больше ничего не указано, поэтому настройки из Фара, какие у вас там.
Однако, если тот же файл положите в папку lib, то применяется секция [lib/**.js] и там стоит space 2 -- это выполняется.
Компьютер делает, что просите, а не что хотите :)
User avatar
NightRoman
Posts: 6184
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 32 times
Been thanked: 62 times
Contact:

Вдруг кто-то захочет сделать поддержку http://editorconfig.org

Post by NightRoman »

citRiks wrote: Sat 26 Dec, 2020 17:11 другой плагин тоже не выставляет (не перебивает EditorKit),
Про это я ничего не знаю. Какой другой плагин, и что должно быть? А вообще если 2+ настройщика работают одновременно, то наверное от порядка их вызовов зависит.
User avatar
NightRoman
Posts: 6184
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 32 times
Been thanked: 62 times
Contact:

Вдруг кто-то захочет сделать поддержку http://editorconfig.org

Post by NightRoman »

Какие еще настройки кажутся полезными к тем, что уже добавлены? Мне добавленных пока хватает.
Прим. 1 -- не все может оказаться "легко" применить к Фару из плагина
Прим. 2 -- настройки могут быть только для Фара понятные, не обязательно общепринятые, формат это позволяет
User avatar
citRiks
Posts: 1733
Joined: Fri 25 Oct, 2019 18:18
Has thanked: 610 times
Been thanked: 102 times

Вдруг кто-то захочет сделать поддержку http://editorconfig.org

Post by citRiks »

NightRoman,
Да, все получилось, с этим понятно, оказалось он поддерживает субдиректории
NightRoman wrote: Sat 26 Dec, 2020 18:00 Какие еще настройки кажутся полезными к тем, что уже добавлены? Мне добавленных пока хватает.
Всегда будут люди которым хватает,
и всегда будут те которым не хватит :)
Поэтому я думаю что надо все добавлять,
пока свежо предание, и (если) есть время
Last edited by citRiks on Sat 26 Dec, 2020 21:11, edited 1 time in total.
User avatar
NightRoman
Posts: 6184
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 32 times
Been thanked: 62 times
Contact:

Вдруг кто-то захочет сделать поддержку http://editorconfig.org

Post by NightRoman »

citRiks, да, но хотелось бы что-то реально востребованное, чтобы был рассчет и на тестирование.
User avatar
citRiks
Posts: 1733
Joined: Fri 25 Oct, 2019 18:18
Has thanked: 610 times
Been thanked: 102 times

Вдруг кто-то захочет сделать поддержку http://editorconfig.org

Post by citRiks »

NightRoman,
согласен, без тестеров проблематично это все..
Сейчас подумал вот что, - для справки и/или на будуще, крайней мере.
что касается задавания остальных editor features/settings,
есть EditorSettingsCore который покрывает многое если не все,
он написан на Moon, легко переводится в Луа (я как-то перевел в Луа его)
EditorSettingsCore написан качественно.
viewtopic.php?t=10750
т.е., я представляю такого Франкеншейна:
* в EditorKit сидит читалка .editorconfig и прочая логика работы
* В соответствии с этой логикой вызываются куски из модуля ESC
Post Reply

Return to “Предложения и идеи”