-
Notifications
You must be signed in to change notification settings - Fork 16
/
.protolint.yaml
149 lines (129 loc) · 4.42 KB
/
.protolint.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
# Lint directives.
lint:
# Linter files to ignore.
ignores:
- id: MESSAGE_NAMES_UPPER_CAMEL_CASE
files:
- ./tools/proto/*.proto
- id: ENUM_NAMES_UPPER_CAMEL_CASE
files:
- ./tools/proto/*.proto
# Linter files to walk.
files:
# The specific files to exclude.
#exclude:
# - ./tools/proto/*.proto
# Linter directories to walk.
directories:
# The specific directories to exclude.
exclude:
- ./tools/shell
- ./apps
- ./libs
- ./functions
- ./documentation
- ./dist
- ./coverage
# Linter rules.
# Run `protolint list` to see all available rules.
rules:
# Determines whether or not to include the default set of linters.
no_default: true
# Set the default to all linters. This option works the other way around as no_default does.
# If you want to enable this option, delete the comment out below and no_default.
# all_default: true
# The specific linters to add.
add:
- FIELD_NAMES_LOWER_SNAKE_CASE
- MESSAGE_NAMES_UPPER_CAMEL_CASE
- MAX_LINE_LENGTH
- INDENT
- SERVICE_NAMES_END_WITH
- FIELD_NAMES_EXCLUDE_PREPOSITIONS
- MESSAGE_NAMES_EXCLUDE_PREPOSITIONS
- FILE_NAMES_LOWER_SNAKE_CASE
- IMPORTS_SORTED
- PACKAGE_NAME_LOWER_CASE
- ORDER
#- MESSAGES_HAVE_COMMENT
#- SERVICES_HAVE_COMMENT
#- RPCS_HAVE_COMMENT
#- FIELDS_HAVE_COMMENT
#- ENUMS_HAVE_COMMENT
#- ENUM_FIELDS_HAVE_COMMENT
- SYNTAX_CONSISTENT
# The specific linters to remove.
remove:
- RPC_NAMES_UPPER_CAMEL_CASE
# Linter rules option.
rules_option:
# MAX_LINE_LENGTH rule option.
max_line_length:
# Enforces a maximum line length
max_chars: 80
# Specifies the character count for tab characters
tab_chars: 2
# INDENT rule option.
indent:
# Available styles are 4(4-spaces), 2(2-spaces) or tab.
style: 2
# Available newlines are "\n", "\r", or "\r\n".
newline: "\n"
# IMPORTS_SORTED rule option.
imports_sorted:
# Available newlines are "\n", "\r", or "\r\n".
newline: "\n"
# ENUM_FIELD_NAMES_ZERO_VALUE_END_WITH rule option.
enum_field_names_zero_value_end_with:
suffix: INVALID
# SERVICE_NAMES_END_WITH rule option.
service_names_end_with:
text: Service
# FIELD_NAMES_EXCLUDE_PREPOSITIONS rule option.
field_names_exclude_prepositions:
# The specific prepositions to determine if the field name includes.
prepositions:
- for
- at
- of
# The specific keywords including prepositions to ignore. E.g. end_of_support is a term you would like to use, and skip checking.
excludes:
- end_of_support
# MESSAGE_NAMES_EXCLUDE_PREPOSITIONS rule option.
message_names_exclude_prepositions:
# The specific prepositions to determine if the message name includes.
prepositions:
- With
- For
- Of
# The specific keywords including prepositions to ignore. E.g. EndOfSupport is a term you would like to use, and skip checking.
excludes:
- EndOfSupport
# MESSAGES_HAVE_COMMENT rule option.
messages_have_comment:
# Comments need to begin with the name of the thing being described. default is false.
#should_follow_golang_style: true
# SERVICES_HAVE_COMMENT rule option.
services_have_comment:
# Comments need to begin with the name of the thing being described. default is false.
#should_follow_golang_style: true
# RPCS_HAVE_COMMENT rule option.
rpcs_have_comment:
# Comments need to begin with the name of the thing being described. default is false.
#should_follow_golang_style: true
# FIELDS_HAVE_COMMENT rule option.
fields_have_comment:
# Comments need to begin with the name of the thing being described. default is false.
#should_follow_golang_style: true
# ENUMS_HAVE_COMMENT rule option.
enums_have_comment:
# Comments need to begin with the name of the thing being described. default is false.
#should_follow_golang_style: true
# ENUM_FIELDS_HAVE_COMMENT rule option.
enum_fields_have_comment:
# Comments need to begin with the name of the thing being described. default is false.
#should_follow_golang_style: true
# SYNTAX_CONSISTENT rule option.
syntax_consistent:
# Default is proto3.
version: proto3