https://www.nuget.org/packages/FarNet.FSharpFar = 4.0.1 = FSharp.Core 8.0.200 FSharp.Compiler.Service 43.8.200 = 4.0.0 = Requires .NET 8.0, FarNet 8.0.0 Keep several open sessions again. = 3.1.1 = FSharp.Core 7.0.401 FSharp.Compiler.Service 43.7.401 = 3.1.0 = FSharp.Core 7.0.400 FSharp.Compiler.Service 43.7.400 Temporary, just one active session is kept open. = 3.0.1 = master -> main, update links. = 3.0.0 = Requires FarNet 7, uses .NET 7. FSharp.Core 7.0.0 FSharp.Compiler.Service 42.7.101 = 2.0.14 = Throw exceptions from `fs:` commands instead of writing to console. Otherwise callers cannot know about failures (API, interop, tests). = 2.0.13 = Build as simple module, ALC loading is bad for data providers. As a result, FarNet.FSharp.Data is back to normal. = 2.0.12 = Retired `fs://command` format, use `fs:command:` instead. `fs: compile` and `fs: project:` -- if the configuration section `[out]` is missing or omits `-o|--out` then the FarNet script location is assumed. = 2.0.11 = Requires FarNet 6.0.19 Changed format of fs: commands: New format: fs: command: ... Old format: fs: //command ... The old format still works but will be retired. Engaged new FarNet "scripts", replaced old menu items "Project" with new command: fs: project: open=VS|VSCode; type=Normal|Script; with= The command provides more options, ability to specify the location, and ability to call not just from panels. Old menu items covered only VS|VSCode in panels. If you need them, make user menu items instead: fs: project: open=VS fs: project: open=VSCode = 2.0.10 = FSharp.Core 6.0.6 FSharp.Compiler.Service 41.0.6 = 2.0.9 = Requires FarNet 6.0.14 Interactive: - history navigation by up/down arrows in the last line - the key for show history changed from F6 to F5 - uses temp files deleted after use - saves automatically on output = 2.0.8 = fsx: Assembly resolver: use LoadFrom, not LoadFile. = 2.0.7 = Requires FarNet 6.0.6 - Use new module item ids. - Build as ALC module (see FarNet 6.0.6). = 2.0.6 = fsx - Tweak assembly resolver. = 2.0.5 = Add assembly resolver to fsx, similar to used in FarNet. E.g. fsx can run scripts using FarNet.FSharp.PowerShell. = 2.0.4 = Removed not useful "No errors" message. AutoTips and AutoCheck are saved in local settings. Fixed checker issues by --targetprofile:netcore. Added --nowarn:FS3511, top level tasks are good. Generated VSCode use "coreclr" instead of "clr". = 2.0.3 = - Avoid duplicated checker errors. - Do not show operation canceled errors. - Add `AutoCheck` (false) to the module settings. F# checker is confused in net6.0, work in progress. = 2.0.2 = Include missing FSharp.Core.xml = 2.0.1 = fsx.exe supports WinForms. E.g. fsx may run scripts using FarNet.FSharp.Charting. = 2.0.0 = FarNet 6 announcement -- https://github.com/nightroman/FarNet/pull/25 Requires FarNet 6, uses .NET 6. FSharp.Compiler.Service 41.0.5 = 1.17.2 = Requires FarNet 5.9.0 Updated FSharp.Compiler.Service (41.0.4) FSharp.Core (6.0.4) = 1.17.1 = Requires FarNet 5.8.4 Updated FSharp.Compiler.Service (41.0.3) FSharp.Core (6.0.3) = 1.17.0 = Requires FarNet 5.6.0. Uses new XML settings. Remove old %FARPROFILE%\FarNet\FSharpFar\Settings.resources = 1.16.3 = Ignore configuration options -a and --target and always use --target:library. = 1.16.2 = Fix existing (System.Text.Json) and potential assembly conflicts: - Amend packaged assemblies (net4* instead of netstandard2.0) - Add System.Numerics.Vectors.dll = 1.16.1 = Respect the configuration section [out] by the Project commands. As a result, you can build, run, debug FarNet modules on the fly. Example: https://github.com/nightroman/FarNet/tree/main/FSharpFar/samples/TryPanelFSharp Engage F# v6 features in samples and tests. If you use Visual Studio, 2022 is recommended for working with sources. VS 2019 with the old F# compiler may not recognise some new syntax. (reminder: VS is not needed for running F# script in FSF) Associate .fsproj with Visual Studio 2022 On problems with associating .fsproj files with Visual Studio 2022, use this registry tweak: HKEY_CLASSES_ROOT\fsproj_auto_file\shell\open\command "C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\devenv.exe" "%1" = 1.16.0 = F# v6, new features Requires FarNet 5.5.2 Updated FSharp.Compiler.Service (41.0.1), FSharp.Core (6.0.1) = 1.15.1 = Updated FSharp.Compiler.Service (40.0), FSharp.Core (5.0.2). = 1.15.0 = !! Use FarNet 5.4.20 Updated FSharp.Compiler.Service (39.0). This includes FSharp.Core 5.0.1 with new F# 5 features. Note, script debugging is not supported at the moment: https://github.com/dotnet/fsharp/issues/10467#issuecomment-774820154 = 1.14.0 = Use FarNet 5.4.13 with new FarNet.Tasks. Renamed Job to Jobs and redesigned it. Most of methods are wrappers of Tasks. = 1.13.6 = Internal - Job: remove excessive EnsurePanels - simplify Job.OpenPanel (Panel/fun) = 1.13.5 = Move Wait() from Job to Assert. Make Job Keys, Macro, Wait lazy. = 1.13.4 = Use "net472" in generated F# projects. Use FarNet.Tasks for Job.Keys and Macro. = 1.13.3 = - Replace StartTaskCode and StartTaskFile with StartTask - Add the parameter `parameters` to StartTask = 1.13.2 = Add FarNet.FSharp.PSFar StartTaskCode and StartTaskFile for invoking PowerShellFar scripts asynchronously by Start-FarTask. = 1.13.1 = Add missing Microsoft.Build.*.dll Remove not used ValueTuple.dll = 1.13.0 = FSharp.Compiler.Service (37.0) *** Requires net472 *** = 1.12.0 = FaNet.FSharp namespace changes Converted PowerShellFar module to PSFar static type -- New property Runspace (latest PowerShellFar) -- Solved conflicts on -r:PowerShellFar.dll -- Renamed invokeScript to Invoke Added experimental trace {} with printing yield. Note, implicit yield is supported and handy. Experimental auto opening of FarNet.FSharp. = 1.11.4 = Amend disabling/enabling editor auto checks. = 1.11.3 = Support printf* in async jobs. = 1.11.2 = Remove FSharp.Core.optdata, FSharp.Core.sigdata from the package. Move tests from /sample/Async to /tests. Add Assert.Throws() = 1.11.1 = Add the common test runner and use in samples. = 1.11.0 = Add basic test tools. See /samples/Testing. = 1.10.8 = Script debugging support, see README. = 1.10.7 = FSharp.Compiler.Service (36.0.3) Do not run scripts if session loading has critical errors. = 1.10.6 = Add watchers on starting "Project" menu commands for closing sessions automatically on related file changes. = 1.10.5 = FSharp.Compiler.Service (36.0.2) (fixed versions in fsx.exe logo) Close affected sessions on saving config and source files in Far Manager. Session loading exceptions - throw with the original stack information. = 1.10.4 = Added FSharp.Core.xml to the package. This makes F# core help tips available. = 1.10.3 = FSharp.Compiler.Service (36.0.1) Amend command line parsing in fsx.exe. = 1.10.2 = Add missing assembly to the package. = 1.10.1 = FSharp.Compiler.Service (36.0) - Added "Improve performance" to README. - Amended fsx.exe config file resolution. - Improved error message on config issues. - Fixed GAC references in generated projects. = 1.10.0 = The package includes fsx.exe for running scripts without starting Far Manager. As a result, FSharpFar package provides the complete F# scripting tool set. See README "Using fsx.exe tool" and "repo/samples/fsx-sample". The interactive session configuration object `fsi` is available for scripts. Use it for customization and for `fsi.CommandLineArgs` in fsx.exe or fsi.exe. The compiler symbol FARNET is defined for scripts loaded by FSharpFar. It is used for conditional compilation to separate FarNet | non-FarNet. = 1.9.21 = "Project" commands: generated projects include *.fsx scripts. = 1.9.20 = - FSharp.Core 4.7.2 - complete __SOURCE_DIRECTORY__ - fix order of included use section items = 1.9.19 = FSharp.Compiler.Service (35.0) = 1.9.18 = FSharp.Core (4.7.1) = 1.9.17 = FSharp.Compiler.Service (34.1.1) = 1.9.16 = FSharp.Compiler.Service (34.1) = 1.9.15 = FSharp.Compiler.Service (34.0.1) = 1.9.14 = New menu command "Project (VSCode)". = 1.9.13 = FSharp.Compiler.Service (34.0) = 1.9.12 = FSharp.Compiler.Service (33.0.1) = 1.9.12 = Tweak generated project directory names in %TEMP%. = 1.9.11 = FSharp.Compiler.Service (33.0) = 1.9.10 = FSharp.Compiler.Service (32.0) - supports new F# 4.7 syntax features - preview features are enabled by `--langversion:preview` in [fsc] configuration sections = 1.9.9 = FSharp.Compiler.Service (31.0) = 1.9.8 = FSharp.Core (4.7), requires FarNet 5.2.20 = 1.9.7 = FSharp.Compiler.Service (30.0) = 1.9.6 = FSharp.Compiler.Service (29.0) fixes some anonymous record issues. = 1.9.5 = FSharp.Compiler.Service (28.0) - requires .NET Framework 4.6.1 - fixes wrong help info extracted from XML docs = 1.9.4 = Add Guid alias for System.Runtime.InteropServices.Guid (Attribute). FSharp.Compiler.Service (27.0.1) = 1.9.3 = New FarNet.FSharp.Assert methods for typical testing tasks. On failures they clearly show the locations in code, unlike often cryptic F# stack traces of usual exceptions. New FarNet.FSharp.Window methods, just helpers, no new functionality. Use new Assert and Window methods in tests in "samples". FSharp.Core (4.6.2) = 1.9.2 = The default sessions / configurations are now used instead of the main. The main is still default for directories with no configuration files. API - Add more Job helper functions for panels. - Add demo in samples\Async\TestPanel02.fs. - Job.FlowDialog - change parameters style. = 1.9.1 = FSharp.Core (4.6.1) = 1.9.0 = FSharp.Compiler.Service (26.0.1) supports all F# 4.6 features, see https://blogs.msdn.microsoft.com/dotnet/2019/01/24/announcing-f-4-6-preview/ Example: "samples\PowerShellFar\PanelObjects.fsx" uses anonymous records. Tidy up commands and logic with configurations. If a config file is specified then it must exist. If a directory is searched for config files then the first in alphabetical order is used. If there is none then either the main config is used or an error is thrown, depending on an operation. = 1.8.2 = - Requires FarNet 5.2.18 - FSharp.Core (4.6), FSharp.Compiler.Service (25.0.1) = 1.8.1 = - Amend temporary paths and names of generated projects. - Some more details in samples/fsi. = 1.8.0 = New config file section [use] allows using other config files in the current. You can easily compose a session with existing "projects" and new settings. "Project" opens the main session if there is no config in the current folder. Add `PowerShellFar.invokeScript`. See "samples\PowerShellFar" in the repo. Add samples\Lib\SessionVariables.fs, SessionVariablesPanel.fsx = 1.7.0 = New menu command "Project" makes a special project from your config file and opens it, usually in Visual Studio. You get the full power for composing your files. You do not have to build anything and restart Far in order to test the changes. Just edit, save, and run F# files in this special project. See README for details. Retire tools/Convert-Project.ps1, not so useful now. FSharp.Core 4.5.4. = 1.6.2 = `[F5]` in editors is shortcut for `[F11]` \ `FSharpFar` \ `Load` = 1.6.1 = Add job helper: job {...} ~ Job.From (fun () -> ...) Rework Job methods. = 1.6.0 = FarNet API moved to FarNet\FarNet.FSharp.dll. It is automatically available for scripts as usual and F# FarNet modules, when referenced. Modules do not have to reference the whole FSharpFar.dll. = 1.5.7 = - Rework Async tools with samples and tests - FSharp.Core (4.5.2) = 1.5.6 = Requires FarNet 5.2.13 - FSharp.Compiler.Service (23.0.3) - FSharp.Core (4.5) = 1.5.5 = FCS 22.0.3 = 1.5.4 = - FCS 22.0.1 - Include ValueTuple to avoid problems on some machines = 1.5.3 = Requires FarNet 5.2.11+ - FCS 21.0.1, FSharp.Core 4.4.3.0 - Fix completion in interactive. = 1.5.2 = FCS 17.0.1 = 1.5.1 = - //exec: file is optional, `with + code` is often enough and more effective. - Convert-Project.ps1: fixes. = 1.5.0 = New command `fs: //compile` lets to compile a dll or exe right in FSF without anything else installed like Visual Studio, VSCode, even F#. In other words, you can make FarNet modules written in F# just with FSF. Updated repo/samples/TryPanelFSharp, see how to compile a module in FSF. Changes in configuration format (BREAKING): (1) Options are used in the same way as for "fsc.exe" and "fsi.exe", one option per line, instead of the old "name=value" format. (2) Source files are normally specified in [fsc], not [fsi]. (3) Relative paths do not have to start with "." (but "--reference" or "-r" still requires this). Overall, the new format is simpler (you can literally copy paste VS F# build output pieces to the [fsc] section) and yet flexible to describe three modes: interactive, compiling, editor services. See README for the details. Updated repo/tools/Convert-Project.ps1 = 1.4.2 = FarNet 5.2.6 Improve tips, especially when an XML doc file is available: - Tips called from the menu are formatted a la help and shown in an editor. - Auto tips message has the button [More] which shows full tips in an editor. - Try to get not found framework v4.6.2 XML doc files from a different location. = 1.4.1 = Improve diagnostics on session errors. When a script is loaded or invoked and fails due to upstream session errors then these errors should be shown first. Otherwise, script own errors look cryptic. Minor improvements in checker and config parser. Convert-Project.ps1: avoid redundant references. FarNet directory is no longer predefined as --lib. It turns out Far home directory is predefined as --lib by FCS. So FarNet as --lib is redundant. = 1.4.0 = Far Manager 3.0.5013 FarNet 5.2.5 Moved to the latest FCS 14.0.2 and FSharp.Core 4.2.3. This enables F# 4.1 in Far. Removed partial support of .fsproj, MSBuild, and ProjectCracker. Support becomes difficult and the value is low. If you have .fsproj then just use VS or VSCode. Auto loaded/used files are dropped, too, they were designed for .fsproj cases. "repo/tools/Convert-Project.ps1" converts .fsproj to .fs.ini for FSharpFar. It requires FSharp.Compiler.Service.ProjectCracker, see comments for help. Other changes - Moved "Async.fs" from samples to the core for checks and tips. - Auto checks and tips in F# sources are enabled by default. - Redesigned "samples/Async" and added tests to "App2.fs". = 1.3.0 = - FCS 13.0.0 - Amend config errors - Improve editor checks and rendering - Predefine "FSharpFar.dll" reference - Add `FarNet.Auto` -> `open FarNet` gives `far` - Add "Async" samples with Far Manager async flows Code in "samples/Async/Async.fs" will be eventually included to the core. This is some very useful stuff but the development is still in progress. = 1.2.8 = FSC 12.0.8 = 1.2.7 = FCS 11.0.4 with fixes of some known issues. = 1.2.6 = Reference resolution for scripts should use predefined and user options. Sort errors in the error menu by file names and locations. FCS 10.0.1 = 1.2.5 = FCS 9.0.1 repo\samples\fsi = 1.2.4 = FCS 9.0.0 = 1.2.3 = Do not show auto tips if an error is shown. = 1.2.2 = Color settings: [F11] \ FarNet \ Settings \ FSharpFar Settings. Use different colors for errors and warnings. Avoid out of date errors on auto checks. = 1.2.1 = Enable auto checks and tips by default if .fsproj is not used. Do not show tips if a control key is pressed on mouse moves. = 1.2.0 = Auto checks on typing. Use "F11 \ FSharpFar \ Enable auto checks" in F# editors. Errors are highlighted on auto checks and checks from the menu. Error messages are shown when the mouse hovers over error areas. = 1.1.0 = Auto tips on mouse moves over symbols. Use "F11 \ FSharpFar \ Enable auto tips" in F# editors. = 1.0.4 = Errors on loading interactive sessions are written to the editor. = 1.0.3 = Fix #10, scripts of F# projects should use the main config. = 1.0.2 = Fix #9, completion of identifiers with double-backticks. = 1.0.1 = - Amended processing of paths in //exec and //open. - //exec uses the config from the script folder. - Added "samples" to the repository. = 1.0.0 = FSharpFar requires just Far Manager, FarNet, and .NET Framework 4.5+. MSBuild is not needed, thanks to FCS 8.0.0., unless you are using .fsproj project files for configurations. FSharp.Core is included to the package. = 0.10.0 = Interactive Generated file names with time stamps are used for interactives. You may save interactive files but they are not supposed to be reused as interactives. Interactive input is stored in a common history file. Use [F6] in order to get the interactive history. Misc "Load" uses local .fs.ini and .fsproj, if any. Fix a cache error on using updated config files. = 0.9.0 = Symbol definitions and references - Menu "Uses in file" shows uses in the file - Menu "Uses in project" show uses in the project = 0.8.1 = Tips - Use info from XML docs. = 0.8.0 = fs: //open Support ".fsproj" as interactive configuration in addition to ".fs.ini". Currently all compiled ".fs" files are automatically loaded. This is very handy on developing small projects. This is slow and rather useless for large. Auto #load and #use On opening interactive with "config.ext", existing files "config.load.fsx" and "config.use.fsx" are automatically loaded and used as input. This is designed for "config.fsproj" but works for "config.ini" as well. fs: //exec ... [;; ] Support an optional F# code invoked after loading a file. This is the official way to call something with parameters. = 0.7.1 = - Improve code completion. - Avoid opening a session on checks. - Cache INI configurations on checking. - Fix conflict between F# and FSF commands. - Add a sanity check on reading INI config. = 0.7.0 = Configuration - Make configuration from .fsproj when .fs.ini is missing. Misc - Improve code completion. = 0.6.0 = Proper F# code completion based on configuration info. = 0.5.0 = New menu in F# editors - "Tips" Misc - Interactive files .fs.fsx are in the local profile. = 0.4.1 = - Work around console output problems (Mantis 3297) - Support relative "reference" | "load" | "lib" | "use" = 0.4.0 = Configuration - Rename files *.fsi.* -> *.fs.* - Two sections [fsc] and [fsi] New menus in F# editors - "Check" - "Errors" = 0.3.4 = Fix double code completion in interactive. = 0.3.3 = Adapt for Far 3.0.4782. Show echo on `fs: code`. = 0.3.2 = Avoid command echo, it makes issues in Far 3.0.4782. Fixed unwanted modal interactive sessions on //open. = 0.3.1 = Avoid loading session on some [Tab] in editor. Show session loading progress state and title. fsi.exe does not have to be in the path. = 0.3.0 = Use Far 3.0.4775, its FarColorer supports F# syntax highlighting. The new menu command "Load" in editor saves and loads the current script in the main session. Its output, warnings, and errors are shown in another editor. Code completion in editors works for all F# files. Completions is currently based on the main session, you may configure it using "main.fsi.ini". Amended //exec for scripts with console output functions (printf, etc.) So //exec is fine for all scripts, except dealing with console directly. = 0.2.0 = Revised the module and F# sessions. Added commands //exec and //open. Updated README. = 0.1.0 = Code completion by [Tab] in F# interactive editors. = 0.0.2 = MSBuild 14 (VS 2015) is required instead of MSBuild 12 (VS 2013). = 0.0.1 = Public preview.