129 lines
3.6 KiB
Plaintext
Executable File
129 lines
3.6 KiB
Plaintext
Executable File
# Copyright (c) 2025 Element Creations Ltd.
|
|
# Copyright 2023-2024 New Vector Ltd.
|
|
#
|
|
# SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial.
|
|
# Please see LICENSE files in the repository root for full details.
|
|
|
|
# This file list String which are not allowed in source code.
|
|
# Use Perl regex to write forbidden strings
|
|
# Note: line cannot start with a space. Use \s instead.
|
|
# It is possible to specify an authorized number of occurrence with === suffix. Default is 0
|
|
# Example:
|
|
# AuthorizedStringThreeTimes===3
|
|
|
|
# Extension:kt
|
|
|
|
### No import static: use full class name
|
|
import static
|
|
|
|
### Rubbish from merge. Please delete those lines (sometimes in comment)
|
|
<<<<<<<
|
|
>>>>>>>
|
|
|
|
### carry return before "}". Please remove empty lines.
|
|
\n\s*\n\s*\}
|
|
|
|
### typo detected.
|
|
formated
|
|
abtract
|
|
Succes[^s]
|
|
succes[^s]
|
|
|
|
### Use int instead of Integer
|
|
protected Integer
|
|
|
|
### Use the interface declaration. Example: use type "Map" instead of type "HashMap" to declare variable or parameter. For Kotlin, use mapOf, setOf, ...
|
|
(private|public|protected| ) (static )?(final )?(HashMap|HashSet|ArrayList)<
|
|
|
|
### Use int instead of short
|
|
Short\.parseShort
|
|
\(short\)
|
|
private short
|
|
final short
|
|
|
|
### Line length is limited to 160 chars. Please split long lines
|
|
#[^─]{161}
|
|
|
|
### "DO NOT COMMIT" has been committed
|
|
DO NOT COMMIT
|
|
|
|
### invalid formatting
|
|
\s{8}/\*\n \*
|
|
# Now checked by ktlint
|
|
# [^\w]if\(
|
|
# while\(
|
|
# for\(
|
|
|
|
# Add space after //
|
|
# DISABLED To re-enable when code will be formatted globally
|
|
#^\s*//[^\s]
|
|
|
|
### invalid formatting (too many space char)
|
|
^ /\*
|
|
|
|
### unnecessary parenthesis around numbers, example: " (0)"
|
|
\(\d+\)[^"]
|
|
|
|
### import the package, do not use long class name with package
|
|
android\.os\.Build\.
|
|
|
|
### Tab char is forbidden. Use only spaces
|
|
\t
|
|
|
|
# Empty lines and trailing space
|
|
# DISABLED To re-enable when code will be formatted globally
|
|
#[ ]$
|
|
|
|
### Deprecated, use retrofit2.HttpException
|
|
import retrofit2\.adapter\.rxjava\.HttpException
|
|
|
|
### This is generally not necessary, no need to reset the padding if there is no drawable
|
|
setCompoundDrawablePadding\(0\)
|
|
|
|
# Change thread with Rx
|
|
# DISABLED
|
|
#runOnUiThread
|
|
|
|
### Bad formatting of chain (missing new line)
|
|
\w\.flatMap\(
|
|
|
|
### In Kotlin, Void has to be null safe, i.e. use 'Void?' instead of 'Void'
|
|
\: Void\)
|
|
|
|
### Kotlin conversion tools introduce this, but is can be replace by trim()
|
|
trim \{ it \<\= \' \' \}
|
|
|
|
### Put the operator at the beginning of next line
|
|
==$
|
|
|
|
### Use JsonUtils.getBasicGson()
|
|
new Gson\(\)
|
|
|
|
### Use TextUtils.formatFileSize
|
|
Formatter\.formatFileSize===1
|
|
|
|
### Use TextUtils.formatFileSize with short format param to true
|
|
Formatter\.formatShortFileSize===1
|
|
|
|
### Use `Context#getSystemService` extension function provided by `core-ktx`
|
|
getSystemService\(Context
|
|
|
|
### Use DefaultSharedPreferences.getInstance() instead for better performance
|
|
PreferenceManager\.getDefaultSharedPreferences==2
|
|
|
|
### Use the Clock interface, or use `measureTimeMillis`
|
|
System\.currentTimeMillis\(\)===1
|
|
|
|
### Remove extra space between the name and the description
|
|
\* @\w+ \w+ +
|
|
|
|
### Suspicious String template. Please check that the string template will behave as expected, i.e. the class field and not the whole object will be used. For instance `Timber.d("$event.type")` is not correct, you should write `Timber.d("${event.type}")`. In the former the whole event content will be logged, since it's a data class.
|
|
Timber.*\$[a-zA-Z_]\w*\??\.[a-zA-Z_]
|
|
|
|
### Use `import io.element.android.libraries.ui.strings.CommonStrings` then `CommonStrings.<stringKey>` instead
|
|
import io\.element\.android\.libraries\.ui\.strings\.R
|
|
|
|
# Accessibility
|
|
### Use string resource for `contentDescription`, or null instead of empty string
|
|
contentDescription = "
|