Serenity Operating System
at master 36 lines 773 B view raw
1/* 2 * Copyright (c) 2021, Federico Guerinoni <guerinoni.federico@gmail.com> 3 * 4 * SPDX-License-Identifier: BSD-2-Clause 5 */ 6 7#pragma once 8 9#include <AK/DeprecatedString.h> 10#include <AK/Function.h> 11#include <AK/HashMap.h> 12#include <AK/Noncopyable.h> 13#include <LibCpp/Parser.h> 14 15namespace HackStudio { 16 17class ToDoEntries { 18 AK_MAKE_NONCOPYABLE(ToDoEntries); 19 20public: 21 static ToDoEntries& the(); 22 23 void set_entries(DeprecatedString const& filename, Vector<CodeComprehension::TodoEntry> const&& entries); 24 25 Vector<CodeComprehension::TodoEntry> get_entries(); 26 27 void clear_entries(); 28 29 Function<void()> on_update = nullptr; 30 31private: 32 ToDoEntries() = default; 33 HashMap<DeprecatedString, Vector<CodeComprehension::TodoEntry>> m_document_to_entries; 34}; 35 36}