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:
parent
935c7b2f4b
commit
e0f1c237d2
15 changed files with 83 additions and 39 deletions
|
@ -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 });
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -14,6 +14,7 @@
|
|||
#include <AK/Vector.h>
|
||||
|
||||
namespace Cpp {
|
||||
|
||||
class Preprocessor {
|
||||
|
||||
public:
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue