Skip to content

Commit 2d772e9

Browse files
Improve CMake syntax highlighting: extend variable recognition with compiler/toolchain families and add scoped property command colorization (#4527)
* Update TextMate grammar based on vim-syntax I upgraded my grammar-generation script I use to generate the vim-syntax-highlighting-rules to put out a TextMate-grammer. The script can be found here: https://github.com/pboettch/vim-cmake-syntax/tree/textmate-grammer-generation * layering ideas on top of the existing colorization/syntax highlighting infra * changelog entry thanking pboettch --------- Co-authored-by: Hannia Valera <[email protected]>
1 parent a0e78c1 commit 2d772e9

3 files changed

Lines changed: 217 additions & 3 deletions

File tree

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ Features:
2323
- Add `cmake.outlineViewType` setting to toggle the Project Outline between a flat list view and the prior hierarchical tree view that shows each CMake project separately. [#3799](https://github.com/microsoft/vscode-cmake-tools/issues/3799) [#4538](https://github.com/microsoft/vscode-cmake-tools/pull/4538) [@ar1m4n](https://github.com/ar1m4n)
2424

2525
Improvements:
26+
- Improve CMake syntax highlighting: extend variable recognition with compiler/toolchain families and add scoped property command colorization for `set_property`, `get_property`, `set_target_properties`, and related commands. [#4527](https://github.com/microsoft/vscode-cmake-tools/pull/4527) [@pboettch](https://github.com/pboettch)
2627
- Run tests sequentially in alphabetical order (matching the Test Explorer display order) when `cmake.ctest.allowParallelJobs` is disabled. [#4829](https://github.com/microsoft/vscode-cmake-tools/issues/4829)
2728
- Document how to configure `cmake.debugConfig.visualizerFile` to use custom Natvis files with quick debugging, without requiring a `launch.json`. [#4616](https://github.com/microsoft/vscode-cmake-tools/issues/4616)
2829
- Add `.github/copilot-instructions.md` to ground GitHub Copilot in the repo's architecture and coding conventions.

syntaxes/CMake.tmLanguage.json

Lines changed: 33 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
{ "include": "#conditionalControl" },
2626
{ "include": "#loopControl" },
2727
{ "include": "#returnControl" },
28+
{ "include": "#scopedPropertyCommand" },
2829
{ "include": "#builtInCommands" },
2930
{ "include": "#knownVariables" },
3031
{ "include": "#properties" },
@@ -41,7 +42,13 @@
4142
},
4243
"variableReference": {
4344
"name": "variable.other.cmake",
44-
"match": "\\$\\{\\w+\\}"
45+
"begin": "\\$\\{",
46+
"beginCaptures": { "0": { "name": "punctuation.section.variable.begin.cmake" } },
47+
"end": "\\}",
48+
"endCaptures": { "0": { "name": "punctuation.section.variable.end.cmake" } },
49+
"patterns": [
50+
{ "include": "#knownVariables" }
51+
]
4552
},
4653
"envVariableReference": {
4754
"name": "variable.other.env.cmake",
@@ -330,6 +337,30 @@
330337
}
331338
]
332339
},
340+
"scopedPropertyCommand": {
341+
"comment": "Property commands (set_property, get_property, etc.) with scoped keywords and property names",
342+
"begin": "\\b(?i:(set_property|get_property|define_property|set_source_files_properties|set_target_properties|get_target_property|set_tests_properties|get_test_property|set_directory_properties|get_directory_property))\\b\\s*(\\()",
343+
"beginCaptures": {
344+
"1": { "name": "support.function.cmake" },
345+
"2": { "name": "punctuation.section.arguments.begin.cmake" }
346+
},
347+
"end": "\\)",
348+
"endCaptures": { "0": { "name": "punctuation.section.arguments.end.cmake" } },
349+
"patterns": [
350+
{ "include": "#nestedParens" },
351+
{
352+
"comment": "Property command scope keywords",
353+
"name": "keyword.other.cmake",
354+
"match": "\\b(?i:GLOBAL|DIRECTORY|TARGET|SOURCE|INSTALL|TEST|CACHE|PROPERTY|APPEND|APPEND_STRING|BRIEF_DOCS|FULL_DOCS|INHERITED)\\b"
355+
},
356+
{
357+
"comment": "Well-known CMake properties for targets, sources, tests, directories, and global scope",
358+
"name": "support.type.property.cmake",
359+
"match": "\\b(?i:COMPILE_OPTIONS|COMPILE_FEATURES|COMPILE_FLAGS|COMPILE_DEFINITIONS(_\\w+)?|LINK_OPTIONS|LINK_FLAGS(_\\w+)?|LINK_LIBRARIES|LINK_DEPENDS|LINK_SEARCH_END_STATIC|LINK_SEARCH_START_STATIC|INTERFACE_COMPILE_DEFINITIONS|INTERFACE_COMPILE_OPTIONS|INTERFACE_COMPILE_FEATURES|INTERFACE_SOURCES|INTERFACE_LINK_LIBRARIES|INTERFACE_INCLUDE_DIRECTORIES|INTERFACE_SYSTEM_INCLUDE_DIRECTORIES|INTERFACE_POSITION_INDEPENDENT_CODE|INTERFACE_HEADER_SETS|PRECOMPILE_HEADERS|UNITY_BUILD(_\\w+)?|LINK_WHAT_YOU_USE|VERIFY_INTERFACE_HEADER_SETS|OPTIMIZE_DEPENDENCIES|HEADER_SETS|POSITION_INDEPENDENT_CODE|INTERPROCEDURAL_OPTIMIZATION(_\\w+)?|EXCLUDE_FROM_ALL|SOURCES|OUTPUT_NAME(_\\w+)?|RUNTIME_OUTPUT_DIRECTORY(_\\w+)?|LIBRARY_OUTPUT_DIRECTORY(_\\w+)?|ARCHIVE_OUTPUT_(DIRECTORY|NAME)(_\\w+)?|PDB_OUTPUT_DIRECTORY|PDB_NAME(_\\w+)?|INSTALL_RPATH|INSTALL_RPATH_USE_LINK_PATH|SKIP_BUILD_RPATH|BUILD_WITH_INSTALL_RPATH|INSTALL_NAME_DIR|SOVERSION|VERSION|PREFIX|SUFFIX|DEBUG_POSTFIX|\\w+_POSTFIX|LINKER_LANGUAGE|FOLDER|LABELS|TIMEOUT|WILL_FAIL|COST|PASS_REGULAR_EXPRESSION|FAIL_REGULAR_EXPRESSION|FIXTURES_REQUIRED|FIXTURES_SETUP|FIXTURES_CLEANUP|RESOURCE_LOCK|PROCESSORS|RUN_SERIAL|WORKING_DIRECTORY|GENERATED|LANGUAGE|HEADER_FILE_ONLY|SYMBOLIC|OBJECT_DEPENDS|WRAP_EXCLUDE|MACOSX_PACKAGE_LOCATION|XCODE_ATTRIBUTE_\\w+|VS_GLOBAL_\\w+|VS_DOTNET_REFERENCES|VS_SCC_(AUXPATH|LOCALPATH|PROJECTNAME|PROVIDER)|MAP_IMPORTED_CONFIG_\\w+|IMPORTED(_\\w+)?|IMPORT_PREFIX|IMPORT_SUFFIX|AUTOMOC|AUTOMOC_MOC_OPTIONS|AUTOUIC|AUTORCC|ENABLE_EXPORTS|DEFINE_SYMBOL|OSX_ARCHITECTURES(_\\w+)?|MACOSX_BUNDLE|MACOSX_BUNDLE_INFO_PLIST|MACOSX_FRAMEWORK_INFO_PLIST|MACOSX_RPATH|STATIC_LIBRARY_FLAGS(_\\w+)?|WIN32_EXECUTABLE|VS_WINRT_EXTENSIONS|VS_WINRT_REFERENCES|COMPATIBLE_INTERFACE_BOOL|COMPATIBLE_INTERFACE_STRING|COMPATIBLE_INTERFACE_NUMBER_MAX|COMPATIBLE_INTERFACE_NUMBER_MIN|NO_SONAME|HAS_CXX|GNUtoMS|FRAMEWORK|BUNDLE(_EXTENSION)?)\\b"
360+
},
361+
{ "include": "#commonArgPatterns" }
362+
]
363+
},
333364
"deprecatedKeywords": {
334365
"comment": "Deprecated CMake keywords. All previous entries (ABSTRACT_FILES, BUILD_NAME, SOURCE_FILES, SOURCE_FILES_REMOVE, VTK_MAKE_INSTANTIATOR, VTK_WRAP_JAVA, VTK_WRAP_PYTHON, VTK_WRAP_TCL, WRAP_EXCLUDE_FILES) were removed per #4613 because they were removed from CMake 20+ years ago and collide with common user variable names like SOURCE_FILES. Re-add entries here when CMake deprecates new keywords that need highlighting.",
335366
"name": "invalid.deprecated.cmake",
@@ -348,7 +379,7 @@
348379
"knownVariables": {
349380
"comment": "Well-known CMake variables: system/platform detection, behavior-changing, build-control, and information-providing. Consolidated from systemVariables, changeBehaviorVariables, controlBuildVariables, provideInformationVariables — all rendered identically by standard themes (support.type prefix).",
350381
"name": "support.type.variable.cmake",
351-
"match": "\\b(?i:APPLE|BORLAND|CMAKE_CL_64|CMAKE_COMPILER_2005|CMAKE_HOST_APPLE|CMAKE_HOST_SYSTEM|CMAKE_HOST_SYSTEM_NAME|CMAKE_HOST_SYSTEM_PROCESSOR|CMAKE_HOST_SYSTEM_VERSION|CMAKE_HOST_UNIX|CMAKE_HOST_WIN32|CMAKE_LIBRARY_ARCHITECTURE|CMAKE_LIBRARY_ARCHITECTURE_REGEX|CMAKE_OBJECT_PATH_MAX|CMAKE_SYSTEM|CMAKE_SYSTEM_NAME|CMAKE_SYSTEM_PROCESSOR|CMAKE_SYSTEM_VERSION|CYGWIN|MSVC|MSVC_IDE|MSVC_VERSION|MSVC_TOOLSET_VERSION|UNIX|WIN32|XCODE_VERSION|ANDROID|IOS|LINUX|MSYS|WINCE|WINDOWS_PHONE|WINDOWS_STORE|CMAKE_CROSSCOMPILING|CMAKE_SIZEOF_VOID_P|BUILD_SHARED_LIBS|(CMAKE_)?(ABSOLUTE_DESTINATION_FILES|AUTOMOC_RELAXED_MODE|BACKWARDS_COMPATIBILITY|BUILD_TYPE|COLOR_MAKEFILE|CONFIGURATION_TYPES|DEBUG_TARGET_PROPERTIES|DISABLE_FIND_PACKAGE_\\w+|FIND_LIBRARY_PREFIXES|FIND_LIBRARY_SUFFIXES|IGNORE_PATH|INCLUDE_PATH|INSTALL_DEFAULT_COMPONENT_NAME|INSTALL_PREFIX|LIBRARY_PATH|MFC_FLAG|MODULE_PATH|NOT_USING_CONFIG_FLAGS|POLICY_DEFAULT_CMP\\w+|PREFIX_PATH|PROGRAM_PATH|SKIP_INSTALL_ALL_DEPENDENCY|SYSTEM_IGNORE_PATH|SYSTEM_INCLUDE_PATH|SYSTEM_LIBRARY_PATH|SYSTEM_PREFIX_PATH|SYSTEM_PROGRAM_PATH|USER_MAKE_RULES_OVERRIDE|WARN_ON_ABSOLUTE_INSTALL_DESTINATION)|(CMAKE_)?(\\w+_POSTFIX|ARCHIVE_OUTPUT_DIRECTORY|AUTOMOC|AUTOMOC_MOC_OPTIONS|BUILD_WITH_INSTALL_RPATH|DEBUG_POSTFIX|EXE_LINKER_FLAGS|EXE_LINKER_FLAGS_\\w+|Fortran_FORMAT|Fortran_MODULE_DIRECTORY|GNUtoMS|INCLUDE_CURRENT_DIR|INCLUDE_CURRENT_DIR_IN_INTERFACE|INSTALL_NAME_DIR|INSTALL_RPATH|INSTALL_RPATH_USE_LINK_PATH|LIBRARY_OUTPUT_DIRECTORY|LIBRARY_PATH_FLAG|LINK_DEF_FILE_FLAG|LINK_DEPENDS_NO_SHARED|LINK_INTERFACE_LIBRARIES|LINK_LIBRARY_FILE_FLAG|LINK_LIBRARY_FLAG|MACOSX_BUNDLE|NO_BUILTIN_CHRPATH|PDB_OUTPUT_DIRECTORY|COMPILE_PDB_OUTPUT_DIRECTORY|POSITION_INDEPENDENT_CODE|RUNTIME_OUTPUT_DIRECTORY|SKIP_BUILD_RPATH|SKIP_INSTALL_RPATH|TRY_COMPILE_CONFIGURATION|USE_RELATIVE_PATHS|WIN32_EXECUTABLE)|EXECUTABLE_OUTPUT_PATH|LIBRARY_OUTPUT_PATH|CMAKE_(AR|ARGC|ARGV0|BINARY_DIR|BUILD_TOOL|C_STANDARD|C_STANDARD_REQUIRED|CXX_STANDARD|CXX_STANDARD_REQUIRED|C_COMPILER|CXX_COMPILER|C_COMPILER_ID|CXX_COMPILER_ID|C_FLAGS|CXX_FLAGS|C_FLAGS_DEBUG|C_FLAGS_RELEASE|C_FLAGS_MINSIZEREL|C_FLAGS_RELWITHDEBINFO|CXX_FLAGS_DEBUG|CXX_FLAGS_RELEASE|CXX_FLAGS_MINSIZEREL|CXX_FLAGS_RELWITHDEBINFO|CACHEFILE_DIR|CACHE_MAJOR_VERSION|CACHE_MINOR_VERSION|CACHE_PATCH_VERSION|CFG_INTDIR|COMMAND|CROSSCOMPILING|CTEST_COMMAND|CURRENT_BINARY_DIR|CURRENT_LIST_DIR|CURRENT_LIST_FILE|CURRENT_LIST_LINE|CURRENT_SOURCE_DIR|CURRENT_FUNCTION|CURRENT_FUNCTION_LIST_DIR|CURRENT_FUNCTION_LIST_FILE|CURRENT_FUNCTION_LIST_LINE|DL_LIBS|EDIT_COMMAND|EXECUTABLE_SUFFIX|EXTRA_GENERATOR|EXTRA_SHARED_LIBRARY_SUFFIXES|GENERATOR|GENERATOR_PLATFORM|GENERATOR_TOOLSET|HOME_DIRECTORY|IMPORT_LIBRARY_PREFIX|IMPORT_LIBRARY_SUFFIX|LINK_LIBRARY_SUFFIX|MAJOR_VERSION|MAKE_PROGRAM|MINOR_VERSION|PARENT_LIST_FILE|PATCH_VERSION|PROJECT_NAME|RANLIB|ROOT|SCRIPT_MODE_FILE|SHARED_LIBRARY_PREFIX|SHARED_LIBRARY_SUFFIX|SHARED_LINKER_FLAGS|SHARED_MODULE_PREFIX|SHARED_MODULE_SUFFIX|SIZEOF_VOID_P|SKIP_RPATH|SOURCE_DIR|STANDARD_LIBRARIES|STATIC_LIBRARY_PREFIX|STATIC_LIBRARY_SUFFIX|TWEAK_VERSION|USING_VC_FREE_TOOLS|VERBOSE_MAKEFILE|VERSION|EXPORT_COMPILE_COMMANDS|TOOLCHAIN_FILE|SYSROOT|STAGING_PREFIX|FIND_ROOT_PATH|FIND_ROOT_PATH_MODE_PROGRAM|FIND_ROOT_PATH_MODE_LIBRARY|FIND_ROOT_PATH_MODE_INCLUDE|FIND_ROOT_PATH_MODE_PACKAGE)|PROJECT_BINARY_DIR|PROJECT_NAME|PROJECT_SOURCE_DIR|PROJECT_VERSION|PROJECT_VERSION_MAJOR|PROJECT_VERSION_MINOR|PROJECT_VERSION_PATCH|PROJECT_VERSION_TWEAK|PROJECT_DESCRIPTION|PROJECT_HOMEPAGE_URL|\\w+_BINARY_DIR|\\w+_SOURCE_DIR)\\b"
382+
"match": "\\b(?i:APPLE|BORLAND|CMAKE_CL_64|CMAKE_COMPILER_2005|CMAKE_HOST_APPLE|CMAKE_HOST_SYSTEM|CMAKE_HOST_SYSTEM_NAME|CMAKE_HOST_SYSTEM_PROCESSOR|CMAKE_HOST_SYSTEM_VERSION|CMAKE_HOST_UNIX|CMAKE_HOST_WIN32|CMAKE_LIBRARY_ARCHITECTURE|CMAKE_LIBRARY_ARCHITECTURE_REGEX|CMAKE_OBJECT_PATH_MAX|CMAKE_SYSTEM|CMAKE_SYSTEM_NAME|CMAKE_SYSTEM_PROCESSOR|CMAKE_SYSTEM_VERSION|CYGWIN|MSVC|MSVC_IDE|MSVC_VERSION|MSVC_TOOLSET_VERSION|UNIX|WIN32|XCODE_VERSION|ANDROID|IOS|LINUX|MSYS|WINCE|WINDOWS_PHONE|WINDOWS_STORE|CMAKE_CROSSCOMPILING|CMAKE_SIZEOF_VOID_P|BUILD_SHARED_LIBS|(CMAKE_)?(ABSOLUTE_DESTINATION_FILES|AUTOMOC_RELAXED_MODE|BACKWARDS_COMPATIBILITY|BUILD_TYPE|COLOR_MAKEFILE|CONFIGURATION_TYPES|DEBUG_TARGET_PROPERTIES|DISABLE_FIND_PACKAGE_\\w+|FIND_LIBRARY_PREFIXES|FIND_LIBRARY_SUFFIXES|IGNORE_PATH|INCLUDE_PATH|INSTALL_DEFAULT_COMPONENT_NAME|INSTALL_PREFIX|LIBRARY_PATH|MFC_FLAG|MODULE_PATH|NOT_USING_CONFIG_FLAGS|POLICY_DEFAULT_CMP\\w+|PREFIX_PATH|PROGRAM_PATH|SKIP_INSTALL_ALL_DEPENDENCY|SYSTEM_IGNORE_PATH|SYSTEM_INCLUDE_PATH|SYSTEM_LIBRARY_PATH|SYSTEM_PREFIX_PATH|SYSTEM_PROGRAM_PATH|USER_MAKE_RULES_OVERRIDE|WARN_ON_ABSOLUTE_INSTALL_DESTINATION)|(CMAKE_)?(\\w+_POSTFIX|ARCHIVE_OUTPUT_DIRECTORY|AUTOMOC|AUTOMOC_MOC_OPTIONS|BUILD_WITH_INSTALL_RPATH|DEBUG_POSTFIX|EXE_LINKER_FLAGS|EXE_LINKER_FLAGS_\\w+|Fortran_FORMAT|Fortran_MODULE_DIRECTORY|GNUtoMS|INCLUDE_CURRENT_DIR|INCLUDE_CURRENT_DIR_IN_INTERFACE|INSTALL_NAME_DIR|INSTALL_RPATH|INSTALL_RPATH_USE_LINK_PATH|LIBRARY_OUTPUT_DIRECTORY|LIBRARY_PATH_FLAG|LINK_DEF_FILE_FLAG|LINK_DEPENDS_NO_SHARED|LINK_INTERFACE_LIBRARIES|LINK_LIBRARY_FILE_FLAG|LINK_LIBRARY_FLAG|MACOSX_BUNDLE|NO_BUILTIN_CHRPATH|PDB_OUTPUT_DIRECTORY|COMPILE_PDB_OUTPUT_DIRECTORY|POSITION_INDEPENDENT_CODE|RUNTIME_OUTPUT_DIRECTORY|SKIP_BUILD_RPATH|SKIP_INSTALL_RPATH|TRY_COMPILE_CONFIGURATION|USE_RELATIVE_PATHS|WIN32_EXECUTABLE)|EXECUTABLE_OUTPUT_PATH|LIBRARY_OUTPUT_PATH|CMAKE_(AR|ARGC|ARGV0|BINARY_DIR|BUILD_TOOL|C_STANDARD|C_STANDARD_REQUIRED|CXX_STANDARD|CXX_STANDARD_REQUIRED|C_COMPILER|CXX_COMPILER|C_COMPILER_ID|CXX_COMPILER_ID|C_FLAGS|CXX_FLAGS|C_FLAGS_DEBUG|C_FLAGS_RELEASE|C_FLAGS_MINSIZEREL|C_FLAGS_RELWITHDEBINFO|CXX_FLAGS_DEBUG|CXX_FLAGS_RELEASE|CXX_FLAGS_MINSIZEREL|CXX_FLAGS_RELWITHDEBINFO|CACHEFILE_DIR|CACHE_MAJOR_VERSION|CACHE_MINOR_VERSION|CACHE_PATCH_VERSION|CFG_INTDIR|COMMAND|CROSSCOMPILING|CTEST_COMMAND|CURRENT_BINARY_DIR|CURRENT_LIST_DIR|CURRENT_LIST_FILE|CURRENT_LIST_LINE|CURRENT_SOURCE_DIR|CURRENT_FUNCTION|CURRENT_FUNCTION_LIST_DIR|CURRENT_FUNCTION_LIST_FILE|CURRENT_FUNCTION_LIST_LINE|DL_LIBS|EDIT_COMMAND|EXECUTABLE_SUFFIX|EXTRA_GENERATOR|EXTRA_SHARED_LIBRARY_SUFFIXES|GENERATOR|GENERATOR_PLATFORM|GENERATOR_TOOLSET|HOME_DIRECTORY|IMPORT_LIBRARY_PREFIX|IMPORT_LIBRARY_SUFFIX|LINK_LIBRARY_SUFFIX|MAJOR_VERSION|MAKE_PROGRAM|MINOR_VERSION|PARENT_LIST_FILE|PATCH_VERSION|PROJECT_NAME|RANLIB|ROOT|SCRIPT_MODE_FILE|SHARED_LIBRARY_PREFIX|SHARED_LIBRARY_SUFFIX|SHARED_LINKER_FLAGS|SHARED_MODULE_PREFIX|SHARED_MODULE_SUFFIX|SIZEOF_VOID_P|SKIP_RPATH|SOURCE_DIR|STANDARD_LIBRARIES|STATIC_LIBRARY_PREFIX|STATIC_LIBRARY_SUFFIX|TWEAK_VERSION|USING_VC_FREE_TOOLS|VERBOSE_MAKEFILE|VERSION|EXPORT_COMPILE_COMMANDS|TOOLCHAIN_FILE|SYSROOT|STAGING_PREFIX|FIND_ROOT_PATH|FIND_ROOT_PATH_MODE_PROGRAM|FIND_ROOT_PATH_MODE_LIBRARY|FIND_ROOT_PATH_MODE_INCLUDE|FIND_ROOT_PATH_MODE_PACKAGE)|PROJECT_BINARY_DIR|PROJECT_NAME|PROJECT_SOURCE_DIR|PROJECT_VERSION|PROJECT_VERSION_MAJOR|PROJECT_VERSION_MINOR|PROJECT_VERSION_PATCH|PROJECT_VERSION_TWEAK|PROJECT_DESCRIPTION|PROJECT_HOMEPAGE_URL|CMAKE_\\w+_COMPILER_VERSION|CMAKE_\\w+_COMPILER_FRONTEND_VARIANT|CMAKE_\\w+_SIMULATE_ID|CMAKE_\\w+_SIMULATE_VERSION|CMAKE_\\w+_EXTENSIONS|CMAKE_\\w+_STANDARD_REQUIRED|CMAKE_\\w+_COMPILE_FEATURES|CMAKE_MSVC_RUNTIME_LIBRARY|CMAKE_INTERPROCEDURAL_OPTIMIZATION|CMAKE_UNITY_BUILD(_\\w+)?|CMAKE_COMPILE_WARNING_AS_ERROR|CMAKE_COLOR_DIAGNOSTICS|CMAKE_LINK_WHAT_YOU_USE|CMAKE_VERIFY_INTERFACE_HEADER_SETS|CMAKE_OPTIMIZE_DEPENDENCIES|CMAKE_BUILD_RPATH(_USE_ORIGIN)?|\\w+_BINARY_DIR|\\w+_SOURCE_DIR)\\b"
352383
},
353384
"properties": {
354385
"comment": "CMake properties for cache entries, source files, tests, directories, global scope, and targets. Consolidated from 6 category-specific rules — all rendered identically by standard themes (support.type prefix). commandProperties is kept separate (support.function prefix = different theme color).",

0 commit comments

Comments
 (0)