FarNet — .NET Far API and .NET module manager

Анонсы новых плагинов. Обсуждение плагинов ведется ниже.
User avatar
NightRoman
Posts: 6184
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 32 times
Been thanked: 62 times
Contact:

Re: FarNet — .NET Far API and .NET module manager

Post by NightRoman »

Latest post of the previous page:

http://code.google.com/p/farnet/

= 4.4.17 =

*) Module settings panel and engine

Default setting names start with '-'. Ever edited setting names start with '+'.
See more about defaults in the panel help [F1].

Reset to defaults ([Del], [F8]) works for all settings, with or without default
values explicitly defined by settings attributes.

[CtrlF11] in settings shows default / edited (- / +) data sorted separately.

For developers: see ModuleSettingsProvider API docs for some technical details.

*) FarNet.Demo module (included as sources)

Though it is a demo module it includes tools that can be useful for developers:

`Tracing` tool shows the menu that allows to change the level of tracing used
by the core and to turn tracing to the file on/off. It can be handy if you do
not have or use DebugView.exe from Sysinternals or similar diagnostics tools.

`demo: process` command shows some useful info about the current process.

`demo: assembly` command shows currently loaded .NET assemblies.

HINT: Tracing level and listeners can be set permanently in Far.exe.config,
for example in order to trace loading of preloadable modules. FarNet.Demo
allows to do that temporary for the already started session.
User avatar
NightRoman
Posts: 6184
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 32 times
Been thanked: 62 times
Contact:

Re: FarNet — .NET Far API and .NET module manager

Post by NightRoman »

http://code.google.com/p/farnet/

= 4.4.18 =

*) Help helpers

New IFar.GetHelpTopic() helps to format strings for HelpTopic properties like
"<C:\...\MyModule\\>Topic" (but in fact format details are hidden in this way).

New IFar.ShowHelpTopic() is a simple method for simple cases. The old and not
quite simple ShowHelp() still works as usual. But it is kind of deprecated now.

*) FarNet.Demo module
Added two help files (en, ru) and examples of using help files in the code:
a) HelpTopic property of the menu;
b) explicit call of ShowHelpTopic().

*) Module setting
- Added remarks about recommended data types to ModuleSettingsProvider.
- Module settings panel is not closed (by pressing [Esc]) if data are invalid
and Save() throws an exception. Forced close (open another panel) is allowed.

*) IEditor
New ConvertPointEditorToScreen(), in addition to ConvertPointScreenToEditor().
User avatar
NightRoman
Posts: 6184
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 32 times
Been thanked: 62 times
Contact:

Re: FarNet — .NET Far API and .NET module manager

Post by NightRoman »

http://code.google.com/p/farnet/

= 4.4.19 =

*) Bug
Fixed DirectoryNotFoundException on reading the module cache at start.
User avatar
NightRoman
Posts: 6184
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 32 times
Been thanked: 62 times
Contact:

Re: FarNet — .NET Far API and .NET module manager

Post by NightRoman »

http://code.google.com/p/farnet/

= 4.4.20 =

*) Editor color API
This API is experimental and not yet recommended for public use, it is added
for the RightWords module for highlighting of misspelled words in editors.
- IEditor: new methods GetColor(), SetColor(); new class LineColor.
- New EditorRedrawMode enum, EditorRedrawingEventArgs uses it.
User avatar
NightRoman
Posts: 6184
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 32 times
Been thanked: 62 times
Contact:

Re: FarNet — .NET Far API and .NET module manager

Post by NightRoman »

http://code.google.com/p/farnet/

= 4.4.21 =

*) Editor color API (revised)
- IEditor: GetColors(), AddColor() work with the ColorSpan class.

*) Not standard FarNet late loading
Fixed a few issues in cases when FarNet is loaded after opening editors.
User avatar
NightRoman
Posts: 6184
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 32 times
Been thanked: 62 times
Contact:

Re: FarNet — .NET Far API and .NET module manager

Post by NightRoman »

http://code.google.com/p/farnet/

= 4.5.0 =

