protected override Result <InitializeResult, ResponseError <InitializeErrorData> > Initialize(InitializeParams @params) { workspaceRoot = @params.RootUri; project = new Project(workspaceRoot); completionProvider = new CompletionProvider(project); signatureHelpProvider = new SignatureHelpProvider(project); hoverProvider = new HoverProvider(project); project.Documents.OnChanged += DocumentChanged; return(Result <InitializeResult, ResponseError <InitializeErrorData> > .Success(new InitializeResult { Capabilities = new ServerCapabilities { TextDocumentSync = TextDocumentSyncKind.Full, CompletionProvider = new CompletionOptions { TriggerCharacters = new[] { ".", " " }, ResolveProvider = false }, SignatureHelpProvider = new SignatureHelpOptions { TriggerCharacters = new[] { "(", "," } }, HoverProvider = true } })); }