#
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements.  See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership.  The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License.  You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#

# https://editorconfig.org/

# top-most EditorConfig file
root = true

# Default, notably applicable to Java, XML, JavaScript and Shell
[*]
end_of_line = lf
trim_trailing_whitespace = true
insert_final_newline = true
charset = utf-8
indent_style = space
indent_size = 2
max_line_length = 100

[*.java]
ij_any_spaces_around_additive_operators = true
ij_any_spaces_around_assignment_operators = true
ij_any_spaces_around_bitwise_operators = true
ij_any_spaces_around_equality_operators = true
ij_any_spaces_around_lambda_arrow = true
ij_any_spaces_around_logical_operators = true
ij_any_spaces_around_multiplicative_operators = true
ij_any_spaces_around_relational_operators = true
ij_any_spaces_around_shift_operators = true
ij_continuation_indent_size = 4
ij_java_if_brace_force = always
ij_java_indent_case_from_switch = false
ij_java_space_after_colon = true
ij_java_space_before_colon = true
ij_java_ternary_operation_signs_on_next_line = true
ij_java_use_single_class_imports = true
ij_java_wrap_long_lines = true
ij_java_align_multiline_parameters = false

# Windows scripts
[{*.bat,*.cmd}]
end_of_line = crlf

# C and C++
[*.{c, cpp}]
indent_size = 4

# Ignore third party JS
[**/static/js**]
indent_style = ignore
indent_size = ignore

# Ignore minified JS
[**.min.js]
indent_style = ignore
indent_size = ignore
