public bool TryCreateContext(ITextView textView, SnapshotPoint openingPoint, char openingBrace, char closingBrace, out IBraceCompletionContext context) { context = null; //if (!this.roslynInstalled.HasValue) //{ // this.roslynInstalled = new bool?(this.CheckRoslyn()); //} //if (!this.roslynInstalled.Value) //{ ITextDocument document = null; if (/*!this.ServiceRunning() ||*/ !this.TryGetTextDocument(textView, out document)) { return(false); } Genero4glLanguageInfo languageInfo = new Genero4glLanguageInfo(/*this.CompilationHost,*/ this.completionBroker, openingPoint.Snapshot.TextBuffer, document.FilePath); if (!languageInfo.IsValidContext(openingPoint)) { return(false); } switch (openingBrace) { //case '<': // if (!languageInfo.IsPossibleTypeVariableDecl(openingPoint)) // { // return false; // } // context = new NormalCompletionContext(languageInfo); // return true; case '[': case '(': context = new NormalCompletionContext(languageInfo); return(true); case '{': context = new CurlyBraceContext(languageInfo); return(true); case '\'': case '"': context = new LiteralCompletionContext(languageInfo); return(true); } //} return(false); }
// Methods public LiteralCompletionContext(Genero4glLanguageInfo languageInfo) : base(languageInfo) { }
// Methods public CurlyBraceContext(Genero4glLanguageInfo languageInfo) : base(languageInfo) { }
// Methods public NormalCompletionContext(Genero4glLanguageInfo languageInfo) { this.LanguageInfo = languageInfo; }