Skip to content

Commit

Permalink
Merge pull request #73 from fsprojects/reformat
Browse files Browse the repository at this point in the history
Apply standard formatting across the board
  • Loading branch information
samritchie authored Feb 12, 2024
2 parents a8003d5 + ff3e40d commit 0f5bb4f
Show file tree
Hide file tree
Showing 35 changed files with 4,112 additions and 2,974 deletions.
6 changes: 6 additions & 0 deletions .config/dotnet-tools.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,12 @@
"commands": [
"paket"
]
},
"fantomas": {
"version": "6.2.3",
"commands": [
"fantomas"
]
}
}
}
188 changes: 183 additions & 5 deletions .editorconfig
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,186 @@ indent_style = space
[*.xml]
indent_size = 2

# fsharp files
[*.{fs, fsx}]
indent_size = 4
trim_trailing_whitespace = true
insert_final_newline = true
###############################
# F# Coding Conventions #
###############################
# filetypes that need to be formatted by Fantomas:
[*.{fs,fsx}]

# files to be ignored for Fantomas may go into this file, if present:
# .fantomasignore

# indentation size, default=4
indent_size=4

# line length before it gets broken down into multiple lines
# default 120
max_line_length=140

# Either crlf | lf, default is system-dependent (when not specified at all)
# end_of_line=crlf

# Whether end-of-file has a newline, default=true
insert_final_newline=true

# false: f(1,2)
# true: f(1, 2)
# default true
fsharp_space_before_parameter=true

# false: Option.map(fun x -> x)
# true: Option.map (fun x -> x)
# default true
fsharp_space_before_lowercase_invocation=true

# false: x.ToString()
# true: x.ToString ()
# default false
fsharp_space_before_uppercase_invocation=false

# false: new Ship(withBeans)
# true: new Ship (withBeans)
# default false
fsharp_space_before_class_constructor=false

# false: __.member Foo(x) = x
# true: __.member Foo (x) = x
# default false
fsharp_space_before_member=false

# false: type Point = { x: int; y: int }
# true: type Point = { x : int; y : int }
# default false
fsharp_space_before_colon=false

# false: (a,b,c)
# true: (a, b, c)
# default true
fsharp_space_after_comma=true

# false: [a; b; 42]
# true: [a ; b ; 42]
# default false
fsharp_space_before_semicolon=false

# false: [a;b;42]
# true: [a; b; 42]
# default true
fsharp_space_after_semicolon=true

# false: let a = [1;2;3]
# true: let a = [ 1;2;3 ]
# default true
fsharp_space_around_delimiter=true

# breaks an if-then in smaller parts if it is on one line (recommend to keep default)
# default 0
fsharp_max_if_then_short_width=0

# breaks an if-then-else in smaller parts if it is on one line
# default 40
fsharp_max_if_then_else_short_width=60

# breaks an infix operator expression if it is on one line
# infix: a + b + c
# default 50
fsharp_max_infix_operator_expression=100

# breaks a single-line record declaration
# i.e. if this gets too wide: { X = 10; Y = 12 }
# requires fsharp_record_multiline_formatter=character_width to take effect
# default 40
fsharp_max_record_width=80

# breaks a record into one item per line if items exceed this number
# i.e. if set to 1, this will be on three lines: { X = 10; Y = 12 }
# requires fsharp_record_multiline_formatter=number_of_items to take effect
# default 1
fsharp_max_record_number_of_items=1

# whether to use line-length (by counting chars) or items (by counting fields)
# for the record settings above
# either number_of_items or character_width
# default character_width
fsharp_record_multiline_formatter=character_width

# breaks a single line array or list if it exceeds this size
# requires fsharp_array_or_list_multiline_formatter=character_width to take effect
# default 40
fsharp_max_array_or_list_width=100

# breaks an array or list into one item per line if items exceeds this number
# i.e. if set to 1, this will be shown on three lines [1; 2; 3]
# requires fsharp_array_or_list_multiline_formatter=number_of_items to take effect
# default 1
fsharp_max_array_or_list_number_of_items=1

# whether to use line-length (by counting chars) or items (by counting fields)
# for the list and array settings above
# either number_of_items or character_width
# default character_width
fsharp_array_or_list_multiline_formatter=character_width

# maximum with of a value binding, does not include keyword "let"
# default 80
fsharp_max_value_binding_width=140

# maximum width for function and member binding (rh-side)
# default 40
fsharp_max_function_binding_width=100

# maximum width for expressions like X.DoY().GetZ(10).Help()
# default 50
fsharp_max_dot_get_expression_width=80

# cramped: the default way in F# to format brackets.
# aligned: alternative way of formatting records, arrays and lists. This will align the braces at the same column level.
# stroustrup: allow for easier reordering of members and keeping the code succinct.
fsharp_multiline_bracket_style=cramped

# insert a newline before a computation expression that spans multiple lines
# default true
fsharp_newline_before_multiline_computation_expression = false

# whether a newline should be placed before members
# false: type Range =
# { From: float }
# member this.Length = this.To - this.From
# false: type Range =
# { From: float }
#
# member this.Length = this.To - this.From
# default false
fsharp_newline_between_type_definition_and_members=true

# if a function sign exceeds max_line_length, then:
# false: do not place the equal-sign on a single line
# true: place the equal-sign on a single line
# default false
fsharp_align_function_signature_to_indentation=false

# see docs: https://fsprojects.github.io/fantomas/docs/end-users/Configuration.html#fsharp_alternative_long_member_definitions
# default false
fsharp_alternative_long_member_definitions=false

# places closing paren in lambda on a newline in multiline lambdas
# default false
fsharp_multi_line_lambda_closing_newline=false

# allows the 'else'-branch to be aligned at same level as 'else' if the ret type allows it
# default false
fsharp_experimental_keep_indent_in_branch=true

# whether a bar is placed before DU
# false: type MyDU = Short of int
# true: type MyDU = | Short of int
# default false
fsharp_bar_before_discriminated_union_declaration=false

# multiline, nested expressions must be surrounded by blank lines
# default true
fsharp_blank_lines_around_nested_multiline_expressions=false

# max number of consecutive blank lines to keep
# default 100
fsharp_keep_max_number_of_blank_lines=3
2 changes: 2 additions & 0 deletions .fantomasignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
AssemblyInfo.fs
paket-files/
Loading

0 comments on commit 0f5bb4f

Please sign in to comment.