1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-27 21:07:34 +00:00

HackStudio: Make TODO entries clickable

Now you can click a TODO entry to set focus on that position of that
file.
This commit is contained in:
Federico Guerinoni 2021-06-01 23:54:55 +02:00 committed by Linus Groh
parent 935c7b2f4b
commit e0f1c237d2
15 changed files with 83 additions and 39 deletions

View file

@ -961,13 +961,13 @@ void Parser::print_tokens() const
}
}
Vector<String> Parser::get_todo_entries() const
Vector<Parser::TodoEntry> Parser::get_todo_entries() const
{
Vector<String> ret;
Vector<TodoEntry> ret;
for (auto& token : m_tokens) {
if (token.type() == Token::Type::Comment) {
if (token.text().contains("TODO")) {
ret.append(token.text());
ret.append({ token.text(), m_filename, token.start().line, token.start().column });
}
}
}

View file

@ -35,7 +35,14 @@ public:
void print_tokens() const;
const Vector<String>& errors() const { return m_state.errors; }
const Preprocessor::Definitions& preprocessor_definitions() const { return m_preprocessor_definitions; }
Vector<String> get_todo_entries() const;
struct TodoEntry {
String content;
String filename;
size_t line { 0 };
size_t column { 0 };
};
Vector<TodoEntry> get_todo_entries() const;
struct TokenAndPreprocessorDefinition {
Token token;

View file

@ -14,6 +14,7 @@
#include <AK/Vector.h>
namespace Cpp {
class Preprocessor {
public: