- Codefix: Update value in signature file and 1220 (thanks @nojaf)
- Analyzers: Update analyzers support to 0.23.0 (thanks @dawedawe)
- fix and improves l10n (thanks @Tangent-90)
- Fix AP signatures for APs with names which are substrings of other APs (thanks @dawedawe)
- fixing caching of cancelled cached tasks (thanks @TheAngryByrd)
- Dotnet 8 support (Thanks @baronfel & @TheAngryByrd)
- F# 8 Support (Thanks @baronfel & @nojaf & @dawedawe)
- Updates Ionide.LanguageServerProtocol to 0.4.20 (Thanks @TheAngryByrd)
- Update IcedTasks 0.9.2 (Thanks @TheAngryByrd)
- Paket Simplify (Thanks @1eyewonder)
- Do ordinal string comparisons (Thanks @dawedawe)
- fix typo in FullNameExternalAutocomplete default value (Thanks @MrLuje)
- Fix tooltip errorhandling(#1195) (Thanks @pblasucci & @TheAngryByrd)
- Better Completion for ExternalAutocomplete functions (Thanks @Tangent-90!)
- LSP Refactoring 1179 1188 (Thanks @TheAngryByrd)
- Fix Spelling (Thanks @TheAngryByrd)
- Json serializer error can cause server crash (Thanks @TheAngryByrd)
- Fixes a race condition with ProgressListener.End (Thanks @TheAngryByrd)
- Fixed a bug in inlay hints generation for constructors and methods that would cause a crash on members with optional or ParamArray parameters.
- The following options have been removed from the LSP. The old CLI options will trigger a warning if present, but will not crash the server (Thanks @TheAngryByrd!)
- The older, Non-Adaptive LSP implementation (in favor of using the Adaptive LSP server)
- NamedText (in favor of RoslynSourceText)
- Incoming Call Hierarchy (thanks @TheAngryByrd!)
- Ignore requests that would cause circular dependencies in project references (thanks @dawedawe!)
- fix the Define active pattern (thanks @dawedawe!)
- Add CodeActions for Number Constants: Convert between bases, Add digit group separators (thanks @BooksBaum!)
- Default to RoslynSourceText (thank @TheAngryByrd!)
- fix an expecto test detection (Thanks @TheAngryByrd!)
- Add support for Expecto theory tests (thanks @Numpsy!)
- Add Scaffolding for Generating Codefixes (thanks @nojaf!)
- Extract out AST-collecting-walker to a separate function + abstract class (thanks @baronfel!)
- Fixed File Index out of range issues (thanks @Happypig375!)
- A new flag for controlling FSAC's support of ParallelReferenceResolution -
fsharp.fsac.parallelReferenceResolution
. If true, this allows for more parallelization of the compilation.
- Updated Ionide.LanguageServerProtocol to get better LSP 3.17 support
- Updated to FCS 7.0.400!
- Massively improved the performance of comparing file paths in the LSP server (thanks @TheAngryByrd!)
- Improved getting declarations in the Adaptive LSP Server (thanks @TheAngryByrd!)
- Reduce project option duplication, reducing memory usage (thanks @TheAngryByrd!)
- Codefix: Add codefix for redundant attribute suffix. (thanks @nojaf!)
- Add module to SemanticTokenTypes (thanks @nojaf!)
- Codefix: Add type annotations to entire function (thanks @nojaf!)
- Codefix: RemovePatternArgument quick fix (thanks @edgarfgp!)
- Codefix: for interpolated string, fix #1 (thanks @nojaf!)
- Swap maybe for option CEs (thanks @TheAngryByrd!)
- Make ServerProgressReport threadsafe (thanks @TheAngryByrd!)
- Fix range handling for code completion in interpolated strings (thanks @kojo12228!)
- Fixing Typos (thanks @TheAngryByrd!)
- FSAC Not exiting on macos/linux (thanks @TheAngryByrd!)
- CI not failing on focused tests (thanks @TheAngryByrd!)
- Remove old eventlistener (thanks @TheAngryByrd!)
- A new set of settings for excluding files from built-in analyzers (thanks @TheAngryByrd!)
- A new setting for choosing the ISourceText implementation, along with a Roslyn-based implementation (thanks @TheAngryByrd!)
- The Generate Xml Doc codefix now works on properties with getters and setters (thanks @dawedawe!)
- A new codefix for generating missing parameters and return types for XML Documentation (thanks @dawedawe!)
- The FSharp.Compiler.Services were updated to 43.7.300, matching the F# Compiler shipped in .NET 7.0.300 (thanks @TheAngryByrd!)
- A new codefix to add the 'private' access modifier to bindings and types (thanks @dawedawe!)
- Make the 'convert to positional DU pattern' codefix work in more cases (thanks @dawedawe!)
- Handle text changes when they are empty in the classic LSP Server (thanks @augustfengd!)
- Detect Expecto's Task-based tests (thanks @ratsclub!)
- Update Ionide.ProjInfo to get more logging (thanks @theangrybyrd!)
- Update tooltips and Info Panel documentation (thanks @MaximeMangel!)
- Update the xml doc generation codefix to work in more places (thanks @dawedawe!)
- Make async more pervasive in the codebase and use AsyncAdaptive values in the Adaptive LSP (thanks @theangrybyrd!)
- A new codefix to add the 'private' access modifier to bindings and types (thanks @dawedawe!)
- Make the 'convert to positional DU pattern' codefix work in more cases (thanks @dawedawe!)
- Handle text changes when they are empty in the classic LSP Server (thanks @augustfengd!)
- Detect Expecto's Task-based tests (thanks @ratsclub!)
- Update Ionide.ProjInfo to get more logging (thanks @theangrybyrd!)
- Update tooltips and Info Panel documentation (thanks @MaximeMangel!)
- Update the xml doc generation codefix to work in more places (thanks @dawedawe!)
- Make async more pervasive in the codebase and use AsyncAdaptive values in the Adaptive LSP (thanks @theangrybyrd!)
- The Adaptive Server no longer sends errors for
textDocument/documentHighlight
calls that there is no symbol information for (Thanks @haodeon!)
- A new command called
fsproj/renameFile
for renaming a file in the context of a particular project (thanks @MangelMaxime!)
- Only add a file once to a given project (Thanks @MangelMaxime!)
- Reduce memory consumption of the compiler typecheck cache (thanks @theangrybyrd!)
- To change the amount of typechecks kept by the compiler, change the
FSharp.fsac.cachedTypecheckCount
config value
- To change the amount of typechecks kept by the compiler, change the
- Adaptive server now only reloads specific projects that changed, rather than the entire workspace (Thanks @TheAngryByrd!)
- Don't trigger the 'Replace prefix with _' codefix on _ matches (Thanks @dawedawe!)
- Handle
workspace/didChangeConfiguration
requests that don't provide anFSharp
config property (thanks @razzmatazz!) - Some threadpool exhaustion fixes due to blocking threads (Thanks @TheAngyrByrd!)
- Fix Adaptive server to lazily load projects specified instead of loading all projects in the workspace (Thanks @TheAngryByrd!)
- A new codefix that converts 'bare' ///-comments to full XML documentation comments (thanks @dawedawe!)
- Enhancements to Find All References and Rename operations (thanks @BooksBaum and @theangrybyrd!)
- Internal errors no longer report as LSP protocol errors
- TestAdapterEntry items now include module information as well (thanks @kojo12228!)
- IndexOutOfRange issue in signatureHelp (thanks @vain0x!)
- ThreadPool exhaustion issue with ProgressListener (thanks @theangrybyrd!)
- The 'convert positional DU usage to named patterns' codefix now works with multiple match clauses in the same pattern (thanks @dawedawe!)
- Support for logging traces to a configured OpenTelemetry collector endpoint (thanks @theangrybyrd!)
- to use this, set the CLI argument
--otel-exporter-enabled
, and set theOTEL_EXPORTER_OTLP_ENDPOINT
the the URL of a reachable collector before launching the app - then, send the
fsharp.notifications.trace
configuration set totrue
, and the fsharp.notifications.traceNamespaces` configuration set to an array of string patterns for namespaces of activities to match on.
- to use this, set the CLI argument
- Updated the built-in Fantomas client to 0.9.0 (thanks @nojaf!)
- Brought tooltips using signatures into line with the design guidelines (thanks @dawedawe!)
- Flow through the
InlineValuesProvider
configuration as expected, to light up LSP support for inline values.
- Support for F# 7
- Note that as a side effect of this, some codefixes have been temporarily disabled. We'll be working on re-enabling them in the near future in conjuntions with the F# team.
fsharp/piplineHint
is now powered by the LSP InlineValues functionality (thanks @kaashyapan!)- Test fixes and enhancements for Adaptive mode (thanks @theangrybyrd!)
- Add textDocument/inlineValue from LSP 3.17
- InlineValue config option to shadow PipelineHint config option
- Fix inlayHints for typed params #1046
- Fix crash due to missing dependency on Microsoft.Extensions.Caching.Memory
- Speed, typechecking, memory usage improvements for Adaptive and normal LSP servers
- Don't compute all references unnecessarily
- The
FSharp.enableReferenceCodeLens
is deprecated, it's been replaced by theFSharp.codeLenses.references.enabled
setting.
- Fix reference resolution when there are refassemblies involved (thanks @theangrybyrd!)
- Fix tooltips for some member accesses (thanks @theangrybyrd!)
- Performance enhancements for AdaptiveLSPServer and file time fixes for both servers (thanks @theangrybyrd!)
- Safer directory traversal when probing for projects (thanks @sheridanchris!)
- Clear diagnostics and stale project options for removed files (thanks @MangelMaxime!)
- Experimental implementation of the LSP server based on FSharp.Data.Adaptive. It can be enabled by passing
--adaptive-lsp-server-enabled
on the CLI. (Thanks @TheAngryByrd!)
- Renamed fantomas-tool settings to fantomas (Thanks @nojaf!)
- Remove diagnostics for files that aren't in the workspace when they are closed (thanks @Booksbaum!)
- Improve performance/concurrency for checking files (thanks @Booksbaum!)
- Add
fsharp/addExistingFile
LSP command (Thanks @MangelMaxime!) - Support for .NET SDK 6.0.400 and 7.0.100
- Primary change was updating the Ionide.ProjInfo dependency
- Improvements/Fixes for unused declarations (thanks @Booksbaum!)
- Detect more cases when values are unused
- Fixes for associated codefix to remove or ignore the value
- Support removing files that are outside the fsproj directory (thanks @MangelMaxime!)
- Reverted back to full-text synchronization from incremental sync
- This didn't play well with the debounced checking that we do, so we need to rethink the interaction between the features
- Use incremental text sync instead of full text sync
- Nicer errors when CodeLenses cannot be resolved
- Removed compiler-generated and hidden types from the documentation endpoints (thanks @MangelMaxime!)
- Keywords should work in tooltips consistently now
- Prevent codelenses from getting out of sync with document source
- Added a new command fsharp/removeFile for removing a file from a project
- Clear stale errors when renaming a file
- Respect disabling in-memory project references
- Remove unused formatting from completion and signature items
- Performance regresssions in typechecking files
- Better precondition checking for adding new files to projects (thanks @MangelMaxime!)
- support CodeLenses for single-character identifiers
- Format range provider
- Info toolip for inlay hints
- Rename: Add backticks to name if necessary (thanks @Booksbaum!)
- Codelens for -1 reference no longer shown
- Remove backticks for signatures in signature help
- Tons of bugs and enhancements to InlayHints (thanks @Booksbaum!)
- Renames and reference counts are more accurate
- Fix index out of bounds in signature helpers (thanks @Booksbaum!)
- FAKE Integration
- Custom InlayHints - (fsharp/inlayHints, removed in favor of LSP inlayHints)
- IndexOutOfBounds exceptions that took down the process (thanks @BooksBaum!)
- Update Ionide.LanguageServerProtocol to get new types and fixes (thanks @BooksBaum!)
- Enable several features to be used with untitled/unsaved files (thanks @BooksBaum!)
- Shift+F1 help, Info Panel, Pipeline Hints, and Line Lens all work now for unsaved/untitled loose files
- This required an API change to the
fsharp/fileParsed
notification - it now returns a URI instead of a string - This required an API change to the
fsharp/pipelineHint
request - is is now{ TextDocument: TextDocumentIdentifier }
- Update Fantomas.Client to use new fantomas alpha if present (thanks @nojaf!)
- Alter logic for showing inlay hints to show fewer hints on parameters (thanks @Booksbaum!)
- New Codefix: rename parameter to match signature file (thanks @Booksbaum!)
- Config toggles for both kinds of code lenses
- Don't trigger inlay hints for typed bindings
- Updated to Ionide.LanguageServerProtocol 0.4.0
- Trigger fewer inlay hints for certain kinds of parameters
- Don't hardcode state file to my personal user directory
- Don't generate state file in an OS-specific way
- ImplementInterface code fix unification and improvements (thanks @Booksbaum!)
- More trigger locations and behavior fixes for the Add Explicit Type to Parameter CodeFix (thanks @Booksbaum!)
- New notification -
fsharp/testDetected
. This notification is fired per-file when tests are detected for the current file. The data in the payload can be used to run individual tests or groups of tests. - New endpoint - `fsharp/inlayHints. This provides support for type annotation and parameter name inlay hints.
- New codefix - convert erroring single-quoted interpolations to triple-quoted interpolations
- New command-line argument -
--state-directory
. Specified a folder to store workspace-specific FSAC data.
- Update to .NET 6 (Thanks @dsyme!)
- Update to FCS 41.0.3
- Update to Ionide.ProjInfo 0.58.2 to get fixes around the project loader loop, project cache, and legacy project support
- Completions for types are much better now (thanks @tboby!)
- Completions triggers on the first typed character (thanks @tboby!)
- New CLI Parser with support for auto-completion and nicer help
- Record stub generation works again
- The fsautocomplete.netcore.zip file that was previously added to the release announcement on GitHub is back again.
- Several corner cases around code fixes and many LSP server endpoints (part 2) (Thanks @Booksbaum!)
- Fix textDocument/publishDiagnostics sometimes not getting sent (Thanks @Booksbaum!)
- Fix completions in the middle of lines
- New release process driven by this Changelog
- Update Fantomas.Client to prefer stable versions (Thanks @nojaf)
- Moved to use the Ionide.LanguageServerProtocol shared nuget package
- Sourcelink's go-to-definition works better on windows for deterministic paths
- Fix missing commas in Info Panel generic type signatures (Thanks @jcmrva!)
- Fix off-by-1 error in the negation-to-subtraction codefix (Thanks @jasiozet!)
- BUGFIX: Fix background service
- BUGFIX: Fix File System
- ENHANCEMENT: Better handling of file typechecking after FCS 40 update
- BUGFIX: Fix regression in cross-project support after FCS 40 update in proj-info
- BUGFIX: Fix stuck code lenses (thanks @beauvankirk!)
- FEATURE: Support .Net 6 and F# 6
- BUGFIX: Bump Fantomas.Client to 0.3.1 (thanks @nojaf!)
- BUGFIX: update handling of langword and crefs in see xmldoc nodes
- BUGFIX: handle href elements on a, see, and xref xml doc comments
- FEATURE: Use user's managed Fantomas dotnet tool instead of embedding directly into FSAC (thanks @nojaf!)
- BUGFIX: Fix dotnet template rendering on non-english locales (thanks @jmiven)
- ENHANCEMENT: Don't provide completions or tooltips for string literals of all kinds This allows for other extensions to provide completions/hover tooltips for these strings when configured to do so
- BUGFIX: Fix loading of dotnet new templates (thanks @Happypig375)
- BUGFIX: Fix datatype for workspace/applyEdit request
- ENHANCEMENT: Update Fantomas to 4.5.0 stable (thanks @nojaf)
- ENHANCEMENT: Enable running on .net 6 via rollForward
NOTE: if you have both 5.0 and 6.0 SDKs installed, you must launch fsautocomplete by passing the
--fx-version
argument to the dotnet CLI. See the cli docs for more details.
- ENHANCEMENT: Make the Unused Value analyzer suggest single-underscore discards (thanks @pblasucci)
- ENHANCEMENT: Add new 'Add explicit type annotation' codefix This works for parameters, but not function-typed parameters
- BUGFIX: Align with LSP protocol around command fields Fixes an issue in Ionide-vim (thanks @cannorin)
- ENHANCEMENT: Reenable FSharpLint linting
- ENHANCEMENT: Update Fantomas dependency to latest prerelease
- BUGFIX: fix the dotnet tool packaging to include a missing dependency for code formatting
- BUGFIX: fix indentation and insert position for unopened namespaces (Thanks @Booksbaum)
- ENHANCEMENT: Render parameters that are functions with parens for readability
- Publish the dotnet tool fsautocomplete to nuget. It can be installed with
dotnet tool install fsautocomplete
.
- Improve memory usage by reducing string array allocations
- Fix fsharp/signature off-by-ones (Thanks @mhoogendoorn)
- Fix analyzer usage
- Add new codefixes
- Add missing self-identifier to instance member
- Refactor
typeof<'t>.Name
tonameof('t)
- Fix returned tokens in
textDocument/semanticTokens/full
andtextDocument/semanticTokens/range
to no longer return zero-length tokens.
- Improve edgecase detection when
- finding declarations
- finding type definitions
- getting symbol usages
- checking for inclusion in a file
- Improve overload detection in
textDocument/signatureHelp
for methods
- Fix regression in
textDocument/completion
introduced in 0.45.0
- Update Unused Binding CodeFix to handle more cases
- Enable faster typechecking when signature files are present for a module
- Happens transparently, but is mutually exclusive with analyzers.
- Refactors around tooltip signature generation
- Fix the display of units of measure in tooltips (
float<m/s>
instead offloat<MeasureInverse<MeasureProduct<.....>>>
) - Much better experience for signature help for function applications and method calls
- Update the Generate Abstract Class CodeFix to work for abstract classes that aren't defined in F#
- Update to Ionide.ProjInfo 0.51 to prevent workspace init deadlocks
- Fantomas updated to 4.4 stable
- FCS 39 update
- More codefixes!
- Fixed serialization of the FormattingOptions type to prevent server crashes
- Performance enhancements for the BackgroundService
- Many large changes, .Net 5 is required now
- Support for LSP semantic highlighting
- Fantomas upgrade to 4.4.0-beta-003
- FCS 38.0.2 upgrade
- Use Ionide.ProjInfo for the project system instead of the oen built into this repo
- Use local hosted msbuild to crack projects instead of managing builds ourselves
- Fix
PublishDiagnosticsCapabilities
type #574 by @Gastove - Set defaultDotNetSDKRoot on Linux correctly #576 by @Krzysztof-Cieslak
- Rework documentation parser #446 by @MangelMaxime
- Update FAKE integration #566 by @baronfel
- Update FSharp.Analyzers.SDK to 0.4 #568 by @baronfel
- Move Fantomas formatting to Core project #553 by @Krzysztof-Cieslak
- Fix return type in signatures in documentation formatter #554 by @Krzysztof-Cieslak
- Work around build infrastructure by @Krzysztof-Cieslak
- Allows analyzer paths to be absolute #555 by @Zaid-Ajaj
- Update FSI references version-finding algorithm to probe packs dir as well as runtimes dir #556 by @baronfel
- Update FSharp.Analyzers.SDK to 0.3.0 and make them available only in .Net Core build #557 by @Krzysztof-Cieslak
- upgrade to
FSharp.Compiler.Service
v28.0.0 - upgrade to
FSharpLint.Core
v0.10.8 - include symbolcache
runtimeconfig.json
anddeps.json
to .net core binaries - add
default.win32manifest
to .net core binaries - fix to allow run with only .NET Core Runtime 3 installed (previously v2.x was required) #364
- add go-to-implementation command (
symbolimplementation
)
- upgrade to
FSharp.Compiler.Service
v27.0.1 - upgrade to
FSharpLint.Core
v0.10.7
- upgrade to
FSharp.Compiler.Service
v26.0.1 (#338) - upgrade to
FSharpLint.Core
v0.10.5
- new project parser for old fsproj/fsx based on
Dotnet.ProjInfo
, enabled by default in .NET Core FSAC - add unused declarations diagnostic
- add simplified names analyzer
- add unused opens analyzer
- styling for XmlDocs and tooltips
- add find type declaration command
- adds autocomplete for external (from unopened namespaces and modules) symbols, provides information where and what
open
statements should be inserted - add workspaceLoad async command
- add notifications (project loading, etc). In http mode, using websocket
- add generic parameters to tooltips
- include keywords in autocomplete only when needed
- don't autocomplete for comments, strings etc
- add project cache
- watch file changes, to trigger project reloading
- implement record stub generator (#297)
- add background and persistent symbol cache out of process
- use dnspy libs to navigate to decompiled files for external libs (#299)
- fsac .NET runs as 64 bit exe
- add description for '=' symbol (#312)
- fix autocomplete for literal values (#316)
- support keywords in helptext command
- add interface stub generator (#327)
- support
FSharp.Analyzers.SDK
analyzer - upgrade to
FSharp.Compiler.Service
v25.0.1 - upgrade to
Dotnet.ProjInfo
v0.31.0 - upgrade to
FSharpLint.Core
v0.10.4
- support mixed dotnet langs projects (#173)
- add detailed errors info (#175)
- add hostPID command line arg (#190)
- add workspace peek command (#191)
- fix ci, .net core 2.0 RTM, normalize fsprojs (#197)
- fix linter crash (#206)
- single console app (#212)
- add sdk 2.0 support (#166)
- .NET Core project support
- Allow for inconsistent casing of "Fsharp" when detecting: #149.
- Improvements from downstream ionide fork:
- support msbuild15, same as preview2
- Add Background checking
- Performance updates for find usages
- Implement GetNamespaceSuggestions
- Update FSharpLint version
- Optimize GetNamespaceSuggestions
- Optimize GetDeclarations
- Add endpoint for F1 Help
- ... and more!
- (Some of these features only exposed currently via HTTP interface)
- Add parse errors, tooltips for keywords, and signatures for constructors: #135.
- Invalid release, ignore.
- Add EnclosingEntity and IsAbstract to Declaration contract: #129.
- Merge Ionide changes (#123):
- Glyphs
- Update dependencies
- Lint settings
- Keyword completion
- Add command for all declarations in known projects: #117.
- cache ProjectResponse, invalidate it if project file's last write time changed: #116.
- Add command to parse all known projects: #115.
- Merge Ionide changes (#110):
- Naive support for project.json (this probably will be dropped in futture but let's have it now)
- Better (file) paths normalization across different features
- Resolve scripts to latest .Net on Windows
- Make completion faster on Suave
- Depend on F# 4 (FSharp.Core deployed with application) instead of 4.3.1
- Fix Symboluseproject: #104.
- Backwards-incompatible: Make completions faster by not requiring a parse on each request: #99
- Add
SymbolUseProject
command: #101. - Add typesig command, that doesn't get Comment data: #73
- Add extraction of xmldoc from other assemblies (from .xml files).
- Normalize paths to source files from projects: #94.
- Set MinThreads to avoid deadlocks on Mono < 4.2.2: #92.
- Upgrade to FCS 2.0.0.4 to fix project cracking with spaces in paths: #91.
- Upgrade to FCS 2.0.0.3 to fix VS2015 project cracking: #89.
- Upgrade to FCS 2.0.0.0-beta and add project cracking verbosity option: #86.
- Add FSharpLint support: #83.
- Switch to depend on FSharp.Core 4.3.1.0: #81.
- Don't output a BOM to standard out: #82
- Fix for uncompiled referenced projects: #78.
- Backwards-incompatible: Framework no longer returned in
project
response.
- Add App.config to FsAutoComplete.Suave release: #76.
- Also for fsautocomplete.exe.
- Add Suave hosting for FSAC: #74.
- Backwards-incompatible: return GlyphName rather than code in
- Declarations message: #75.
- Fix StackOverflowException and encoding issue: #70.
- Backwards-incompatible: do not format help text, leave that to the client, which allows the display to be more semantic. #63 (due to @Krzysztof-Cieslak)
- Fix MSBuild v14 support on non-English systems by avoiding attempting to load *.resources.dll (patch from @ryun).
- Add a new
colorizations <true|false>
command to enable/disable asynchronous provision of colorization information following a parse: #60 (Fixes #44). - Newest FSharp.Core is used for type-checking scripts and for projects that do not reference FSharp.Core. Supports F# 3.0, 3.1 and 4.0: #59.
- If MSBuild v12 is not available, instead try load MSBuild v14. This, together with the previous point, adds support for VS2015-only Windows installs: #57. Fixes: #12 #21 #23 #25 #54.
- Backwards-incompatible:
compilerlocation
command has changed. Now provides path to best version of msbuild, fsc and fsi on Windows: #23.
- Backwards-incompatible: Symbol use command now includes FileName rather than Filename
- Reduce timeout message from 'error' to 'info'
- Update to FCS 1.4.X (support for F# 4.0): #52
- Automatically reparse F# project files if they are changed on disk: #47
- Fix exception in
symboluse
command: #46.
- Backwards-incompatible changes:
- Update helptext command to return { Name = ""; Text = "" }. Fixes #35.
project
command response now has 'null' for OutputFile and TargetFramework if a value cannot be determined.
- FSharp.CompilerBinding removed, and used parts absorbed. Fixes #17.
- ScriptCheckerOptions fetched with no timeout, and also stores them. Fixes #18, #28.
- If a .fs file is not in a loaded project, produce an incomplete typecheck environment for it to give basic results.
- Update parsing of project options to include ProjectReferences. Fixes #39.
- Separate parsing of commands, main command loop, and formatting of response message into separate modules.
- Add symboluse command - #34
- Breaking change: all columns returned are now 1-based. Format of error locations has also changed to be more consistent with other formats.
- Add param completion command - #30
- Update to FCS 0.0.90 (fix referencing PCL projects) - #26
- Prevent test assemblies from being included in release archives by avoiding forcing the output directory.
- Adjust for 1-based column indexing - #13
- Note that this was previously the intended behaviour, but column indexes were treated as 0-based. Ensure that both line and column indexes sent in commands are 1-based.
- Completion filtering - #10
- Implement multiple unsaved file checking - #8
- Add Glyphs to completion responses - #1