Skip to content
This repository was archived by the owner on Oct 4, 2021. It is now read-only.

[F#] Extraneous extra quotes are added while typing double or single-quotes #8975

@knocte

Description

@knocte

Steps to reproduce (A):

  1. Create new F# Console Project (Other -> .NET)
    Result: this .fs file is created:
[<EntryPoint>]
let main argv =
    printfn "%A" argv
    0 // return an integer exit code
  1. Place the caret anywhere inside the main method.
  2. Write printfn "

Expected results: either nothing should happen, or, at the very least, only one extra double-quote character should be written, to make the string value be closed (and place the caret inside, so the string can be written by the user).

Current results: two extra double-quote characters are written, forcing the user to have to remove one. But the most annoying thing about this workaround, is that if you remove the 2nd double-quote character, two characters are removed! and if you try to write one more to close the string, two double-quote characters are added! and you're back to the same situation. The only thing that the user can do then, is place the caret at the end of the line, and remove the last double-quote character (instead of the 2nd one).

Similar thing happens with single-quote characters, so:

Steps to reproduce (B):

  1. Create new F# Console Project (Other -> .NET)
    Result: this .fs file is created:
[<EntryPoint>]
let main argv =
    printfn "%A" argv
    0 // return an integer exit code
  1. Place the caret anywhere above the [<EntryPoint>] element.
  2. Type type Foo<' (quotes are used in F# to name generic parameters).

Expected results: nothing should happen (single quotes don't denote the beginning of a string, or even a char, in F#).

Current results: two extra single-quote characters are written, forcing the user to have to remove them.

Version info:

Visual Studio Community 2019 for Mac
Version 8.3.4 (build 8)
Installation UUID: f1ac04c3-a36e-4506-9a4c-6e43815df7fa
	GTK+ 2.24.23 (Raleigh theme)
	Xamarin.Mac 5.16.1.24 (d16-3 / 08809f5b)

	Package version: 604000208

Mono Framework MDK
Runtime:
	Mono 6.4.0.208 (2019-06/07c23f2ca43) (64-bit)
	Package version: 604000208

NuGet
Version: 5.3.0.6192

.NET Core SDK
SDK: /usr/local/share/dotnet/sdk/3.0.100/Sdks
SDK Versions:
	3.0.100
	2.1.701
	2.1.700
	2.1.505
MSBuild SDKs: /Library/Frameworks/Mono.framework/Versions/6.4.0/lib/mono/msbuild/Current/bin/Sdks

.NET Core Runtime
Runtime: /usr/local/share/dotnet/dotnet
Runtime Versions:
	3.0.0
	2.1.13
	2.1.12
	2.1.11
	2.1.9

Xamarin.Profiler
Version: 1.6.12.26
Location: /Applications/Xamarin Profiler.app/Contents/MacOS/Xamarin Profiler

Updater
Version: 11

Xamarin.Android
Version: 10.0.3.0 (Visual Studio Community)
Commit: xamarin-android/d16-3/4d45b41
Android SDK: /Users/knocte/Library/Developer/Xamarin/android-sdk-macosx
	Supported Android versions:
		8.0 (API level 26)
		8.1 (API level 27)

SDK Tools Version: 26.1.1
SDK Platform Tools Version: 29.0.4
SDK Build Tools Version: 28.0.3

Build Information: 
Mono: mono/mono/2019-06@5608fe0abb3
Java.Interop: xamarin/java.interop/d16-3@5836f58
LibZipSharp: grendello/LibZipSharp/d16-3@71f4a94
LibZip: nih-at/libzip/rel-1-5-1@b95cf3fd
ProGuard: xamarin/proguard/master@905836d
SQLite: xamarin/sqlite/3.27.1@8212a2d
Xamarin.Android Tools: xamarin/xamarin-android-tools/d16-3@cb41333

Microsoft Mobile OpenJDK
Java SDK: /Users/knocte/Library/Developer/Xamarin/jdk/microsoft_dist_openjdk_1.8.0.25
1.8.0-25
Android Designer EPL code available here:
https://github.com/xamarin/AndroidDesigner.EPL

Android SDK Manager
Version: 1.4.0.65
Hash: c33b107
Branch: remotes/origin/d16-3
Build date: 2019-10-08 23:36:20 UTC

Android Device Manager
Version: 1.2.0.116
Hash: d2b2af0
Branch: remotes/origin/d16-3
Build date: 2019-10-08 23:36:44 UTC

Xamarin Designer
Version: 16.3.0.247
Hash: 52eac1a9e
Branch: remotes/origin/d16-3
Build date: 2019-10-03 23:04:28 UTC

Apple Developer Tools
Xcode 11.0 (14936)
Build 11A420a

Xamarin.Mac
Version: 6.4.0.2 (Visual Studio Community)
Hash: e37549bc
Branch: xcode11.1
Build date: 2019-10-07 22:43:23-0400

Xamarin.iOS
Version: 13.4.0.2 (Visual Studio Community)
Hash: e37549bc
Branch: xcode11.1
Build date: 2019-10-07 22:43:23-0400

Xamarin Inspector
Version: 1.4.3
Hash: db27525
Branch: 1.4-release
Build date: Mon, 09 Jul 2018 21:20:18 GMT
Client compatibility: 1

Build Information
Release ID: 803040008
Git revision: 8da5857bc3d33e5667cacaab3bd1ab55375ed3e3
Build date: 2019-10-14 18:26:13+00
Build branch: release-8.3
Xamarin extensions: 61c91e660a01512a3b8187c749fd3bccc75a2bf4

Operating System
Mac OS X 10.14.6
Darwin 18.7.0 Darwin Kernel Version 18.7.0
    Tue Aug 20 16:57:14 PDT 2019
    root:xnu-4903.271.2~2/RELEASE_X86_64 x86_64

VS bug #1003489

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions