From e0420e93158a4cfca8cf80a08bdb6374ceab981d Mon Sep 17 00:00:00 2001 From: Deukhoofd Date: Thu, 29 Nov 2018 18:13:45 +0100 Subject: [PATCH] Support for setting userdata types, validating them and autocompleting them --- Client/out/extension.js | 4 +- Client/out/extension.js.map | 2 +- Client/src/extension.ts | 4 +- UpsilonLanguageServer/Lib/Upsilon.dll | Bin 146432 -> 148480 bytes UpsilonLanguageServer/Lib/Upsilon.pdb | Bin 51896 -> 53212 bytes .../UpsilonLanguageServer/BoundTypeParser.cs | 58 ++++++++++++++++++ .../Services/InitializationService.cs | 10 +++ .../Services/TextDocumentServer.cs | 29 +++++++-- .../Services/WorkspaceService.cs | 20 +++++- 9 files changed, 116 insertions(+), 11 deletions(-) create mode 100644 UpsilonLanguageServer/UpsilonLanguageServer/BoundTypeParser.cs diff --git a/Client/out/extension.js b/Client/out/extension.js index ecd425a..f36ce08 100644 --- a/Client/out/extension.js +++ b/Client/out/extension.js @@ -57,7 +57,8 @@ function activateLanguageServer(context) { fileEvents: [ vscode.workspace.createFileSystemWatcher("**/.clientrc"), vscode.workspace.createFileSystemWatcher("**/.yup"), - vscode.workspace.createFileSystemWatcher("**/.lua") + vscode.workspace.createFileSystemWatcher("**/.lua"), + vscode.workspace.createFileSystemWatcher("**/.upsilon/*.json") ] } }; @@ -78,5 +79,4 @@ exports.activate = activate; // this method is called when your extension is deactivated function deactivate() { } exports.deactivate = deactivate; -6; //# sourceMappingURL=extension.js.map \ No newline at end of file diff --git a/Client/out/extension.js.map b/Client/out/extension.js.map index 1ec128d..c716d56 100644 --- a/Client/out/extension.js.map +++ b/Client/out/extension.js.map @@ -1 +1 @@ -{"version":3,"file":"extension.js","sourceRoot":"","sources":["../src/extension.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AACb,6DAA6D;AAC7D,8EAA8E;AAE9E,iCAAiC;AACjC,wDAAwD;AACxD,6BAA6B;AAC7B,yBAAyB;AAEzB,mEAAmE;AACnE,MAAM,mBAAmB,GAAG;IAC1B,+BAA+B;IAC/B,kGAAkG;CACnG,CAAC;AAEF,SAAS,sBAAsB,CAAC,OAAgC;IAC9D,0DAA0D;IAC1D,IAAI,YAAY,GAAW,IAAI,CAAC;IAChC,KAAK,IAAI,CAAC,IAAI,mBAAmB,EAAE;QACjC,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;QAC9B,kBAAkB;QAClB,IAAI,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE;YACpB,YAAY,GAAG,CAAC,CAAC;YACjB,MAAM;SACP;KACF;IACD,IAAI,CAAC,YAAY;QACf,MAAM,IAAI,QAAQ,CAAC,yCAAyC,CAAC,CAAC;IAChE,IAAI,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAC1C,OAAO,CAAC,GAAG,CAAC,OAAO,YAAY,oBAAoB,CAAC,CAAC;IACrD,OAAO,CAAC,GAAG,CAAC,cAAc,QAAQ,GAAG,CAAC,CAAC;IAEvC,oFAAoF;IACpF,qCAAqC;IACrC,IAAI,aAAa,GAAiC;QAChD,GAAG,EAAE;YACH,OAAO,EAAE,QAAQ;YACjB,IAAI,EAAE,CAAC,YAAY,CAAC;YACpB,OAAO,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE;SAC3B;QACD,KAAK,EAAE;YACL,OAAO,EAAE,QAAQ;YACjB,IAAI,EAAE,CAAC,YAAY,EAAE,SAAS,CAAC;YAC/B,OAAO,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE;SAC3B;KACF,CAAC;IACF,yCAAyC;IACzC,IAAI,aAAa,GAAyC;QACxD,+CAA+C;QAC/C,gBAAgB,EAAE;YAChB;gBACE,QAAQ,EAAE,SAAS;gBACnB,MAAM,EAAE,MAAM;aACf;SACF;QACD,WAAW,EAAE;YACX,wEAAwE;YACxE,oBAAoB,EAAE,uBAAuB;YAC7C,oFAAoF;YACpF,UAAU,EAAE;gBACV,MAAM,CAAC,SAAS,CAAC,uBAAuB,CAAC,cAAc,CAAC;gBACxD,MAAM,CAAC,SAAS,CAAC,uBAAuB,CAAC,SAAS,CAAC;gBACnD,MAAM,CAAC,SAAS,CAAC,uBAAuB,CAAC,SAAS,CAAC;aACpD;SACF;KACF,CAAC;IAEF,mDAAmD;IACnD,IAAI,MAAM,GAAG,IAAI,cAAc,CAAC,cAAc,CAC5C,uBAAuB,EACvB,yBAAyB,EACzB,aAAa,EACb,aAAa,CACd,CAAC;IACF,IAAI,UAAU,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;IAEhC,iEAAiE;IACjE,sDAAsD;IACtD,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AACzC,CAAC;AAED,yDAAyD;AACzD,0EAA0E;AAC1E,SAAgB,QAAQ,CAAC,OAAgC;IACvD,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;IACnD,sBAAsB,CAAC,OAAO,CAAC,CAAC;AAClC,CAAC;AAHD,4BAGC;AAED,2DAA2D;AAC3D,SAAgB,UAAU,KAAI,CAAC;AAA/B,gCAA+B;AAC/B,CAAC,CAAC"} \ No newline at end of file +{"version":3,"file":"extension.js","sourceRoot":"","sources":["../src/extension.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AACb,6DAA6D;AAC7D,8EAA8E;AAE9E,iCAAiC;AACjC,wDAAwD;AACxD,6BAA6B;AAC7B,yBAAyB;AAEzB,mEAAmE;AACnE,MAAM,mBAAmB,GAAG;IAC1B,+BAA+B;IAC/B,kGAAkG;CACnG,CAAC;AAEF,SAAS,sBAAsB,CAAC,OAAgC;IAC9D,0DAA0D;IAC1D,IAAI,YAAY,GAAW,IAAI,CAAC;IAChC,KAAK,IAAI,CAAC,IAAI,mBAAmB,EAAE;QACjC,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;QAC9B,kBAAkB;QAClB,IAAI,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE;YACpB,YAAY,GAAG,CAAC,CAAC;YACjB,MAAM;SACP;KACF;IACD,IAAI,CAAC,YAAY;QACf,MAAM,IAAI,QAAQ,CAAC,yCAAyC,CAAC,CAAC;IAChE,IAAI,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAC1C,OAAO,CAAC,GAAG,CAAC,OAAO,YAAY,oBAAoB,CAAC,CAAC;IACrD,OAAO,CAAC,GAAG,CAAC,cAAc,QAAQ,GAAG,CAAC,CAAC;IAEvC,oFAAoF;IACpF,qCAAqC;IACrC,IAAI,aAAa,GAAiC;QAChD,GAAG,EAAE;YACH,OAAO,EAAE,QAAQ;YACjB,IAAI,EAAE,CAAC,YAAY,CAAC;YACpB,OAAO,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE;SAC3B;QACD,KAAK,EAAE;YACL,OAAO,EAAE,QAAQ;YACjB,IAAI,EAAE,CAAC,YAAY,EAAE,SAAS,CAAC;YAC/B,OAAO,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE;SAC3B;KACF,CAAC;IACF,yCAAyC;IACzC,IAAI,aAAa,GAAyC;QACxD,+CAA+C;QAC/C,gBAAgB,EAAE;YAChB;gBACE,QAAQ,EAAE,SAAS;gBACnB,MAAM,EAAE,MAAM;aACf;SACF;QACD,WAAW,EAAE;YACX,wEAAwE;YACxE,oBAAoB,EAAE,uBAAuB;YAC7C,oFAAoF;YACpF,UAAU,EAAE;gBACV,MAAM,CAAC,SAAS,CAAC,uBAAuB,CAAC,cAAc,CAAC;gBACxD,MAAM,CAAC,SAAS,CAAC,uBAAuB,CAAC,SAAS,CAAC;gBACnD,MAAM,CAAC,SAAS,CAAC,uBAAuB,CAAC,SAAS,CAAC;gBACnD,MAAM,CAAC,SAAS,CAAC,uBAAuB,CAAC,oBAAoB,CAAC;aAC/D;SACF;KACF,CAAC;IAEF,mDAAmD;IACnD,IAAI,MAAM,GAAG,IAAI,cAAc,CAAC,cAAc,CAC5C,uBAAuB,EACvB,yBAAyB,EACzB,aAAa,EACb,aAAa,CACd,CAAC;IACF,IAAI,UAAU,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;IAEhC,iEAAiE;IACjE,sDAAsD;IACtD,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AACzC,CAAC;AAED,yDAAyD;AACzD,0EAA0E;AAC1E,SAAgB,QAAQ,CAAC,OAAgC;IACvD,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;IACnD,sBAAsB,CAAC,OAAO,CAAC,CAAC;AAClC,CAAC;AAHD,4BAGC;AAED,2DAA2D;AAC3D,SAAgB,UAAU,KAAI,CAAC;AAA/B,gCAA+B"} \ No newline at end of file diff --git a/Client/src/extension.ts b/Client/src/extension.ts index 5dcf853..516d61b 100644 --- a/Client/src/extension.ts +++ b/Client/src/extension.ts @@ -60,7 +60,8 @@ function activateLanguageServer(context: vscode.ExtensionContext) { fileEvents: [ vscode.workspace.createFileSystemWatcher("**/.clientrc"), vscode.workspace.createFileSystemWatcher("**/.yup"), - vscode.workspace.createFileSystemWatcher("**/.lua") + vscode.workspace.createFileSystemWatcher("**/.lua"), + vscode.workspace.createFileSystemWatcher("**/.upsilon/*.json") ] } }; @@ -88,4 +89,3 @@ export function activate(context: vscode.ExtensionContext) { // this method is called when your extension is deactivated export function deactivate() {} -6; diff --git a/UpsilonLanguageServer/Lib/Upsilon.dll b/UpsilonLanguageServer/Lib/Upsilon.dll index 7143acf26efbebe54a7c814f997cd21f0917ed5c..7105f35654926f9890cb553831db81895127a2d3 100644 GIT binary patch literal 148480 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
& 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 PHQx;QzyJQnY2g0?7NFT{ literal 146432 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 Mf&TB`|2_@;e_Q=5+yDRo diff --git a/UpsilonLanguageServer/Lib/Upsilon.pdb b/UpsilonLanguageServer/Lib/Upsilon.pdb index 18bd1273a8b4a7fa6652f13bbf9c6abfc5008eb3..b5cfd3a19c0e410a312d026173efb43a2f8660dd 100644 GIT binary patch literal 53212 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 diff --git a/UpsilonLanguageServer/UpsilonLanguageServer/BoundTypeParser.cs b/UpsilonLanguageServer/UpsilonLanguageServer/BoundTypeParser.cs new file mode 100644 index 0000000..68fd64f --- /dev/null +++ b/UpsilonLanguageServer/UpsilonLanguageServer/BoundTypeParser.cs @@ -0,0 +1,58 @@ +using System; +using System.Collections.Generic; +using Newtonsoft.Json; +using Newtonsoft.Json.Linq; +using Upsilon.BoundTypes; +using Type = Upsilon.BaseTypes.Type; + +namespace UpsilonLanguageServer +{ + public static class BoundTypeParser + { + public static void LoadBoundTypes(string fileContent) + { + BoundTypeHandler.Reset(); + var json = JObject.Parse(fileContent); + foreach (var prop in json.Properties()) + { + var typeName = prop.Name; + var dic = new Dictionary(); + var innerProperties = ((JObject)prop.Value).Properties(); + foreach (var innerProperty in innerProperties) + { + var propertyName = innerProperty.Name; + var value = (JObject)innerProperty.Value; + var type = value.GetValue("type", StringComparison.InvariantCultureIgnoreCase)?.ToString(); + var comment = value.GetValue("comment", StringComparison.InvariantCultureIgnoreCase)?.ToString(); + dic.Add(propertyName, new UserDataBoundProperty() + { + Name = propertyName, + ActualType = type, + Comment = comment, + //TODO + Type = ParseType(type) + }); + } + + BoundTypeHandler.LoadUserDataTypeDefinition(new UserDataBoundTypeDefinition(typeName, dic)); + } + + } + + private static Type ParseType(string input) + { + if (string.Equals(input, "string", StringComparison.InvariantCultureIgnoreCase)) + return Type.String; + if (string.Equals(input, "number", StringComparison.InvariantCultureIgnoreCase)) + return Type.Number; + if (string.Equals(input, "bool", StringComparison.InvariantCultureIgnoreCase)) + return Type.Boolean; + if (string.Equals(input, "table", StringComparison.InvariantCultureIgnoreCase)) + return Type.Table; + if (string.Equals(input, "function", StringComparison.InvariantCultureIgnoreCase)) + return Type.Function; + + return Type.UserData; + } + } +} \ No newline at end of file diff --git a/UpsilonLanguageServer/UpsilonLanguageServer/Services/InitializationService.cs b/UpsilonLanguageServer/UpsilonLanguageServer/Services/InitializationService.cs index 57de099..a71870c 100644 --- a/UpsilonLanguageServer/UpsilonLanguageServer/Services/InitializationService.cs +++ b/UpsilonLanguageServer/UpsilonLanguageServer/Services/InitializationService.cs @@ -1,4 +1,5 @@ using System; +using System.IO; using System.Threading.Tasks; using JsonRpc.Standard; using JsonRpc.Standard.Contracts; @@ -16,6 +17,15 @@ namespace UpsilonLanguageServer.Services public InitializeResult Initialize(int processId, Uri rootUri, ClientCapabilities capabilities, JToken initializationOptions = null, string trace = null) { + if (rootUri != null) + { + var configPath = rootUri.AbsolutePath + "/.upsilon"; + var typesConfigFile = configPath + "/types.json"; + if (File.Exists(typesConfigFile)) + { + BoundTypeParser.LoadBoundTypes(File.ReadAllText(typesConfigFile)); + } + } return new InitializeResult(new ServerCapabilities { HoverProvider = true, diff --git a/UpsilonLanguageServer/UpsilonLanguageServer/Services/TextDocumentServer.cs b/UpsilonLanguageServer/UpsilonLanguageServer/Services/TextDocumentServer.cs index 76b6e56..722f438 100644 --- a/UpsilonLanguageServer/UpsilonLanguageServer/Services/TextDocumentServer.cs +++ b/UpsilonLanguageServer/UpsilonLanguageServer/Services/TextDocumentServer.cs @@ -1,3 +1,4 @@ +using System; using System.Collections.Generic; using System.Linq; using System.Text; @@ -6,9 +7,8 @@ using System.Threading.Tasks; using JsonRpc.Standard.Contracts; using LanguageServer.VsCode; using LanguageServer.VsCode.Contracts; -using LanguageServer.VsCode.Server; using Upsilon.Binder; -using Upsilon.Parser; +using Upsilon.BoundTypes; using Upsilon.Utilities; namespace UpsilonLanguageServer.Services @@ -62,16 +62,24 @@ namespace UpsilonLanguageServer.Services [JsonRpcMethod] public SignatureHelp SignatureHelp(TextDocumentIdentifier textDocument, Position position) { + // TODO return new SignatureHelp(new List { - new SignatureInformation("**Function1**", "Documentation1"), - new SignatureInformation("**Function2** test", "Documentation2"), }); } [JsonRpcMethod(IsNotification = true)] public async Task DidOpen(TextDocumentItem textDocument) { + if (textDocument.Uri.IsUntitled()) + { + var workspace = Session.Client.Workspace; + if (workspace != null) + { + + } + } + var doc = new SessionDocument(textDocument); var session = Session; doc.DocumentChanged += async (sender, args) => @@ -126,6 +134,17 @@ namespace UpsilonLanguageServer.Services var findNode = doc.Bound.GetBottomNodeAtPosition(linePos + position.Character - 2); if (findNode is BoundVariableSymbol variableSymbol) { + if (variableSymbol.VariableSymbol is FunctionParameterSymbol parameterSymbol && + parameterSymbol.BoundTypeDefinition is UserDataBoundTypeDefinition udBoundDef) + { + return new CompletionList( + udBoundDef.Properties.Select(x => + { + var (key, value) = x; + return new CompletionItem(key, CompletionItemKind.Variable, + $"{value.ActualType}({value.Type})", $"{value.Comment}", null); + })); + } if (variableSymbol.VariableSymbol is TableVariableSymbol tableSymbol) { return new CompletionList( @@ -136,7 +155,7 @@ namespace UpsilonLanguageServer.Services CompletionItemKind.Variable, value.Type.ToString(), x.Value.CommentValue == null ? "" - : $"\n\n{string.Join(" \n", value.CommentValue)}"); + : $"{string.Join(" \n", value.CommentValue)}", null); })); } } diff --git a/UpsilonLanguageServer/UpsilonLanguageServer/Services/WorkspaceService.cs b/UpsilonLanguageServer/UpsilonLanguageServer/Services/WorkspaceService.cs index 4e134d6..3ceed29 100644 --- a/UpsilonLanguageServer/UpsilonLanguageServer/Services/WorkspaceService.cs +++ b/UpsilonLanguageServer/UpsilonLanguageServer/Services/WorkspaceService.cs @@ -4,6 +4,7 @@ using System.IO; using System.Threading.Tasks; using JsonRpc.Standard.Contracts; using LanguageServer.VsCode.Contracts; +using Upsilon.BoundTypes; namespace UpsilonLanguageServer.Services { @@ -46,7 +47,24 @@ namespace UpsilonLanguageServer.Services await Client.Document.PublishDiagnostics(change.Uri, new Diagnostic[0]); } } - + else if (string.Equals(Path.GetExtension(localPath), ".json", + StringComparison.InvariantCultureIgnoreCase)) + { + var name = Path.GetFileName(localPath); + if (string.Equals(Path.GetFileName(localPath), "types.json", + StringComparison.InvariantCultureIgnoreCase)) + { + if (change.Type == FileChangeType.Created || change.Type == FileChangeType.Changed) + { + BoundTypeParser.LoadBoundTypes(File.ReadAllText(localPath)); + foreach (var doc in Session.Documents.Values) + { + var diag = await DiagnosticProvider.LintDocument(doc.Document, doc, Session.Settings.MaxNumberOfProblems); + await Client.Document.PublishDiagnostics(doc.Document.Uri, diag); + } + } + } + } } } }