View Issue Details

IDProjectCategoryView StatusLast Update
0000465WishesPlugins API.Editorpublic2017-11-11 15:02
ReporterNightRoman Assigned To 
PrioritynormalSeverityfeatureReproducibilityhave not tried
Status newResolutionopen 
Summary0000465: Для плагинов: режим работы редактора "без файла" -
DescriptionЕсть предложение по Фар АПИ редактора: ввести режим работы редактора совсем без файла. В самом АПИ, возможно изменений никаких при этом и не надо – критерием может быть пустое имя файла (NULL или пустая строка), в настоящее время пустое имя файла недостимо.

Плагин сам отвечает за то, чтобы поместить данные в редактор при открытии, сам что-то делает с данными при сохранении и закрытии файла. "Модифицированным" файл считается, если изменения произошли после события EE_READ, изменения файла в этом событии модификацией не считаются, ибо только в нем плагин и помещает данные в редактор (если хочет, конечно). При сохранении Фар, естественно, ничего не делает, кроме посылки события EE_SAVE – и либо всегда после этого считает файл немодифицированным до следующего изменения, либо (лучше) в зависимости от результата обработки события EE_SAVE. При закрытии только посылается EE_CLOSE.

P.S.
Предложение не надуманное, в PowerShellFar, например, полно редакторов данных, которые физически не в файле хранятся (в реестре, в памяти, в базе данных, где угодно, в зависимости от провайдера данных PowerShell, и так далее). Раз за разом приходится создавать временные файлы, копировать туда данные (тут еще с кодировкой могут быть причуды лишние порой), потом файлы надо удалять (Фар ведь не удаляет, если было сохранение) - жить с этим можно, но как-то коряво это, когда могло бы быть гладко совсем без файлов.
TagsNo tags attached.
Build

Relationships

has duplicate 0003181 closed Всегда ли редактор должен получать имя файла? 

Activities

vskirdin

2011-03-28 14:33

administrator   bugnote:0006604

попробуй в качестве имени файла дать MNewFileName, который описан в lng-файле и... упс, а кто-это его так перевел, и главное нафига?
в зависимости от выбранного языка это имя бывает:
#Must be the last
MNewFileName
l:
"?Новый файл?"
"?New File?"
"?Nový soubor?"
"?Neue Datei?"
"?Új fájl?"
"?Nowy plik?"
"?Nuevoi Archivo?"


не оно?

NightRoman

2011-03-28 15:23

reporter   bugnote:0006608

Интересно, но не оно.

1) Интересно, ибо если мне не изменяет память, то раньше и это не работало. Могу поковырять истории всякие, но не важно. Попутный вопрос -- это где-то документировано. Можно на такое поведение полагатся?

2) Все равно это криво, ибо зависит от языка. Не помешало бы иметь способ не вымучивать новое имя файла (это не очень простая задача, кстати, надо еще проверять, что такого файла нет, и чтобы имя было валидно, и т.п.).

3) И это совсем не о том, о чем вишь. При сохранении Фар будет спрашивать, куда сохранить и все такое. А предлагается, чтобы при сохранении Фар вообще ничего не делал, кроме посылки событий, как обычно, и смены флагов изменен/неизменен.

vskirdin

2011-03-28 15:32

administrator   bugnote:0006609

Ну, в общем это своего рода костыль. Потому и недокументировался.
Здесь нужен именно nullptr для имени.

NightRoman

2011-03-28 15:41

reporter   bugnote:0006610

> Здесь нужен именно nullptr для имени.
Согласен, ничего более натурального и простого придумать нельзя. А вот заголовок фар уже пусть показывает в зависимости от языка.

Но для того, что здесь просится, тогда нужен другой АПИ. И это не только об АПИ речь, это особый режим "без файла вообще", а не "новый файл".

NightRoman

2011-03-28 15:45

reporter   bugnote:0006611

И еще оффтопик про новый файл. Может, nullptr, и не достаточно. Иногда надо и предполагаемое расширение уметь задать заранее. Это и для colorer, и для юзера полезно.

vskirdin

2011-03-28 15:54

administrator   bugnote:0006612

На самом деле редактор и так в памяти все держит. Даже для случая с новым безымянным файлом. Думаю переделка не столь критична будет.
А вот на счет расширения - это надо подумать.
Возможен вариант (на вскидку, что первое в голову...) задания имени "?.ext" или "*.ext"...

JohnDoe

2011-03-29 10:17

updater   bugnote:0006623

Имя можно и полностью задавать, но "виртуализировать" путь (типа \\VirtualFS\FarNET\file.ext)

Issue History

Date Modified Username Field Change
2008-02-01 08:58 NightRoman New Issue
2011-03-28 14:33 vskirdin Note Added: 0006604
2011-03-28 15:23 NightRoman Note Added: 0006608
2011-03-28 15:32 vskirdin Note Added: 0006609
2011-03-28 15:41 NightRoman Note Added: 0006610
2011-03-28 15:45 NightRoman Note Added: 0006611
2011-03-28 15:54 vskirdin Note Added: 0006612
2011-03-29 10:17 JohnDoe Note Added: 0006623
2013-02-03 00:34 alexy Severity minor => feature
2017-11-11 15:02 JohnDoe Relationship added has duplicate 0003181