diff options
author | Sam Atkins <atkinssj@serenityos.org> | 2023-02-28 16:29:49 +0000 |
---|---|---|
committer | Andrew Kaster <andrewdkaster@gmail.com> | 2023-03-04 05:43:43 -0700 |
commit | 0d0ad225726be7913433a5e1af93b0a224db65e5 (patch) | |
tree | 6cc325c9761719d81e6ec89b6141474c926e9bb2 /Userland/DevTools | |
parent | ac824677b877ebeb1264340d8b171a0956cc865b (diff) | |
download | serenity-0d0ad225726be7913433a5e1af93b0a224db65e5.zip |
HackStudio: Enable CMake syntax highlighting
Diffstat (limited to 'Userland/DevTools')
-rw-r--r-- | Userland/DevTools/HackStudio/CMakeLists.txt | 2 | ||||
-rw-r--r-- | Userland/DevTools/HackStudio/Editor.cpp | 4 | ||||
-rw-r--r-- | Userland/DevTools/HackStudio/Language.cpp | 5 | ||||
-rw-r--r-- | Userland/DevTools/HackStudio/Language.h | 1 |
4 files changed, 10 insertions, 2 deletions
diff --git a/Userland/DevTools/HackStudio/CMakeLists.txt b/Userland/DevTools/HackStudio/CMakeLists.txt index cb52bdf20d..e012b3a412 100644 --- a/Userland/DevTools/HackStudio/CMakeLists.txt +++ b/Userland/DevTools/HackStudio/CMakeLists.txt @@ -55,5 +55,5 @@ set(GENERATED_SOURCES ) serenity_app(HackStudio ICON app-hack-studio) -target_link_libraries(HackStudio PRIVATE LibWebView LibWeb LibMarkdown LibGUI LibCpp LibGfx LibCore LibVT LibDebug LibX86 LibDiff LibShell LibSymbolication LibSyntax LibRegex LibSQL LibConfig LibCore LibCoredump LibDesktop LibIPC LibJS LibMain LibThreading) +target_link_libraries(HackStudio PRIVATE LibWebView LibWeb LibMarkdown LibGUI LibCpp LibCMake LibGfx LibCore LibVT LibDebug LibX86 LibDiff LibShell LibSymbolication LibSyntax LibRegex LibSQL LibConfig LibCore LibCoredump LibDesktop LibIPC LibJS LibMain LibThreading) add_dependencies(HackStudio CppLanguageServer) diff --git a/Userland/DevTools/HackStudio/Editor.cpp b/Userland/DevTools/HackStudio/Editor.cpp index 6cc0a45d6f..4395f3ff5a 100644 --- a/Userland/DevTools/HackStudio/Editor.cpp +++ b/Userland/DevTools/HackStudio/Editor.cpp @@ -14,6 +14,7 @@ #include <AK/Debug.h> #include <AK/JsonParser.h> #include <AK/LexicalPath.h> +#include <LibCMake/SyntaxHighlighter.h> #include <LibConfig/Client.h> #include <LibCore/DeprecatedFile.h> #include <LibCore/DirIterator.h> @@ -637,6 +638,9 @@ void Editor::set_syntax_highlighter_for(CodeDocument const& document) set_syntax_highlighter(make<Cpp::SyntaxHighlighter>()); break; + case Language::CMake: + set_syntax_highlighter(make<CMake::SyntaxHighlighter>()); + break; case Language::CSS: set_syntax_highlighter(make<Web::CSS::SyntaxHighlighter>()); break; diff --git a/Userland/DevTools/HackStudio/Language.cpp b/Userland/DevTools/HackStudio/Language.cpp index 81ab6a970d..2d5e947fef 100644 --- a/Userland/DevTools/HackStudio/Language.cpp +++ b/Userland/DevTools/HackStudio/Language.cpp @@ -5,7 +5,6 @@ */ #include "Language.h" -#include <AK/LexicalPath.h> namespace HackStudio { @@ -19,6 +18,8 @@ Language language_from_file(LexicalPath const& file) if (extension == "c" || extension == "cc" || extension == "cxx" || extension == "cpp" || extension == "c++" || extension == "h" || extension == "hh" || extension == "hxx" || extension == "hpp" || extension == "h++") return Language::Cpp; + if (extension == "cmake" || (extension == "txt" && file.title() == "CMakeLists")) + return Language::CMake; if (extension == "js" || extension == "mjs" || extension == "json") return Language::JavaScript; if (extension == "html" || extension == "htm") @@ -61,6 +62,8 @@ DeprecatedString language_name_from_file(LexicalPath const& file) if (extension == "c" || extension == "cc" || extension == "cxx" || extension == "cpp" || extension == "c++" || extension == "h" || extension == "hh" || extension == "hxx" || extension == "hpp" || extension == "h++") return "C++"; + if (extension == "cmake" || (extension == "txt" && file.title() == "CMakeLists")) + return "CMake"; if (extension == "js" || extension == "mjs" || extension == "json") return "JavaScript"; if (extension == "gml") diff --git a/Userland/DevTools/HackStudio/Language.h b/Userland/DevTools/HackStudio/Language.h index 2dc73e6c29..6713e52c05 100644 --- a/Userland/DevTools/HackStudio/Language.h +++ b/Userland/DevTools/HackStudio/Language.h @@ -12,6 +12,7 @@ namespace HackStudio { enum class Language { Unknown, + CMake, Cpp, CSS, JavaScript, |