# MQL Clangd Configuration
# Auto-generated by MQL Clangd extension
# This file suppresses false-positive errors from clangd for MQL-specific syntax
#
# ============================================================================
# TO SUPPRESS ADDITIONAL WARNINGS:
# Add warning flags to the Suppress list below. Examples:
#   - -Wparentheses          # "Possible assignment in condition"
#   - -Wunused-variable      # Unused variable warnings
#   - -Wunused-parameter     # Unused parameter warnings
#
# Or use inline pragmas in your code:
#   #pragma clang diagnostic ignored "-Wparentheses"
# ============================================================================

Diagnostics:
  Suppress:
    - pp_file_not_found
    - err_pp_file_not_found
    - err_cannot_open_file
    - unsupported_encoding
    - unsupported_bom
    - bad_cxx_cast_generic
    - lexing_error
    - character_too_large
    - pp_invalid_directive
    - unknown_directive
    - pp_import_directive_ms
    - typecheck_incomplete_array_needs_initializer
    - illegal_decl_array_of_references
    - typecheck_subscript_not_integer
    - flexible_array_not_at_end
    - typecheck_invalid_operands
    - typecheck_decl_incomplete_type
    - typecheck_convert_incompatible_pointer
    - typecheck_invalid_lvalue_addrof
    - increment_decrement_enum
    - init_conversion_failed
    - reference_bind_drops_quals
    - lvalue_reference_bind_to_temporary
    - err_lvalue_reference_bind_to_unrelated
    - ovl_no_conversion_in_cast
    - ovl_no_viable_conversion_in_cast
    - ovl_no_viable_function_in_call
    - ovl_no_viable_function_in_init
    - ovl_no_viable_member_function_in_call
    - ovl_diff_return_type
    - ovl_ambiguous_call
    - ovl_ambiguous_conversion
    - ovl_ambiguous_conversion_in_cast
    - ovl_ambiguous_oper_binary
    - ovl_ambiguous_oper_unary
    - ambig_derived_to_base_conv
    - ovl_deleted_special_init
    - ovl_no_viable_subscript
    - error_subscript_overload
    - missing_default_ctor
    - ctor_conv_to_void_ptr
    - member_init_from_this
    - mem_init_not_member_or_class
    - uninitialized_member_in_ctor
    - access_dtor
    - allocation_of_abstract_type
    - incomplete_base_class
    - function_marked_override_not_overriding
    - undeclared_var_use
    - undeclared_var_use_suggest
    - redefinition
    - param_default_argument_redefinition
    - bad_parameter_name_template_id
    - non-pod-varargs
    - duplicate_case
    - writable-strings
    - conditional_ambiguous
    - err_typecheck_member_reference_suggestion
    - invalid_non_static_member_use
    - err_field_incomplete_or_sizeless
    - new_incomplete_or_sizeless_type
    - sizeof_alignof_incomplete_or_sizeless_type
    - err_typecheck_bool_condition
    - err_typecheck_ambiguous_condition
    - tautological-constant-out-of-range-compare
    - unknown_typename
    - no_template
    - no_template_suggest
    - unknown_type_or_class_name_suggest
    - ref_non_value
    - expected_lparen_after_type
    - invalid_token_after_toplevel_declarator
    - expected_unqualified_id
    - unexpected_unqualified_id
    - expected_param_declarator
    - missing_param
    - expected_type
    - typename_requires_specqual
    - unexpected_typedef
    - expected_class_name
    - template_missing_args
    - member_with_template_arguments
    - missing_type_specifier
    - expected_semi_decl_list
    - member_redeclared
    - expected_after
    - extraneous_closing_brace
    - expected_qualified_after_typename
    - override_keyword_only_allowed_on_virtual_member_functions
    - auto_not_allowed
    - invalid_decl_spec_combination
    - expected_fn_body
    - typename_nested_not_found
    - member_function_call_bad_type
    - member_call_without_object
    - typecheck_unary_expr
    - typecheck_convert_incompatible
    - typecheck_member_reference_struct_union
    - typecheck_nonviable_condition
    - typecheck_call_too_many_args_at_most
    - typecheck_call_too_many_args_suggest
    - typecheck_call_too_few_args_at_least
    - typecheck_call_too_few_args_suggest
    - base_class_has_flexible_array_member
    - flexible_array_has_nontrivial_dtor
    - unknown_typename_suggest
    - impcast_complex_scalar
    - ovl_no_viable_oper
    - ovl_ambiguous_member_call
    - typecheck_subscript_value
    - ovl_ambiguous_init
    - reference_bind_failed
    - typecheck_call_too_many_args
    - typecheck_call_too_few_args_at_least_one
    - excess_initializers
    - typecheck_expression_not_modifiable_lvalue
    - incomplete_member_access
    - incomplete_type
    - typecheck_incomplete_tag
    - constructor_return_type
    - destructor_return_type
    - pp_including_mainfile_in_preamble
    - pp_include_too_deep
    - expected_expression
    - constructor_redeclared
    - bound_member_function
    - static_out_of_line
    - no_member_suggest
    - no_member
    - expected
    - err_member_reference_needs_call
    - member_reference_needs_call
    - expected_arrow_after_this
    - err_expected_arrow_after_this
    - extraneous_token_before_semi
    - expected_semi_after_expr
    - member_def_does_not_match_ret_type
    - member_decl_does_not_match
    - ovl_no_oper
    - typecheck_assign_const
    - fe_expected_compiler_job
    - typecheck_decl_incomplete_type

  ClangTidy:
    Remove:
      - modernize-*
      - cppcoreguidelines-*
      - readability-identifier-naming
      - bugprone-narrowing-conversions
      - cert-*
      - hicpp-*
      - performance-*
      - google-*
    
Hover:
    ShowAKA: No

CompileFlags:
  Add:
    # Suppress all warnings in .clangd config; targeted -Wno-* flags are already set in baseFlags
    - -Wno-everything

InlayHints:
  Enabled: Yes
  ParameterNames: Yes
  DeducedTypes: Yes