*) Target .NET framework is 3.5

FarNet and its modules are now built for .NET 3.5. At the same time the core is
configured to run with .NET 4.0 if it is available. Thus, modules targeted for
.NET 4.0 are supported and .NET 3.5 is not needed if .NET 4.0 is installed.

The game is over for Windows 2000, RIP. If .NET 3.5 is not yet installed and
Windows is XP SP3 or above then consider to install .NET 4.0 (unless 3.5 is
really needed for something else). 4.0 is much smaller, just in case.

Existing modules built for .NET 2.0 still work, rebuild is not needed. But when
such modules are built next time their target framework should be set to 3.5.

*) Roaming and local data locations
GetFolderPath() methods are based on the environment variables FARPROFILE,
FARLOCALPROFILE if they are defined and not empty (introduced in Far 3, 2091).
Otherwise they use roaming and local paths as usual. Thus, it is possible now
to configure the locations of FarNet and its module settings and working files.

*) IFar
(mostly for internal use though this API is officially public)
New GetModuleManager(string). It is faster than GetModuleManager(type) and it
can be used if a type is not yet available because its assembly is not loaded.
In some cases names are not known directly and the old method is still used.
User avatar
NightRoman
Posts: 6184
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 32 times
Been thanked: 62 times
Contact:

Re: FarNet — .NET Far API and .NET module manager

Post by NightRoman »

http://code.google.com/p/farnet/

= 4.5.1 =

*) Some new .NET 3.5 features
- Replaced a few not significant delegates with Func<> generics.

*) Changed CurrentUICulture inference from %FARLANG%
Used specific cultures instead of neutrals e.g. en -> en-US, ru -> ru-RU, ..
Neutrals are not always suitable (e.g. PowerShell help does not know "en").
User avatar
NightRoman
Posts: 6184
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 32 times
Been thanked: 62 times
Contact:

Re: FarNet — .NET Far API and .NET module manager

Post by NightRoman »

http://code.google.com/p/farnet/

= 4.6.0 =

*) Asynchronous jobs
Fixed potential deadlocks of posting jobs which post new jobs themselves.

*) IEditor
New property Line, the current line. The old way of getting the current line
by the index -1 is deprecated, it does not work, for example, in PowerShell
V3 CTP2. It still works in C# and PowerShell V2 but from now on this is not
documented feature. It can be removed in future versions.
User avatar
NightRoman
Posts: 6184
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 32 times
Been thanked: 62 times
Contact:

Re: FarNet — .NET Far API and .NET module manager

Post by NightRoman »

http://code.google.com/p/farnet/

= 4.6.1 =

Technical build, probably the last for Far 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:

Re: FarNet — .NET Far API and .NET module manager

Post by NightRoman »

http://code.google.com/p/farnet/

= 5.0.0 =

This version is designed for Far Manager 3. Some modules should be updated.
v5.0.x API is not final, it may change frequently but not much, most of API
already looks stabilized.

There are many breaking changes but they are all easy to fix. In theory it
would be possible to avoid most of them. But these changes were needed for
effective use of new Far and its API.

*) Settings
Roaming and local FarNet and module settings moved:

%APPDATA%\Far Manager\FarNet ->
%APPDATA%\Far Manager\Profile\FarNet

%LOCALAPPDATA%\Far Manager\FarNet ->
%LOCALAPPDATA%\Far Manager\Profile\FarNet

Actual new locations depend on %FARPROFILE% and %FARLOCALPROFILE%. This moving
should work fine for most or all modules. Module *.settings files can be moved
with no problems. FarNet.binary files should be moved only if needed. Do not
move Cache.binary, better delete them all, they will be recreated.

*) Filers
Module filer classes are not supported anymore. Their value is low and cost is
high. FarNet provides enough alternative ways for opening files in panels.

*) Hotkeys
Module menu items can now use standard Far hotkeys. As a result internal pseudo
hotkey stuff was removed from API, code, and FarNet settings.

