# CMake script dictionary - comprehensive command coverage

# Basic structure
"("
")"
"\x0a"
" "
"\x09"

# Comments
"#"
"#[["
"]]"

# Quotes and brackets
"\""
"[["
"]]"
"[=["
"]=]"

# Variable references
"$"
"${"
"}"
"${}"
"$ENV{"
"$CACHE{"

# Generator expressions
"$<"
">"
"$<BOOL:"
"$<AND:"
"$<OR:"
"$<NOT:"
"$<IF:"
"$<STREQUAL:"
"$<VERSION_LESS:"
"$<TARGET_FILE:"

# Core commands
"cmake_minimum_required"
"project"
"set"
"unset"
"message"
"return"
"include"

# Variable commands
"option"
"mark_as_advanced"
"separate_arguments"

# Control flow
"if"
"elseif"
"else"
"endif"
"foreach"
"endforeach"
"while"
"endwhile"
"break"
"continue"
"function"
"endfunction"
"macro"
"endmacro"
"block"
"endblock"

# String operations
"string"
"LENGTH"
"SUBSTRING"
"FIND"
"REPLACE"
"REGEX"
"MATCH"
"MATCHALL"
"TOUPPER"
"TOLOWER"
"STRIP"
"GENEX_STRIP"
"APPEND"
"PREPEND"
"CONCAT"
"JOIN"
"COMPARE"
"MD5"
"SHA1"
"SHA256"
"MAKE_C_IDENTIFIER"
"RANDOM"
"TIMESTAMP"
"UUID"
"JSON"

# List operations
"list"
"GET"
"APPEND"
"PREPEND"
"INSERT"
"FILTER"
"REMOVE_ITEM"
"REMOVE_AT"
"REMOVE_DUPLICATES"
"REVERSE"
"SORT"
"TRANSFORM"
"SUBLIST"
"POP_BACK"
"POP_FRONT"

# Math
"math"
"EXPR"

# File operations
"file"
"READ"
"STRINGS"
"WRITE"
"APPEND"
"GLOB"
"GLOB_RECURSE"
"RENAME"
"REMOVE"
"MAKE_DIRECTORY"
"RELATIVE_PATH"
"TO_CMAKE_PATH"
"TO_NATIVE_PATH"
"DOWNLOAD"
"UPLOAD"
"COPY"
"INSTALL"
"SIZE"
"READ_SYMLINK"
"CREATE_LINK"
"CHMOD"
"TOUCH"
"GENERATE"
"CONFIGURE"
"ARCHIVE_CREATE"
"ARCHIVE_EXTRACT"

# Conditionals
"DEFINED"
"COMMAND"
"POLICY"
"TARGET"
"TEST"
"EXISTS"
"IS_DIRECTORY"
"IS_SYMLINK"
"IS_ABSOLUTE"
"MATCHES"
"LESS"
"GREATER"
"EQUAL"
"STRLESS"
"STRGREATER"
"STREQUAL"
"VERSION_LESS"
"VERSION_GREATER"
"VERSION_EQUAL"
"AND"
"OR"
"NOT"
"IN_LIST"

# Common values
"TRUE"
"FALSE"
"ON"
"OFF"
"YES"
"NO"
"STATUS"
"WARNING"
"FATAL_ERROR"
"SEND_ERROR"
"PARENT_SCOPE"
"CACHE"
"FORCE"
"INTERNAL"
"STRING"
"BOOL"
"PATH"
"FILEPATH"
