From 0d98d6fe7c39cdecbf4e9517f2b64ef9cd21b0c5 Mon Sep 17 00:00:00 2001 From: MrLuje Date: Sun, 15 Apr 2018 15:10:47 +0200 Subject: [PATCH 01/14] Add Framework completion in paket.dependencies --- .../Classifier/PaketDependenciesClassifier.cs | 2 +- .../IntelliSense/CompletionContextType.cs | 5 +-- .../IntelliSense/CompletionEngine.cs | 35 +++++++++++++++++-- 3 files changed, 37 insertions(+), 5 deletions(-) diff --git a/src/Paket.VisualStudio/IntelliSense/Classifier/PaketDependenciesClassifier.cs b/src/Paket.VisualStudio/IntelliSense/Classifier/PaketDependenciesClassifier.cs index 1a4e2ba70..fe03f6f30 100644 --- a/src/Paket.VisualStudio/IntelliSense/Classifier/PaketDependenciesClassifier.cs +++ b/src/Paket.VisualStudio/IntelliSense/Classifier/PaketDependenciesClassifier.cs @@ -15,7 +15,7 @@ internal class PaketDependenciesClassifier : IClassifier { "source", "nuget", "github", "gist", "http", "content", "references", "redirects", "group", - "strategy" + "strategy", "framework" }; public static IEnumerable ValidKeywords diff --git a/src/Paket.VisualStudio/IntelliSense/CompletionContextType.cs b/src/Paket.VisualStudio/IntelliSense/CompletionContextType.cs index 31ebadb1a..2b10e163c 100644 --- a/src/Paket.VisualStudio/IntelliSense/CompletionContextType.cs +++ b/src/Paket.VisualStudio/IntelliSense/CompletionContextType.cs @@ -6,6 +6,7 @@ public enum CompletionContextType InstalledNuGet, Source, Keyword, - Strategy + Strategy, + Framework } -} \ No newline at end of file +} diff --git a/src/Paket.VisualStudio/IntelliSense/CompletionEngine.cs b/src/Paket.VisualStudio/IntelliSense/CompletionEngine.cs index 01fb4f857..81633deb3 100644 --- a/src/Paket.VisualStudio/IntelliSense/CompletionEngine.cs +++ b/src/Paket.VisualStudio/IntelliSense/CompletionEngine.cs @@ -35,7 +35,35 @@ private static ExportProvider ExportProvider new PaketKeywordCompletionListProvider(ExportProvider.GetExport().Value), new NuGetNameCompletionListProvider(), new SourceCompletionListProvider(), - new SimpleOptionCompletionListProvider(CompletionContextType.Strategy, "min", "max") + new SimpleOptionCompletionListProvider(CompletionContextType.Strategy, "min", "max"), + new SimpleOptionCompletionListProvider(CompletionContextType.Framework, + "auto-detect", + "net35", + "net40", + "net45", + "net451", + "net452", + "net46", + "net461", + "net462", + "net47", + "netstandard1.0", + "netstandard1.1", + "netstandard1.2", + "netstandard1.3", + "netstandard1.4", + "netstandard1.5", + "netstandard1.6", + "netstandard2.0", + "netcoreapp1.0", + "netcoreapp1.1", + "netcoreapp2.0", + "uap", + "wp7", + "wp75", + "wp8", + "wp81", + "wpa81"), }; public static IEnumerable GetCompletionProviders(IIntellisenseSession session, ITextBuffer textBuffer, SnapshotPoint position, ITextStructureNavigator navigator, out CompletionContext context) @@ -70,7 +98,7 @@ private static CompletionContext GetCompletionContext(PaketDocument paketDocumen { TextExtent endPosition = navigator.GetExtentOfWord(position - 1); TextExtent startPosition = endPosition; - + // try to extend the span over . while (!String.IsNullOrWhiteSpace(paketDocument.GetCharAt(startPosition.Span.Start.Position - 1))) { @@ -89,6 +117,7 @@ private static CompletionContext GetCompletionContext(PaketDocument paketDocumen pos = startPosition.Span.Start - 1; TextExtent previous = navigator.GetExtentOfWord(pos); + // try to extend the span over blanks while (paketDocument.GetCharAt(previous.Span.Start.Position) == " ") { @@ -105,6 +134,8 @@ private static CompletionContext GetCompletionContext(PaketDocument paketDocumen case "nuget": context.ContextType = CompletionContextType.NuGet; break; case "source": context.ContextType = CompletionContextType.Source; break; case "strategy": context.ContextType = CompletionContextType.Strategy; break; + case "framework": context.ContextType = CompletionContextType.Framework; break; + case "version": context.ContextType = CompletionContextType.Version; break; default: context.ContextType = CompletionContextType.Keyword; break; } From 2a27869fb5518fc817e46f01d694d42f932f7271 Mon Sep 17 00:00:00 2001 From: MrLuje Date: Sun, 15 Apr 2018 17:52:20 +0200 Subject: [PATCH 02/14] Fix paket.dependencies keyword classification --- .../IntelliSense/Classifier/PaketDependenciesClassifier.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Paket.VisualStudio/IntelliSense/Classifier/PaketDependenciesClassifier.cs b/src/Paket.VisualStudio/IntelliSense/Classifier/PaketDependenciesClassifier.cs index fe03f6f30..eccbefcf3 100644 --- a/src/Paket.VisualStudio/IntelliSense/Classifier/PaketDependenciesClassifier.cs +++ b/src/Paket.VisualStudio/IntelliSense/Classifier/PaketDependenciesClassifier.cs @@ -46,7 +46,7 @@ public IList GetClassificationSpans(SnapshotSpan span) { var trimmed = text.TrimStart(); var offset = text.Length - trimmed.Length; - string[] args = trimmed.Split(' '); + string[] args = trimmed.Split(' ', ':'); if (args.Length >= 2 && ValidKeywords.Contains(args[0].Trim().ToLowerInvariant())) { From 1cd8b73ba2bed4809f9b61f2eda47315acdbf440 Mon Sep 17 00:00:00 2001 From: MrLuje Date: Sun, 15 Apr 2018 20:05:40 +0200 Subject: [PATCH 03/14] Add version completion in paket.dependencies --- .../IntelliSense/Classifier/PaketDependenciesClassifier.cs | 2 +- src/Paket.VisualStudio/IntelliSense/CompletionContextType.cs | 3 ++- src/Paket.VisualStudio/IntelliSense/CompletionEngine.cs | 1 + 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/Paket.VisualStudio/IntelliSense/Classifier/PaketDependenciesClassifier.cs b/src/Paket.VisualStudio/IntelliSense/Classifier/PaketDependenciesClassifier.cs index eccbefcf3..721e28881 100644 --- a/src/Paket.VisualStudio/IntelliSense/Classifier/PaketDependenciesClassifier.cs +++ b/src/Paket.VisualStudio/IntelliSense/Classifier/PaketDependenciesClassifier.cs @@ -15,7 +15,7 @@ internal class PaketDependenciesClassifier : IClassifier { "source", "nuget", "github", "gist", "http", "content", "references", "redirects", "group", - "strategy", "framework" + "strategy", "framework", "version" }; public static IEnumerable ValidKeywords diff --git a/src/Paket.VisualStudio/IntelliSense/CompletionContextType.cs b/src/Paket.VisualStudio/IntelliSense/CompletionContextType.cs index 2b10e163c..12daa5a2b 100644 --- a/src/Paket.VisualStudio/IntelliSense/CompletionContextType.cs +++ b/src/Paket.VisualStudio/IntelliSense/CompletionContextType.cs @@ -7,6 +7,7 @@ public enum CompletionContextType Source, Keyword, Strategy, - Framework + Framework, + Version } } diff --git a/src/Paket.VisualStudio/IntelliSense/CompletionEngine.cs b/src/Paket.VisualStudio/IntelliSense/CompletionEngine.cs index 81633deb3..bfea03863 100644 --- a/src/Paket.VisualStudio/IntelliSense/CompletionEngine.cs +++ b/src/Paket.VisualStudio/IntelliSense/CompletionEngine.cs @@ -64,6 +64,7 @@ private static ExportProvider ExportProvider "wp8", "wp81", "wpa81"), + new SimpleOptionCompletionListProvider(CompletionContextType.Version, "", "--prefer-nuget") }; public static IEnumerable GetCompletionProviders(IIntellisenseSession session, ITextBuffer textBuffer, SnapshotPoint position, ITextStructureNavigator navigator, out CompletionContext context) From 9b663b3bc9eea52048443d16ba0dd5ea60cf2e50 Mon Sep 17 00:00:00 2001 From: MrLuje Date: Sun, 15 Apr 2018 20:10:26 +0200 Subject: [PATCH 04/14] Add storage completion in paket.dependencies --- .../IntelliSense/Classifier/PaketDependenciesClassifier.cs | 2 +- src/Paket.VisualStudio/IntelliSense/CompletionContextType.cs | 3 ++- src/Paket.VisualStudio/IntelliSense/CompletionEngine.cs | 4 +++- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/Paket.VisualStudio/IntelliSense/Classifier/PaketDependenciesClassifier.cs b/src/Paket.VisualStudio/IntelliSense/Classifier/PaketDependenciesClassifier.cs index 721e28881..d1880865b 100644 --- a/src/Paket.VisualStudio/IntelliSense/Classifier/PaketDependenciesClassifier.cs +++ b/src/Paket.VisualStudio/IntelliSense/Classifier/PaketDependenciesClassifier.cs @@ -15,7 +15,7 @@ internal class PaketDependenciesClassifier : IClassifier { "source", "nuget", "github", "gist", "http", "content", "references", "redirects", "group", - "strategy", "framework", "version" + "strategy", "framework", "version", "storage" }; public static IEnumerable ValidKeywords diff --git a/src/Paket.VisualStudio/IntelliSense/CompletionContextType.cs b/src/Paket.VisualStudio/IntelliSense/CompletionContextType.cs index 12daa5a2b..1ba4e10c4 100644 --- a/src/Paket.VisualStudio/IntelliSense/CompletionContextType.cs +++ b/src/Paket.VisualStudio/IntelliSense/CompletionContextType.cs @@ -8,6 +8,7 @@ public enum CompletionContextType Keyword, Strategy, Framework, - Version + Version, + Storage } } diff --git a/src/Paket.VisualStudio/IntelliSense/CompletionEngine.cs b/src/Paket.VisualStudio/IntelliSense/CompletionEngine.cs index bfea03863..4d6f89597 100644 --- a/src/Paket.VisualStudio/IntelliSense/CompletionEngine.cs +++ b/src/Paket.VisualStudio/IntelliSense/CompletionEngine.cs @@ -64,7 +64,8 @@ private static ExportProvider ExportProvider "wp8", "wp81", "wpa81"), - new SimpleOptionCompletionListProvider(CompletionContextType.Version, "", "--prefer-nuget") + new SimpleOptionCompletionListProvider(CompletionContextType.Version, "", "--prefer-nuget"), + new SimpleOptionCompletionListProvider(CompletionContextType.Storage, "none", "packages", "symlink"), }; public static IEnumerable GetCompletionProviders(IIntellisenseSession session, ITextBuffer textBuffer, SnapshotPoint position, ITextStructureNavigator navigator, out CompletionContext context) @@ -137,6 +138,7 @@ private static CompletionContext GetCompletionContext(PaketDocument paketDocumen case "strategy": context.ContextType = CompletionContextType.Strategy; break; case "framework": context.ContextType = CompletionContextType.Framework; break; case "version": context.ContextType = CompletionContextType.Version; break; + case "storage": context.ContextType = CompletionContextType.Storage; break; default: context.ContextType = CompletionContextType.Keyword; break; } From 9603b3be454f5edbb287ffb996903363e5753b67 Mon Sep 17 00:00:00 2001 From: MrLuje Date: Sun, 15 Apr 2018 20:13:15 +0200 Subject: [PATCH 05/14] Add content completion in paket.dependencies --- .../IntelliSense/Classifier/PaketDependenciesClassifier.cs | 2 +- src/Paket.VisualStudio/IntelliSense/CompletionContextType.cs | 3 ++- src/Paket.VisualStudio/IntelliSense/CompletionEngine.cs | 2 ++ 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/Paket.VisualStudio/IntelliSense/Classifier/PaketDependenciesClassifier.cs b/src/Paket.VisualStudio/IntelliSense/Classifier/PaketDependenciesClassifier.cs index d1880865b..99f673096 100644 --- a/src/Paket.VisualStudio/IntelliSense/Classifier/PaketDependenciesClassifier.cs +++ b/src/Paket.VisualStudio/IntelliSense/Classifier/PaketDependenciesClassifier.cs @@ -15,7 +15,7 @@ internal class PaketDependenciesClassifier : IClassifier { "source", "nuget", "github", "gist", "http", "content", "references", "redirects", "group", - "strategy", "framework", "version", "storage" + "strategy", "framework", "version", "storage", "content" }; public static IEnumerable ValidKeywords diff --git a/src/Paket.VisualStudio/IntelliSense/CompletionContextType.cs b/src/Paket.VisualStudio/IntelliSense/CompletionContextType.cs index 1ba4e10c4..1b8c6550c 100644 --- a/src/Paket.VisualStudio/IntelliSense/CompletionContextType.cs +++ b/src/Paket.VisualStudio/IntelliSense/CompletionContextType.cs @@ -9,6 +9,7 @@ public enum CompletionContextType Strategy, Framework, Version, - Storage + Storage, + Content } } diff --git a/src/Paket.VisualStudio/IntelliSense/CompletionEngine.cs b/src/Paket.VisualStudio/IntelliSense/CompletionEngine.cs index 4d6f89597..ca4ba2413 100644 --- a/src/Paket.VisualStudio/IntelliSense/CompletionEngine.cs +++ b/src/Paket.VisualStudio/IntelliSense/CompletionEngine.cs @@ -66,6 +66,7 @@ private static ExportProvider ExportProvider "wpa81"), new SimpleOptionCompletionListProvider(CompletionContextType.Version, "", "--prefer-nuget"), new SimpleOptionCompletionListProvider(CompletionContextType.Storage, "none", "packages", "symlink"), + new SimpleOptionCompletionListProvider(CompletionContextType.Content, "none", "once"), }; public static IEnumerable GetCompletionProviders(IIntellisenseSession session, ITextBuffer textBuffer, SnapshotPoint position, ITextStructureNavigator navigator, out CompletionContext context) @@ -139,6 +140,7 @@ private static CompletionContext GetCompletionContext(PaketDocument paketDocumen case "framework": context.ContextType = CompletionContextType.Framework; break; case "version": context.ContextType = CompletionContextType.Version; break; case "storage": context.ContextType = CompletionContextType.Storage; break; + case "content": context.ContextType = CompletionContextType.Content; break; default: context.ContextType = CompletionContextType.Keyword; break; } From 1a7d97d63426383949a50096f3140d07f4f2cec2 Mon Sep 17 00:00:00 2001 From: MrLuje Date: Sun, 15 Apr 2018 20:16:54 +0200 Subject: [PATCH 06/14] Add copy_content_to_output_dir completion in paket.dependencies --- .../IntelliSense/Classifier/PaketDependenciesClassifier.cs | 3 ++- src/Paket.VisualStudio/IntelliSense/CompletionContextType.cs | 3 ++- src/Paket.VisualStudio/IntelliSense/CompletionEngine.cs | 2 ++ 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/Paket.VisualStudio/IntelliSense/Classifier/PaketDependenciesClassifier.cs b/src/Paket.VisualStudio/IntelliSense/Classifier/PaketDependenciesClassifier.cs index 99f673096..5bad5d9c8 100644 --- a/src/Paket.VisualStudio/IntelliSense/Classifier/PaketDependenciesClassifier.cs +++ b/src/Paket.VisualStudio/IntelliSense/Classifier/PaketDependenciesClassifier.cs @@ -15,7 +15,8 @@ internal class PaketDependenciesClassifier : IClassifier { "source", "nuget", "github", "gist", "http", "content", "references", "redirects", "group", - "strategy", "framework", "version", "storage", "content" + "strategy", "framework", "version", "storage", "content", + "copy_content_to_output_dir" }; public static IEnumerable ValidKeywords diff --git a/src/Paket.VisualStudio/IntelliSense/CompletionContextType.cs b/src/Paket.VisualStudio/IntelliSense/CompletionContextType.cs index 1b8c6550c..960f16813 100644 --- a/src/Paket.VisualStudio/IntelliSense/CompletionContextType.cs +++ b/src/Paket.VisualStudio/IntelliSense/CompletionContextType.cs @@ -10,6 +10,7 @@ public enum CompletionContextType Framework, Version, Storage, - Content + Content, + CopyToOutputDirectory } } diff --git a/src/Paket.VisualStudio/IntelliSense/CompletionEngine.cs b/src/Paket.VisualStudio/IntelliSense/CompletionEngine.cs index ca4ba2413..decd5d9e6 100644 --- a/src/Paket.VisualStudio/IntelliSense/CompletionEngine.cs +++ b/src/Paket.VisualStudio/IntelliSense/CompletionEngine.cs @@ -67,6 +67,7 @@ private static ExportProvider ExportProvider new SimpleOptionCompletionListProvider(CompletionContextType.Version, "", "--prefer-nuget"), new SimpleOptionCompletionListProvider(CompletionContextType.Storage, "none", "packages", "symlink"), new SimpleOptionCompletionListProvider(CompletionContextType.Content, "none", "once"), + new SimpleOptionCompletionListProvider(CompletionContextType.CopyToOutputDirectory, "always", "never", "preserve_newest"), }; public static IEnumerable GetCompletionProviders(IIntellisenseSession session, ITextBuffer textBuffer, SnapshotPoint position, ITextStructureNavigator navigator, out CompletionContext context) @@ -141,6 +142,7 @@ private static CompletionContext GetCompletionContext(PaketDocument paketDocumen case "version": context.ContextType = CompletionContextType.Version; break; case "storage": context.ContextType = CompletionContextType.Storage; break; case "content": context.ContextType = CompletionContextType.Content; break; + case "copy_content_to_output_dir": context.ContextType = CompletionContextType.CopyToOutputDirectory; break; default: context.ContextType = CompletionContextType.Keyword; break; } From 48228b67e3b66d55034067fca44f8674ea5c420d Mon Sep 17 00:00:00 2001 From: MrLuje Date: Sun, 15 Apr 2018 20:19:08 +0200 Subject: [PATCH 07/14] Add copy_local completion in paket.dependencies --- .../IntelliSense/Classifier/PaketDependenciesClassifier.cs | 2 +- src/Paket.VisualStudio/IntelliSense/CompletionContextType.cs | 3 ++- src/Paket.VisualStudio/IntelliSense/CompletionEngine.cs | 2 ++ 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/Paket.VisualStudio/IntelliSense/Classifier/PaketDependenciesClassifier.cs b/src/Paket.VisualStudio/IntelliSense/Classifier/PaketDependenciesClassifier.cs index 5bad5d9c8..2f7d3ca69 100644 --- a/src/Paket.VisualStudio/IntelliSense/Classifier/PaketDependenciesClassifier.cs +++ b/src/Paket.VisualStudio/IntelliSense/Classifier/PaketDependenciesClassifier.cs @@ -16,7 +16,7 @@ internal class PaketDependenciesClassifier : IClassifier "source", "nuget", "github", "gist", "http", "content", "references", "redirects", "group", "strategy", "framework", "version", "storage", "content", - "copy_content_to_output_dir" + "copy_content_to_output_dir", "copy_local" }; public static IEnumerable ValidKeywords diff --git a/src/Paket.VisualStudio/IntelliSense/CompletionContextType.cs b/src/Paket.VisualStudio/IntelliSense/CompletionContextType.cs index 960f16813..c1b81b019 100644 --- a/src/Paket.VisualStudio/IntelliSense/CompletionContextType.cs +++ b/src/Paket.VisualStudio/IntelliSense/CompletionContextType.cs @@ -11,6 +11,7 @@ public enum CompletionContextType Version, Storage, Content, - CopyToOutputDirectory + CopyToOutputDirectory, + CopyLocal } } diff --git a/src/Paket.VisualStudio/IntelliSense/CompletionEngine.cs b/src/Paket.VisualStudio/IntelliSense/CompletionEngine.cs index decd5d9e6..f4713376f 100644 --- a/src/Paket.VisualStudio/IntelliSense/CompletionEngine.cs +++ b/src/Paket.VisualStudio/IntelliSense/CompletionEngine.cs @@ -68,6 +68,7 @@ private static ExportProvider ExportProvider new SimpleOptionCompletionListProvider(CompletionContextType.Storage, "none", "packages", "symlink"), new SimpleOptionCompletionListProvider(CompletionContextType.Content, "none", "once"), new SimpleOptionCompletionListProvider(CompletionContextType.CopyToOutputDirectory, "always", "never", "preserve_newest"), + new SimpleOptionCompletionListProvider(CompletionContextType.CopyLocal, "copy_local", "true", "false"), }; public static IEnumerable GetCompletionProviders(IIntellisenseSession session, ITextBuffer textBuffer, SnapshotPoint position, ITextStructureNavigator navigator, out CompletionContext context) @@ -143,6 +144,7 @@ private static CompletionContext GetCompletionContext(PaketDocument paketDocumen case "storage": context.ContextType = CompletionContextType.Storage; break; case "content": context.ContextType = CompletionContextType.Content; break; case "copy_content_to_output_dir": context.ContextType = CompletionContextType.CopyToOutputDirectory; break; + case "copy_local": context.ContextType = CompletionContextType.CopyLocal; break; default: context.ContextType = CompletionContextType.Keyword; break; } From 5cd0189489aad47bfa162ca615154c74d2e14dbc Mon Sep 17 00:00:00 2001 From: MrLuje Date: Sun, 15 Apr 2018 20:20:59 +0200 Subject: [PATCH 08/14] Add import_targets completion in paket.dependencies --- .../IntelliSense/Classifier/PaketDependenciesClassifier.cs | 2 +- src/Paket.VisualStudio/IntelliSense/CompletionContextType.cs | 3 ++- src/Paket.VisualStudio/IntelliSense/CompletionEngine.cs | 2 ++ 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/Paket.VisualStudio/IntelliSense/Classifier/PaketDependenciesClassifier.cs b/src/Paket.VisualStudio/IntelliSense/Classifier/PaketDependenciesClassifier.cs index 2f7d3ca69..419e8902b 100644 --- a/src/Paket.VisualStudio/IntelliSense/Classifier/PaketDependenciesClassifier.cs +++ b/src/Paket.VisualStudio/IntelliSense/Classifier/PaketDependenciesClassifier.cs @@ -16,7 +16,7 @@ internal class PaketDependenciesClassifier : IClassifier "source", "nuget", "github", "gist", "http", "content", "references", "redirects", "group", "strategy", "framework", "version", "storage", "content", - "copy_content_to_output_dir", "copy_local" + "copy_content_to_output_dir", "copy_local", "import_targets" }; public static IEnumerable ValidKeywords diff --git a/src/Paket.VisualStudio/IntelliSense/CompletionContextType.cs b/src/Paket.VisualStudio/IntelliSense/CompletionContextType.cs index c1b81b019..703b7fe9b 100644 --- a/src/Paket.VisualStudio/IntelliSense/CompletionContextType.cs +++ b/src/Paket.VisualStudio/IntelliSense/CompletionContextType.cs @@ -12,6 +12,7 @@ public enum CompletionContextType Storage, Content, CopyToOutputDirectory, - CopyLocal + CopyLocal, + ImportTargets } } diff --git a/src/Paket.VisualStudio/IntelliSense/CompletionEngine.cs b/src/Paket.VisualStudio/IntelliSense/CompletionEngine.cs index f4713376f..624c779fc 100644 --- a/src/Paket.VisualStudio/IntelliSense/CompletionEngine.cs +++ b/src/Paket.VisualStudio/IntelliSense/CompletionEngine.cs @@ -69,6 +69,7 @@ private static ExportProvider ExportProvider new SimpleOptionCompletionListProvider(CompletionContextType.Content, "none", "once"), new SimpleOptionCompletionListProvider(CompletionContextType.CopyToOutputDirectory, "always", "never", "preserve_newest"), new SimpleOptionCompletionListProvider(CompletionContextType.CopyLocal, "copy_local", "true", "false"), + new SimpleOptionCompletionListProvider(CompletionContextType.ImportTargets, "import_targets", "true", "false"), }; public static IEnumerable GetCompletionProviders(IIntellisenseSession session, ITextBuffer textBuffer, SnapshotPoint position, ITextStructureNavigator navigator, out CompletionContext context) @@ -145,6 +146,7 @@ private static CompletionContext GetCompletionContext(PaketDocument paketDocumen case "content": context.ContextType = CompletionContextType.Content; break; case "copy_content_to_output_dir": context.ContextType = CompletionContextType.CopyToOutputDirectory; break; case "copy_local": context.ContextType = CompletionContextType.CopyLocal; break; + case "import_targets": context.ContextType = CompletionContextType.ImportTargets; break; default: context.ContextType = CompletionContextType.Keyword; break; } From b06c4156e17787a494054112a3270186404424ac Mon Sep 17 00:00:00 2001 From: MrLuje Date: Sun, 15 Apr 2018 20:22:04 +0200 Subject: [PATCH 09/14] Add download_license completion in paket.dependencies --- .../IntelliSense/Classifier/PaketDependenciesClassifier.cs | 3 ++- src/Paket.VisualStudio/IntelliSense/CompletionContextType.cs | 3 ++- src/Paket.VisualStudio/IntelliSense/CompletionEngine.cs | 2 ++ 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/Paket.VisualStudio/IntelliSense/Classifier/PaketDependenciesClassifier.cs b/src/Paket.VisualStudio/IntelliSense/Classifier/PaketDependenciesClassifier.cs index 419e8902b..52575bb43 100644 --- a/src/Paket.VisualStudio/IntelliSense/Classifier/PaketDependenciesClassifier.cs +++ b/src/Paket.VisualStudio/IntelliSense/Classifier/PaketDependenciesClassifier.cs @@ -16,7 +16,8 @@ internal class PaketDependenciesClassifier : IClassifier "source", "nuget", "github", "gist", "http", "content", "references", "redirects", "group", "strategy", "framework", "version", "storage", "content", - "copy_content_to_output_dir", "copy_local", "import_targets" + "copy_content_to_output_dir", "copy_local", "import_targets", + "download_license" }; public static IEnumerable ValidKeywords diff --git a/src/Paket.VisualStudio/IntelliSense/CompletionContextType.cs b/src/Paket.VisualStudio/IntelliSense/CompletionContextType.cs index 703b7fe9b..930219140 100644 --- a/src/Paket.VisualStudio/IntelliSense/CompletionContextType.cs +++ b/src/Paket.VisualStudio/IntelliSense/CompletionContextType.cs @@ -13,6 +13,7 @@ public enum CompletionContextType Content, CopyToOutputDirectory, CopyLocal, - ImportTargets + ImportTargets, + DownloadLicense } } diff --git a/src/Paket.VisualStudio/IntelliSense/CompletionEngine.cs b/src/Paket.VisualStudio/IntelliSense/CompletionEngine.cs index 624c779fc..f84840285 100644 --- a/src/Paket.VisualStudio/IntelliSense/CompletionEngine.cs +++ b/src/Paket.VisualStudio/IntelliSense/CompletionEngine.cs @@ -70,6 +70,7 @@ private static ExportProvider ExportProvider new SimpleOptionCompletionListProvider(CompletionContextType.CopyToOutputDirectory, "always", "never", "preserve_newest"), new SimpleOptionCompletionListProvider(CompletionContextType.CopyLocal, "copy_local", "true", "false"), new SimpleOptionCompletionListProvider(CompletionContextType.ImportTargets, "import_targets", "true", "false"), + new SimpleOptionCompletionListProvider(CompletionContextType.DownloadLicense, "download_license", "true", "false"), }; public static IEnumerable GetCompletionProviders(IIntellisenseSession session, ITextBuffer textBuffer, SnapshotPoint position, ITextStructureNavigator navigator, out CompletionContext context) @@ -147,6 +148,7 @@ private static CompletionContext GetCompletionContext(PaketDocument paketDocumen case "copy_content_to_output_dir": context.ContextType = CompletionContextType.CopyToOutputDirectory; break; case "copy_local": context.ContextType = CompletionContextType.CopyLocal; break; case "import_targets": context.ContextType = CompletionContextType.ImportTargets; break; + case "download_license": context.ContextType = CompletionContextType.DownloadLicense; break; default: context.ContextType = CompletionContextType.Keyword; break; } From c9b27b1e38cf2ef0ac96992c629d4cb95d9e2210 Mon Sep 17 00:00:00 2001 From: MrLuje Date: Sun, 15 Apr 2018 20:28:50 +0200 Subject: [PATCH 10/14] Add redirects completion in paket.dependencies --- src/Paket.VisualStudio/IntelliSense/CompletionContextType.cs | 3 ++- src/Paket.VisualStudio/IntelliSense/CompletionEngine.cs | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/src/Paket.VisualStudio/IntelliSense/CompletionContextType.cs b/src/Paket.VisualStudio/IntelliSense/CompletionContextType.cs index 930219140..c94ea465b 100644 --- a/src/Paket.VisualStudio/IntelliSense/CompletionContextType.cs +++ b/src/Paket.VisualStudio/IntelliSense/CompletionContextType.cs @@ -14,6 +14,7 @@ public enum CompletionContextType CopyToOutputDirectory, CopyLocal, ImportTargets, - DownloadLicense + DownloadLicense, + Redirects } } diff --git a/src/Paket.VisualStudio/IntelliSense/CompletionEngine.cs b/src/Paket.VisualStudio/IntelliSense/CompletionEngine.cs index f84840285..e8de2160c 100644 --- a/src/Paket.VisualStudio/IntelliSense/CompletionEngine.cs +++ b/src/Paket.VisualStudio/IntelliSense/CompletionEngine.cs @@ -149,6 +149,7 @@ private static CompletionContext GetCompletionContext(PaketDocument paketDocumen case "copy_local": context.ContextType = CompletionContextType.CopyLocal; break; case "import_targets": context.ContextType = CompletionContextType.ImportTargets; break; case "download_license": context.ContextType = CompletionContextType.DownloadLicense; break; + case "redirects": context.ContextType = CompletionContextType.Redirects; break; default: context.ContextType = CompletionContextType.Keyword; break; } From e9a9ab7142bce43377ea8ee007a4efacdc6b5e0c Mon Sep 17 00:00:00 2001 From: MrLuje Date: Sun, 15 Apr 2018 23:09:44 +0200 Subject: [PATCH 11/14] Add lowest_matching completion in paket.dependencies --- .../IntelliSense/Classifier/PaketDependenciesClassifier.cs | 2 +- src/Paket.VisualStudio/IntelliSense/CompletionContextType.cs | 3 ++- src/Paket.VisualStudio/IntelliSense/CompletionEngine.cs | 2 ++ 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/Paket.VisualStudio/IntelliSense/Classifier/PaketDependenciesClassifier.cs b/src/Paket.VisualStudio/IntelliSense/Classifier/PaketDependenciesClassifier.cs index 52575bb43..f3f9d4d56 100644 --- a/src/Paket.VisualStudio/IntelliSense/Classifier/PaketDependenciesClassifier.cs +++ b/src/Paket.VisualStudio/IntelliSense/Classifier/PaketDependenciesClassifier.cs @@ -17,7 +17,7 @@ internal class PaketDependenciesClassifier : IClassifier "content", "references", "redirects", "group", "strategy", "framework", "version", "storage", "content", "copy_content_to_output_dir", "copy_local", "import_targets", - "download_license" + "download_license", "lowest_matching" }; public static IEnumerable ValidKeywords diff --git a/src/Paket.VisualStudio/IntelliSense/CompletionContextType.cs b/src/Paket.VisualStudio/IntelliSense/CompletionContextType.cs index c94ea465b..35f940ce6 100644 --- a/src/Paket.VisualStudio/IntelliSense/CompletionContextType.cs +++ b/src/Paket.VisualStudio/IntelliSense/CompletionContextType.cs @@ -15,6 +15,7 @@ public enum CompletionContextType CopyLocal, ImportTargets, DownloadLicense, - Redirects + Redirects, + LowestMatching } } diff --git a/src/Paket.VisualStudio/IntelliSense/CompletionEngine.cs b/src/Paket.VisualStudio/IntelliSense/CompletionEngine.cs index e8de2160c..e7f142375 100644 --- a/src/Paket.VisualStudio/IntelliSense/CompletionEngine.cs +++ b/src/Paket.VisualStudio/IntelliSense/CompletionEngine.cs @@ -71,6 +71,7 @@ private static ExportProvider ExportProvider new SimpleOptionCompletionListProvider(CompletionContextType.CopyLocal, "copy_local", "true", "false"), new SimpleOptionCompletionListProvider(CompletionContextType.ImportTargets, "import_targets", "true", "false"), new SimpleOptionCompletionListProvider(CompletionContextType.DownloadLicense, "download_license", "true", "false"), + new SimpleOptionCompletionListProvider(CompletionContextType.LowestMatching, "lowest_matching", "true", "false"), }; public static IEnumerable GetCompletionProviders(IIntellisenseSession session, ITextBuffer textBuffer, SnapshotPoint position, ITextStructureNavigator navigator, out CompletionContext context) @@ -150,6 +151,7 @@ private static CompletionContext GetCompletionContext(PaketDocument paketDocumen case "import_targets": context.ContextType = CompletionContextType.ImportTargets; break; case "download_license": context.ContextType = CompletionContextType.DownloadLicense; break; case "redirects": context.ContextType = CompletionContextType.Redirects; break; + case "lowest_matching": context.ContextType = CompletionContextType.LowestMatching; break; default: context.ContextType = CompletionContextType.Keyword; break; } From 640bdef6041b246674f601faf480259aaff0056f Mon Sep 17 00:00:00 2001 From: MrLuje Date: Sun, 15 Apr 2018 23:11:10 +0200 Subject: [PATCH 12/14] Add generate_load_scripts completion in paket.dependencies --- .../IntelliSense/Classifier/PaketDependenciesClassifier.cs | 2 +- src/Paket.VisualStudio/IntelliSense/CompletionContextType.cs | 3 ++- src/Paket.VisualStudio/IntelliSense/CompletionEngine.cs | 2 ++ 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/Paket.VisualStudio/IntelliSense/Classifier/PaketDependenciesClassifier.cs b/src/Paket.VisualStudio/IntelliSense/Classifier/PaketDependenciesClassifier.cs index f3f9d4d56..ec25c402e 100644 --- a/src/Paket.VisualStudio/IntelliSense/Classifier/PaketDependenciesClassifier.cs +++ b/src/Paket.VisualStudio/IntelliSense/Classifier/PaketDependenciesClassifier.cs @@ -17,7 +17,7 @@ internal class PaketDependenciesClassifier : IClassifier "content", "references", "redirects", "group", "strategy", "framework", "version", "storage", "content", "copy_content_to_output_dir", "copy_local", "import_targets", - "download_license", "lowest_matching" + "download_license", "lowest_matching", "generate_load_scripts" }; public static IEnumerable ValidKeywords diff --git a/src/Paket.VisualStudio/IntelliSense/CompletionContextType.cs b/src/Paket.VisualStudio/IntelliSense/CompletionContextType.cs index 35f940ce6..b7749975b 100644 --- a/src/Paket.VisualStudio/IntelliSense/CompletionContextType.cs +++ b/src/Paket.VisualStudio/IntelliSense/CompletionContextType.cs @@ -16,6 +16,7 @@ public enum CompletionContextType ImportTargets, DownloadLicense, Redirects, - LowestMatching + LowestMatching, + GenerateLoadScripts } } diff --git a/src/Paket.VisualStudio/IntelliSense/CompletionEngine.cs b/src/Paket.VisualStudio/IntelliSense/CompletionEngine.cs index e7f142375..f3d63b383 100644 --- a/src/Paket.VisualStudio/IntelliSense/CompletionEngine.cs +++ b/src/Paket.VisualStudio/IntelliSense/CompletionEngine.cs @@ -72,6 +72,7 @@ private static ExportProvider ExportProvider new SimpleOptionCompletionListProvider(CompletionContextType.ImportTargets, "import_targets", "true", "false"), new SimpleOptionCompletionListProvider(CompletionContextType.DownloadLicense, "download_license", "true", "false"), new SimpleOptionCompletionListProvider(CompletionContextType.LowestMatching, "lowest_matching", "true", "false"), + new SimpleOptionCompletionListProvider(CompletionContextType.GenerateLoadScripts, "generate_load_scripts", "true", "false"), }; public static IEnumerable GetCompletionProviders(IIntellisenseSession session, ITextBuffer textBuffer, SnapshotPoint position, ITextStructureNavigator navigator, out CompletionContext context) @@ -152,6 +153,7 @@ private static CompletionContext GetCompletionContext(PaketDocument paketDocumen case "download_license": context.ContextType = CompletionContextType.DownloadLicense; break; case "redirects": context.ContextType = CompletionContextType.Redirects; break; case "lowest_matching": context.ContextType = CompletionContextType.LowestMatching; break; + case "generate_load_scripts": context.ContextType = CompletionContextType.GenerateLoadScripts; break; default: context.ContextType = CompletionContextType.Keyword; break; } From 65b77e2646402c3c2118415ee5bbf8e40b59294e Mon Sep 17 00:00:00 2001 From: MrLuje Date: Tue, 17 Apr 2018 00:06:41 +0200 Subject: [PATCH 13/14] Remove bad keyword completion + add completion for redirects --- .../IntelliSense/CompletionEngine.cs | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/src/Paket.VisualStudio/IntelliSense/CompletionEngine.cs b/src/Paket.VisualStudio/IntelliSense/CompletionEngine.cs index f3d63b383..da5bf2457 100644 --- a/src/Paket.VisualStudio/IntelliSense/CompletionEngine.cs +++ b/src/Paket.VisualStudio/IntelliSense/CompletionEngine.cs @@ -68,11 +68,12 @@ private static ExportProvider ExportProvider new SimpleOptionCompletionListProvider(CompletionContextType.Storage, "none", "packages", "symlink"), new SimpleOptionCompletionListProvider(CompletionContextType.Content, "none", "once"), new SimpleOptionCompletionListProvider(CompletionContextType.CopyToOutputDirectory, "always", "never", "preserve_newest"), - new SimpleOptionCompletionListProvider(CompletionContextType.CopyLocal, "copy_local", "true", "false"), - new SimpleOptionCompletionListProvider(CompletionContextType.ImportTargets, "import_targets", "true", "false"), - new SimpleOptionCompletionListProvider(CompletionContextType.DownloadLicense, "download_license", "true", "false"), - new SimpleOptionCompletionListProvider(CompletionContextType.LowestMatching, "lowest_matching", "true", "false"), - new SimpleOptionCompletionListProvider(CompletionContextType.GenerateLoadScripts, "generate_load_scripts", "true", "false"), + new SimpleOptionCompletionListProvider(CompletionContextType.CopyLocal, "true", "false"), + new SimpleOptionCompletionListProvider(CompletionContextType.ImportTargets, "true", "false"), + new SimpleOptionCompletionListProvider(CompletionContextType.DownloadLicense, "true", "false"), + new SimpleOptionCompletionListProvider(CompletionContextType.Redirects, "off", "on", "force"), + new SimpleOptionCompletionListProvider(CompletionContextType.LowestMatching, "true", "false"), + new SimpleOptionCompletionListProvider(CompletionContextType.GenerateLoadScripts, "true", "false"), }; public static IEnumerable GetCompletionProviders(IIntellisenseSession session, ITextBuffer textBuffer, SnapshotPoint position, ITextStructureNavigator navigator, out CompletionContext context) @@ -240,4 +241,4 @@ private static CompletionContext GetCompletionContext(PaketDocument paketDocumen return context; } } -} \ No newline at end of file +} From bbf33e19eb2bdc2ec693801d5325c64eb2be4059 Mon Sep 17 00:00:00 2001 From: MrLuje Date: Wed, 18 Apr 2018 09:22:15 +0200 Subject: [PATCH 14/14] Add references completion in paket.dependencies --- src/Paket.VisualStudio/IntelliSense/CompletionContextType.cs | 3 ++- src/Paket.VisualStudio/IntelliSense/CompletionEngine.cs | 2 ++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/Paket.VisualStudio/IntelliSense/CompletionContextType.cs b/src/Paket.VisualStudio/IntelliSense/CompletionContextType.cs index b7749975b..28df88042 100644 --- a/src/Paket.VisualStudio/IntelliSense/CompletionContextType.cs +++ b/src/Paket.VisualStudio/IntelliSense/CompletionContextType.cs @@ -17,6 +17,7 @@ public enum CompletionContextType DownloadLicense, Redirects, LowestMatching, - GenerateLoadScripts + GenerateLoadScripts, + References } } diff --git a/src/Paket.VisualStudio/IntelliSense/CompletionEngine.cs b/src/Paket.VisualStudio/IntelliSense/CompletionEngine.cs index da5bf2457..5fb714f9b 100644 --- a/src/Paket.VisualStudio/IntelliSense/CompletionEngine.cs +++ b/src/Paket.VisualStudio/IntelliSense/CompletionEngine.cs @@ -74,6 +74,7 @@ private static ExportProvider ExportProvider new SimpleOptionCompletionListProvider(CompletionContextType.Redirects, "off", "on", "force"), new SimpleOptionCompletionListProvider(CompletionContextType.LowestMatching, "true", "false"), new SimpleOptionCompletionListProvider(CompletionContextType.GenerateLoadScripts, "true", "false"), + new SimpleOptionCompletionListProvider(CompletionContextType.References, "strict"), }; public static IEnumerable GetCompletionProviders(IIntellisenseSession session, ITextBuffer textBuffer, SnapshotPoint position, ITextStructureNavigator navigator, out CompletionContext context) @@ -155,6 +156,7 @@ private static CompletionContext GetCompletionContext(PaketDocument paketDocumen case "redirects": context.ContextType = CompletionContextType.Redirects; break; case "lowest_matching": context.ContextType = CompletionContextType.LowestMatching; break; case "generate_load_scripts": context.ContextType = CompletionContextType.GenerateLoadScripts; break; + case "references": context.ContextType = CompletionContextType.References; break; default: context.ContextType = CompletionContextType.Keyword; break; }