From 631927470a2a90cc332720eccb47867e6037f88a Mon Sep 17 00:00:00 2001 From: Sam Atkins Date: Sun, 5 Mar 2023 11:55:08 +0000 Subject: [PATCH] LibCMake: Treat `block`, `endblock` and `return` as control keywords I missed these before because they weren't mentioned on the language description page of the CMake manual. --- Userland/Libraries/LibCMake/Token.cpp | 6 ++++++ Userland/Libraries/LibCMake/Token.h | 3 +++ 2 files changed, 9 insertions(+) diff --git a/Userland/Libraries/LibCMake/Token.cpp b/Userland/Libraries/LibCMake/Token.cpp index 6442ce5331..68bf98b9f4 100644 --- a/Userland/Libraries/LibCMake/Token.cpp +++ b/Userland/Libraries/LibCMake/Token.cpp @@ -30,6 +30,8 @@ Optional control_keyword_from_string(StringView value) return ControlKeywordType::Break; if (value.equals_ignoring_case("continue"sv)) return ControlKeywordType::Continue; + if (value.equals_ignoring_case("return"sv)) + return ControlKeywordType::Return; if (value.equals_ignoring_case("macro"sv)) return ControlKeywordType::Macro; if (value.equals_ignoring_case("endmacro"sv)) @@ -38,6 +40,10 @@ Optional control_keyword_from_string(StringView value) return ControlKeywordType::Function; if (value.equals_ignoring_case("endfunction"sv)) return ControlKeywordType::EndFunction; + if (value.equals_ignoring_case("block"sv)) + return ControlKeywordType::Block; + if (value.equals_ignoring_case("endblock"sv)) + return ControlKeywordType::EndBlock; return {}; } diff --git a/Userland/Libraries/LibCMake/Token.h b/Userland/Libraries/LibCMake/Token.h index de902604f2..b83207b874 100644 --- a/Userland/Libraries/LibCMake/Token.h +++ b/Userland/Libraries/LibCMake/Token.h @@ -33,10 +33,13 @@ enum class ControlKeywordType { EndWhile, Break, Continue, + Return, Macro, EndMacro, Function, EndFunction, + Block, + EndBlock, }; struct Token {