diff options
author | Itamar <itamar8910@gmail.com> | 2022-05-14 17:09:24 +0300 |
---|---|---|
committer | Andreas Kling <kling@serenityos.org> | 2022-05-21 18:15:58 +0200 |
commit | b35293d9458bd583f81ca1ec2df59f06e4690bf0 (patch) | |
tree | 88e6c1bf229cd54c2ff686c6bd304f06e6d9f8d3 /Userland/Libraries/LibCodeComprehension/FileDB.h | |
parent | a2c34554cd5ff3a17583f885088000b7cf975121 (diff) | |
download | serenity-b35293d9458bd583f81ca1ec2df59f06e4690bf0.zip |
LibCodeComprehension: Re-organize code comprehension related code
This moves all code comprehension-related code to a new library,
LibCodeComprehension.
This also moves some types related to code comprehension tasks (such as
autocomplete, find declaration) out of LibGUI and into
LibCodeComprehension.
Diffstat (limited to 'Userland/Libraries/LibCodeComprehension/FileDB.h')
-rw-r--r-- | Userland/Libraries/LibCodeComprehension/FileDB.h | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/Userland/Libraries/LibCodeComprehension/FileDB.h b/Userland/Libraries/LibCodeComprehension/FileDB.h new file mode 100644 index 0000000000..36e1a6efcf --- /dev/null +++ b/Userland/Libraries/LibCodeComprehension/FileDB.h @@ -0,0 +1,33 @@ +/* + * Copyright (c) 2022, Itamar S. <itamar8910@gmail.com> + * + * SPDX-License-Identifier: BSD-2-Clause + */ + +#pragma once + +#include <AK/String.h> +#include <AK/StringView.h> + +namespace CodeComprehension { + +class FileDB { + AK_MAKE_NONCOPYABLE(FileDB); + AK_MAKE_NONMOVABLE(FileDB); + +public: + virtual ~FileDB() = default; + + virtual Optional<String> get_or_read_from_filesystem(StringView filename) const = 0; + void set_project_root(StringView project_root) { m_project_root = project_root; } + String const& project_root() const { return m_project_root; } + String to_absolute_path(StringView filename) const; + +protected: + FileDB() = default; + +private: + String m_project_root; +}; + +} |