|
hoshi-lang dev
Yet another programming language
|
#include <completion.h>
Public Member Functions | |
| CompletionList | provide (Document *doc, const Position &pos) |
Private Member Functions | |
| std::vector< CompletionItem > | keywordCompletions (const std::string &prefix) |
| std::vector< CompletionItem > | useModuleCompletions (Document *doc, const std::string &prefix) |
| std::vector< CompletionItem > | usePathCompletions (Document *doc, const std::string &pathPrefix) |
| std::vector< CompletionItem > | symbolCompletions (Document *doc, const std::string &prefix, int cursorLine) |
| std::vector< CompletionItem > | crossModuleCompletions (Document *doc, const std::string &prefix) |
| std::vector< CompletionItem > | memberCompletions (Document *doc, const std::string &parent, const std::string &prefix, int cursorLine=-1) |
| std::vector< CompletionItem > | resolveModuleCompletionsFromText (Document *doc, const std::string &parent, const std::string &prefix) |
| std::vector< CompletionItem > | completionsForType (Document *doc, const yoi::wstr &typeName, const std::string &prefix) |
| std::vector< CompletionItem > | completionsForTypeNameFromModules (Document *doc, const std::string &typeName, const std::string &prefix) |
| CompletionItem | symbolToCompletionItem (const Symbol &sym) |
Definition at line 13 of file completion.h.
|
private |
Definition at line 692 of file completion.cpp.
References lsp::Constructor, Document::crossModuleSymbols, CompletionItem::documentation, lsp::Field, lsp::Finalizer, ProjectIndex::getAllSymbols(), CompletionItem::insertText, lsp::Interface, CompletionItem::label, lsp::Method, Document::projectIndex, lsp::Struct, Document::symbols, CompletionProvider::symbolToCompletionItem(), and yoi::wstring2string().
Referenced by CompletionProvider::memberCompletions().


|
private |
Definition at line 766 of file completion.cpp.
References Document::crossModuleSymbols, CompletionItem::documentation, ProjectIndex::getAllSymbols(), ProjectIndex::indexAndGet(), CompletionItem::insertText, lsp::Interface, CompletionItem::label, Document::projectIndex, yoi::string2wstring(), lsp::Struct, CompletionProvider::symbolToCompletionItem(), and yoi::wstring2string().
Referenced by CompletionProvider::resolveModuleCompletionsFromText().


|
private |
Definition at line 319 of file completion.cpp.
References Document::crossModuleSymbols, CompletionItem::documentation, CompletionItem::insertText, CompletionItem::label, CompletionItem::sortText, CompletionProvider::symbolToCompletionItem(), and yoi::wstring2string().
Referenced by CompletionProvider::provide().


|
private |
Definition at line 375 of file completion.cpp.
References CompletionItem::detail, CompletionItem::insertText, lsp::Keyword, CompletionItem::kind, CompletionItem::label, and CompletionItem::sortText.
Referenced by CompletionProvider::provide().

|
private |
Definition at line 219 of file completion.cpp.
References CompletionProvider::completionsForType(), Document::crossModuleSymbols, CompletionItem::documentation, CompletionItem::insertText, lsp::Interface, lsp::isSymbolVisibleAt(), CompletionItem::label, Symbol::line, lsp::ModuleAlias, yoi::string2wstring(), lsp::Struct, Document::symbols, CompletionProvider::symbolToCompletionItem(), lsp::Variable, and yoi::wstring2string().
Referenced by CompletionProvider::provide().


| CompletionList provide | ( | Document * | doc, |
| const Position & | pos | ||
| ) |
Definition at line 66 of file completion.cpp.
References Position::character, CompletionProvider::crossModuleCompletions(), CompletionList::isIncomplete, CompletionList::items, CompletionProvider::keywordCompletions(), Position::line, CompletionProvider::memberCompletions(), Document::parseSucceeded, CompletionProvider::resolveModuleCompletionsFromText(), CompletionProvider::symbolCompletions(), Document::text, CompletionProvider::useModuleCompletions(), CompletionProvider::usePathCompletions(), and yoi::wstring2string().
Referenced by LspServer::handleCompletion().


|
private |
Definition at line 536 of file completion.cpp.
References CompletionProvider::completionsForTypeNameFromModules(), CompletionItem::documentation, lsp::Function, ProjectIndex::getAllSymbols(), lsp::getReturnTypeFromIR(), ProjectIndex::indexAndGet(), CompletionItem::insertText, CompletionItem::label, Document::projectIndex, ProjectIndex::resolveModule(), CompletionItem::sortText, yoi::string2wstring(), CompletionProvider::symbolToCompletionItem(), Document::text, Document::uri, and yoi::wstring2string().
Referenced by CompletionProvider::provide().


|
private |
Definition at line 511 of file completion.cpp.
References CompletionItem::insertText, lsp::isSymbolVisibleAt(), CompletionItem::label, Document::parseSucceeded, CompletionItem::sortText, Document::symbols, CompletionProvider::symbolToCompletionItem(), and yoi::wstring2string().
Referenced by CompletionProvider::provide().


|
private |
Definition at line 342 of file completion.cpp.
References lsp::Concept_, lsp::Constructor, CompletionItem::detail, Symbol::detail, CompletionItem::documentation, lsp::Enum, lsp::EnumMember, lsp::Export, lsp::Field, lsp::Finalizer, lsp::Function, lsp::Import, CompletionItem::insertText, lsp::Interface, CompletionItem::kind, Symbol::kind, CompletionItem::label, lsp::Method, lsp::Module, lsp::ModuleAlias, Symbol::name, lsp::Reference, CompletionItem::sortText, lsp::Struct, lsp::Text, lsp::TypeAlias, Symbol::typeInfo, lsp::TypeParameter, lsp::Variable, and yoi::wstring2string().
Referenced by CompletionProvider::completionsForType(), CompletionProvider::completionsForTypeNameFromModules(), CompletionProvider::crossModuleCompletions(), CompletionProvider::memberCompletions(), CompletionProvider::resolveModuleCompletionsFromText(), and CompletionProvider::symbolCompletions().


|
private |
Definition at line 440 of file completion.cpp.
References CompletionItem::detail, CompletionItem::insertText, CompletionItem::kind, CompletionItem::label, lsp::Module, lsp::moduleSearchRoots(), and CompletionItem::sortText.
Referenced by CompletionProvider::provide().


|
private |
Definition at line 472 of file completion.cpp.
References CompletionItem::detail, lsp::File, lsp::Folder, CompletionItem::insertText, CompletionItem::kind, CompletionItem::label, lsp::moduleSearchRoots(), and CompletionItem::sortText.
Referenced by CompletionProvider::provide().

