HackStudio: Add C++ Language Server

The language server keeps track of the content of currently edited
files by receiving updates about edit actions.

Also, C++ autocompletion is no longer tied to HackStudio itself and
moved to be part of the language server.
This commit is contained in:
Itamar 2020-09-28 16:37:37 +03:00 committed by Andreas Kling
commit 863f14788f
Notes: sideshowbarker 2024-07-19 02:07:10 +09:00
18 changed files with 451 additions and 21 deletions

View file

@ -282,6 +282,18 @@ void TextDocument::set_all_cursors(const TextPosition& position)
}
}
String TextDocument::text() const
{
StringBuilder builder;
for (size_t i = 0; i < line_count(); ++i) {
auto& line = this->line(i);
builder.append(line.view());
if (i != line_count() - 1)
builder.append('\n');
}
return builder.to_string();
}
String TextDocument::text_in_range(const TextRange& a_range) const
{
auto range = a_range.normalized();