*) Keyboard
- Used enums and structures: KeyCode, ControlKeyStates, KeyData, KeyInfo. All
other types were removed. KeyInfo in most cases replaces use of internal and
virtual numeric key codes.
- Standard and list menus use the same break keys API: Key, AddKey().
- Panel and dialog key events changed.
- ReadKeys() changed.

*) Macros
- Removed IMacro, IFar.Macro and all related stuff.
- Also removed from IFar: PostKeys(), CreateKeySequence(), PostKeySequence().
Use PostMacro() and PostText() instead.

*) Registry
- Removed IRegistryKey, IFar.OpenRegistryKey().
- Removed history methods because they used to work with the registry.

*) Windows
Removed IWindowInfo. Replaced IWindow.GetInfoAt() with GetKindAt(), GetNameAt()
and GetKindNameAt().

*) Misc
- MsgOptions -> MessageOptions
- Panel UseFilter -> NoFilter

*) TODO
- Panel key bars do not work yet
- Custom dialog control colors
User avatar
NightRoman
Posts: 6184
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 32 times
Been thanked: 62 times
Contact:

Re: FarNet — .NET Far API and .NET module manager

Post by NightRoman »

http://code.google.com/p/farnet/

= 5.0.1 =

- Editor color methods with more options.
- Custom colors in dialog controls.
- Custom module panel key bars.

- Fixed crash in x64 dialogs.

- Local module settings are now saved in "Xyz.local.resources" files in order
to avoid conflicts with roaming "Xyz.resources" files when roaming and local
settings paths are the same (this is possible with custom "Far.exe.ini").

NOTE: If you use Far2 with FarNet avoid starting Far2 from Far3. FarNet in Far2
will use existing %FARPROFILE% and %FARLOCALPROFILE% paths and this may lead to
settings issues either in Far2 or Far3 (not necessarily but this is possible if
settings data structure change). This issue is not going to be fixed.
User avatar
NightRoman
Posts: 6184
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 32 times
Been thanked: 62 times
Contact:

Re: FarNet — .NET Far API and .NET module manager

Post by NightRoman »

http://code.google.com/p/farnet/

= 5.0.2 =

*) IWindow
- Fixed some Get*() methods.
- Removed Commit(), it is done by SetCurrentAt().
User avatar
NightRoman
Posts: 6184
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 32 times
Been thanked: 62 times
Contact:

Re: FarNet — .NET Far API and .NET module manager

Post by NightRoman »

http://code.google.com/p/farnet/

= 5.0.3 =

Adapted for Far 3.0.2377.

*) Editor colors API
- API is simpler and much easier to use. Advanced methods are not exposed,
perhaps they are not needed at all. See modules: RightWords, PowerShellFar.

*) Misc
- Fixed IFar.FarVersion build and revision.
- Revised Key/Mouse methods ==, !=, Equals.
- Memory leaks.
User avatar
NightRoman
Posts: 6184
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 32 times
Been thanked: 62 times
Contact:

Re: FarNet — .NET Far API and .NET module manager

Post by NightRoman »

http://code.google.com/p/farnet/

= 5.0.4 =

*) IEditor ~ Mantis 1988 and Far 3.0.2400+
- Removed IsNew, it is not needed (at least in FarNet)
- Empty file names work now (a new file is assumed)

*) Minor tweaks.
User avatar
NightRoman
Posts: 6184
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 32 times
Been thanked: 62 times
Contact:

Re: FarNet — .NET Far API and .NET module manager

Post by NightRoman »

http://code.google.com/p/farnet/

= 5.0.5 =

*) History
- All histories come back, use IFar.History and its methods.
User avatar
NightRoman
Posts: 6184
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 32 times
Been thanked: 62 times
Contact:

Re: FarNet — .NET Far API and .NET module manager

Post by NightRoman »

http://code.google.com/p/farnet/

= 5.0.6 =

*) Revision of Post* methods
- Renamed PostStepAfterStep -> PostStep2.
- Removed PostStepAfterKeys, apparently it is not needed in Far3.
- Removed PostText(), not so useful in Far3, use PostMacro() + "", print().
Post Reply

Return to “Анонсы новых плагинов”