<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
  <key>fileTypes</key>
  <array>
    <string>gn</string>
    <string>gni</string>
  </array>
  <key>name</key>
  <string>GN</string>
  <key>patterns</key>
  <array>
    <dict>
      <key>comment</key>
      <string>keywords</string>
      <key>match</key>
      <string>\b(?:if|else)\b</string>
      <key>name</key>
      <string>keyword.control.gn</string>
    </dict>
    <dict>
      <key>comment</key>
      <string>constants</string>
      <key>match</key>
      <string>\b(?:true|false)\b</string>
      <key>name</key>
      <string>constant.language.gn</string>
    </dict>
    <dict>
      <key>comment</key>
      <string>numbers</string>
      <key>match</key>
      <string>\b\d+\.?(?:\d+)?\b</string>
      <key>name</key>
      <string>constant.numeric.gn</string>
    </dict>
    <dict>
      <key>comment</key>
      <string>double quoted string</string>
      <key>match</key>
      <string>\"[^\"]*\"</string>
      <key>name</key>
      <string>string.quoted.double.gn</string>
    </dict>
    <dict>
      <key>comment</key>
      <string>comment</string>
      <key>begin</key>
      <string>#</string>
      <key>end</key>
      <string>$</string>
      <key>name</key>
      <string>comment.gn</string>
    </dict>
    <dict>
      <key>comment</key>
      <string>operators</string>
      <key>match</key>
      <string>(?:=|==|\+=|-=|\+|-)</string>
      <key>name</key>
      <string>keyword.operator.gn</string>
    </dict>
    <dict>
      <key>comment</key>
      <string>targets</string>
      <key>match</key>
      <string>\b(?:action|action_foreach|copy|executable|group|loadable_module|shared_library|source_set|static_library|generated_file|rust_library|rust_proc_macro)\b</string>
      <key>name</key>
      <string>entity.name.tag.gn</string>
    </dict>
    <dict>
      <key>comment</key>
      <string>functions</string>
      <key>match</key>
      <string>\b(?:assert|config|declare_args|defined|exec_script|foreach|get_label_info|get_path_info|get_target_outputs|getenv|import|print|process_file_template|read_file|rebase_path|set_default_toolchain|set_defaults|split_list|string_join|string_split|template|tool|toolchain|toolchain_args|propagates_configs|write_file)\b</string>
      <key>name</key>
      <string>entity.name.function.gn</string>
    </dict>
    <dict>
      <key>comment</key>
      <string>predefined variables</string>
      <key>match</key>
      <string>\b(?:current_cpu|current_os|current_toolchain|default_toolchain|host_cpu|host_os|python_path|root_build_dir|root_gen_dir|root_out_dir|target_cpu|target_gen_dir|target_os|target_out_dir)\b</string>
      <key>name</key>
      <string>variable.parameter.gn</string>
    </dict>
    <dict>
      <key>comment</key>
      <string>target variables</string>
      <key>match</key>
      <string>\b(?:all_dependent_configs|allow_circular_includes_from|args|asmflags|cflags|cflags_c|cflags_cc|cflags_objc|cflags_objcc|check_includes|complete_static_lib|configs|data|data_deps|defines|depfile|deps|framework_dirs|frameworks|include_dirs|inputs|ldflags|lib_dirs|libs|output_extension|output_name|outputs|public|public_configs|public_deps|script|sources|testonly|visibility|contents|output_conversion|rebase|data_keys|walk_keys)\b</string>
      <key>name</key>
      <string>entity.other.attribute-name.gn</string>
    </dict>
  </array>
  <key>scopeName</key>
  <string>source.gn</string>
  <key>uuid</key>
  <string>DE419F8C-EC46-4824-87F3-732BD08694DC</string>
</dict>
</plist>
