Skip to content

Commit f69c4a6

Browse files
committed
Added .editorconfig and installed Fantomas tool
1 parent 6a01447 commit f69c4a6

File tree

3 files changed

+276
-0
lines changed

3 files changed

+276
-0
lines changed

.config/dotnet-tools.json

+6
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,12 @@
77
"commands": [
88
"fsdocs"
99
]
10+
},
11+
"fantomas": {
12+
"version": "5.0.0-beta-010",
13+
"commands": [
14+
"fantomas"
15+
]
1016
}
1117
}
1218
}

.editorconfig

+269
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,269 @@
1+
root = true
2+
###############################
3+
# Core EditorConfig Options #
4+
###############################
5+
# All files
6+
# [*] # Do not apply to all files not to break something
7+
# Either crlf | lf, default is system-dependent (when not specified at all)
8+
# end_of_line=crlf
9+
# Remove whitespace at the end of any line
10+
11+
# Code files
12+
[*.{cs,csx,fs,fsi,fsx}]
13+
trim_trailing_whitespace = true
14+
insert_final_newline = true
15+
indent_style = space # default=space
16+
indent_size = 4 # default=4
17+
charset = utf-8
18+
19+
# Project files and app specific XML files
20+
[*.{csproj,fsproj,shproj,projitems,props,xaml}]
21+
trim_trailing_whitespace = true
22+
insert_final_newline = true
23+
indent_style = space
24+
indent_size = 2
25+
26+
# XML configuration files
27+
[{app.config,nuget.config,packages.config,web.config}]
28+
trim_trailing_whitespace = true
29+
insert_final_newline = true
30+
indent_style = space
31+
indent_size = 2
32+
33+
# XML files
34+
[*.xml]
35+
trim_trailing_whitespace = false # do not trim as it affects CData
36+
insert_final_newline = true
37+
indent_style = space
38+
indent_size = 2
39+
40+
# JSON and YAML files
41+
[*.{json,yml,yaml}]
42+
trim_trailing_whitespace = true
43+
insert_final_newline = true
44+
indent_style = space
45+
indent_size = 2
46+
47+
# Proto files
48+
[*.proto]
49+
trim_trailing_whitespace = true
50+
insert_final_newline = true
51+
indent_style = space
52+
indent_size = 4
53+
54+
###############################
55+
# F# Coding Conventions #
56+
###############################
57+
# filetypes that need to be formatted by Fantomas:
58+
[*.{fs,fsx}]
59+
60+
# files to be ignored for Fantomas may go into this file, if present:
61+
# .fantomasignore
62+
63+
# indentation size, default=4
64+
indent_size=4
65+
66+
# line length before it gets broken down into multiple lines
67+
# default 120
68+
max_line_length=150
69+
70+
# Either crlf | lf, default is system-dependent (when not specified at all)
71+
# end_of_line=crlf
72+
73+
# Whether end-of-file has a newline, default=true
74+
insert_final_newline=true
75+
76+
# false: someLineOfCode
77+
# true: someLineOfCode;
78+
# default false
79+
fsharp_semicolon_at_end_of_line=false
80+
81+
# false: f(1,2)
82+
# true: f(1, 2)
83+
# default true
84+
fsharp_space_before_parameter=true
85+
86+
# false: Option.map(fun x -> x)
87+
# true: Option.map (fun x -> x)
88+
# default true
89+
fsharp_space_before_lowercase_invocation=true
90+
91+
# false: x.ToString()
92+
# true: x.ToString ()
93+
# default false
94+
fsharp_space_before_uppercase_invocation=true
95+
96+
# false: new Ship(withBeans)
97+
# true: new Ship (withBeans)
98+
# default false
99+
fsharp_space_before_class_constructor=true
100+
101+
# false: __.member Foo(x) = x
102+
# true: __.member Foo (x) = x
103+
# default false
104+
fsharp_space_before_member=true
105+
106+
# false: type Point = { x: int; y: int }
107+
# true: type Point = { x : int; y : int }
108+
# default false
109+
fsharp_space_before_colon=true
110+
111+
# false: (a,b,c)
112+
# true: (a, b, c)
113+
# default true
114+
fsharp_space_after_comma=true
115+
116+
# false: [a; b; 42]
117+
# true: [a ; b ; 42]
118+
# default false
119+
fsharp_space_before_semicolon=false
120+
121+
# false: [a;b;42]
122+
# true: [a; b; 42]
123+
# default true
124+
fsharp_space_after_semicolon=true
125+
126+
# false: no indent after `with` in a `try-with`
127+
# true: must indent after `with` in a `try-with`
128+
# default false
129+
fsharp_indent_on_try_with=false
130+
131+
# false: let a = [1;2;3]
132+
# true: let a = [ 1;2;3 ]
133+
# default true
134+
fsharp_space_around_delimiter=true
135+
136+
# breaks an if-then-else in smaller parts if it is on one line
137+
# default 40
138+
fsharp_max_if_then_else_short_width=60
139+
140+
# breaks an infix operator expression if it is on one line
141+
# infix: a + b + c
142+
# default 50
143+
fsharp_max_infix_operator_expression=60
144+
145+
# breaks a single-line record declaration
146+
# i.e. if this gets too wide: { X = 10; Y = 12 }
147+
# default 40
148+
fsharp_max_record_width=80
149+
150+
# breaks a record into one item per line if items exceed this number
151+
# i.e. if set to 1, this will be on three lines: { X = 10; Y = 12 }
152+
# requires fsharp_record_multiline_formatter=number_of_items to take effect
153+
# default 1
154+
fsharp_max_record_number_of_items=1
155+
156+
# whether to use line-length (by counting chars) or items (by counting fields)
157+
# for the record settings above
158+
# either number_of_items or character_width
159+
# default character_width
160+
fsharp_record_multiline_formatter=character_width
161+
162+
# breaks a single line array or list if it exceeds this size
163+
# default 40
164+
fsharp_max_array_or_list_width=100
165+
166+
# breaks an array or list into one item per line if items exceeds this number
167+
# i.e. if set to 1, this will be shown on three lines [1; 2; 3]
168+
# requires fsharp_array_or_list_multiline_formatter=number_of_items to take effect
169+
# default 1
170+
fsharp_max_array_or_list_number_of_items=1
171+
172+
# whether to use line-length (by counting chars) or items (by counting fields)
173+
# for the list and array settings above
174+
# either number_of_items or character_width
175+
# default character_width
176+
fsharp_array_or_list_multiline_formatter=character_width
177+
178+
# maximum with of a value binding, does not include keyword "let"
179+
# default 80
180+
fsharp_max_value_binding_width=100
181+
182+
# maximum width for function and member binding (rh-side)
183+
# default 40
184+
fsharp_max_function_binding_width=80
185+
186+
# maximum width for expressions like X.DoY().GetZ(10).Help()
187+
# default 50
188+
fsharp_max_dot_get_expression_width=80
189+
190+
# whether open/close brackets go on same colum
191+
# false: type Range =
192+
# { From: float
193+
# To: float }
194+
# true: type Range =
195+
# {
196+
# From: float
197+
# To: float
198+
# }
199+
# default false
200+
fsharp_multiline_block_brackets_on_same_column=false
201+
202+
# whether a newline should be placed before members
203+
# false: type Range =
204+
# { From: float }
205+
# member this.Length = this.To - this.From
206+
# true: type Range =
207+
# { From: float }
208+
#
209+
# member this.Length = this.To - this.From
210+
# default false
211+
fsharp_newline_between_type_definition_and_members=true
212+
213+
# deprecated setting, has no effect anymore
214+
# default false
215+
fsharp_keep_if_then_in_same_line=true
216+
217+
# configures max width of Elmish expressions
218+
# default 40
219+
fsharp_max_elmish_width=40
220+
221+
# Applies to Elmish expressions
222+
# default false
223+
fsharp_single_argument_web_mode=false
224+
225+
# if a function sign exceeds max_line_length, then:
226+
# false: do not place the equal-sign on a single line
227+
# true: place the equal-sign on a single line
228+
# default false
229+
fsharp_align_function_signature_to_indentation=false
230+
231+
# see docs: https://github.com/fsprojects/fantomas/blob/master/docs/Documentation.md#fsharp_alternative_long_member_definitions
232+
# default false
233+
fsharp_alternative_long_member_definitions=false
234+
235+
# places closing paren in lambda on a newline in multiline lambdas
236+
# default false
237+
fsharp_multi_line_lambda_closing_newline=false
238+
239+
# disables Elmish syntax parsing
240+
fsharp_disable_elmish_syntax=true
241+
242+
# allows the 'else'-branch to be aligned at same level as 'else' if the ret type allows it
243+
# false: match x with
244+
# | null -> ()
245+
# | _ -> ()
246+
# true: match x with
247+
# | null -> ()
248+
# | _ ->
249+
# ()
250+
# default false
251+
fsharp_experimental_keep_indent_in_branch=true
252+
253+
# multiline, nested expressions must be surrounded by blank lines
254+
# default true
255+
fsharp_blank_lines_around_nested_multiline_expressions=true
256+
257+
# whether a bar is placed before DU
258+
# false: type MyDU = Short of int
259+
# true: type MyDU = | Short of int
260+
# default false
261+
fsharp_bar_before_discriminated_union_declaration=false
262+
263+
# whether to use stroustrup style for records, lists and CEs
264+
# To work reliably, fsharp_multiline_block_brackets_on_same_column must be "true"
265+
fsharp_experimental_stroustrup_style=true
266+
267+
# from docs: Please do not use this setting for formatting hand written code!
268+
# default false
269+
fsharp_strict_mode=false

FSharp.Data.GraphQL.sln

+1
Original file line numberDiff line numberDiff line change
@@ -133,6 +133,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "server", "server", "{9D5C46
133133
EndProject
134134
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{E3330910-8B6C-4191-8046-D6D57FBC39B1}"
135135
ProjectSection(SolutionItems) = preProject
136+
.editorconfig = .editorconfig
136137
Directory.Build.targets = Directory.Build.targets
137138
global.json = global.json
138139
LICENSE.txt = LICENSE.txt

0 commit comments

Comments
 (0)