Skip to content

Commit 2c37ecd

Browse files
committed
Maintenance
1 parent b2a2d19 commit 2c37ecd

File tree

12 files changed

+383
-260
lines changed

12 files changed

+383
-260
lines changed

Diff for: .circleci/config.yml

+58
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
version: 2.1
2+
3+
orbs:
4+
haskell: haskell-works/[email protected]
5+
github: haskell-works/[email protected]
6+
hackage: haskell-works/[email protected]
7+
8+
workflows:
9+
multiple-ghc-build:
10+
jobs:
11+
- haskell/build-with-binary-cache:
12+
name: GHC 8.2.2
13+
executor: haskell/ghc-8_2_2
14+
context: haskell-ci
15+
binary-cache-uri: ${BINARY_CACHE_URI-"http://hw-binary-cache-us-west-2-a.s3-website-us-west-2.amazonaws.com/archive"}
16+
cabal-build-extra: --write-ghc-environment-files=always
17+
18+
- haskell/build-with-binary-cache:
19+
name: GHC 8.4.4
20+
executor: haskell/ghc-8_4_4
21+
context: haskell-ci
22+
binary-cache-uri: ${BINARY_CACHE_URI-"http://hw-binary-cache-us-west-2-a.s3-website-us-west-2.amazonaws.com/archive"}
23+
cabal-build-extra: --write-ghc-environment-files=always
24+
25+
- haskell/build-with-binary-cache:
26+
name: GHC 8.6.5
27+
executor: haskell/ghc-8_6_5
28+
context: haskell-ci
29+
binary-cache-uri: ${BINARY_CACHE_URI-"http://hw-binary-cache-us-west-2-a.s3-website-us-west-2.amazonaws.com/archive"}
30+
cabal-build-extra: --write-ghc-environment-files=always
31+
32+
- haskell/build-with-binary-cache:
33+
name: GHC 8.8.1
34+
executor: haskell/ghc-8_8_1
35+
context: haskell-ci
36+
binary-cache-uri: ${BINARY_CACHE_URI-"http://hw-binary-cache-us-west-2-a.s3-website-us-west-2.amazonaws.com/archive"}
37+
cabal-build-extra: --write-ghc-environment-files=always
38+
39+
- github/release-cabal:
40+
name: GitHub Release
41+
context: haskell-ci
42+
requires:
43+
- GHC 8.2.2
44+
- GHC 8.4.4
45+
- GHC 8.6.5
46+
- GHC 8.8.1
47+
checkout: true
48+
filters:
49+
branches:
50+
only: master
51+
52+
- hackage/upload:
53+
context: haskell-ci
54+
publish: true
55+
requires:
56+
- GitHub Release
57+
username: ${HACKAGE_USER}
58+
password: ${HACKAGE_PASS}

Diff for: .circleci/whitelist-dependencies.txt

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
vector

Diff for: .stylish-haskell.yaml

+189
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,189 @@
1+
# stylish-haskell configuration file
2+
# ==================================
3+
4+
# The stylish-haskell tool is mainly configured by specifying steps. These steps
5+
# are a list, so they have an order, and one specific step may appear more than
6+
# once (if needed). Each file is processed by these steps in the given order.
7+
steps:
8+
# Convert some ASCII sequences to their Unicode equivalents. This is disabled
9+
# by default.
10+
# - unicode_syntax:
11+
# # In order to make this work, we also need to insert the UnicodeSyntax
12+
# # language pragma. If this flag is set to true, we insert it when it's
13+
# # not already present. You may want to disable it if you configure
14+
# # language extensions using some other method than pragmas. Default:
15+
# # true.
16+
# add_language_pragma: true
17+
18+
# Align the right hand side of some elements. This is quite conservative
19+
# and only applies to statements where each element occupies a single
20+
# line.
21+
- simple_align:
22+
cases: true
23+
top_level_patterns: true
24+
records: true
25+
26+
# Import cleanup
27+
- imports:
28+
# There are different ways we can align names and lists.
29+
#
30+
# - global: Align the import names and import list throughout the entire
31+
# file.
32+
#
33+
# - file: Like global, but don't add padding when there are no qualified
34+
# imports in the file.
35+
#
36+
# - group: Only align the imports per group (a group is formed by adjacent
37+
# import lines).
38+
#
39+
# - none: Do not perform any alignment.
40+
#
41+
# Default: global.
42+
align: group
43+
44+
# Folowing options affect only import list alignment.
45+
#
46+
# List align has following options:
47+
#
48+
# - after_alias: Import list is aligned with end of import including
49+
# 'as' and 'hiding' keywords.
50+
#
51+
# > import qualified Data.List as List (concat, foldl, foldr, head,
52+
# > init, last, length)
53+
#
54+
# - with_alias: Import list is aligned with start of alias or hiding.
55+
#
56+
# > import qualified Data.List as List (concat, foldl, foldr, head,
57+
# > init, last, length)
58+
#
59+
# - new_line: Import list starts always on new line.
60+
#
61+
# > import qualified Data.List as List
62+
# > (concat, foldl, foldr, head, init, last, length)
63+
#
64+
# Default: after_alias
65+
list_align: after_alias
66+
67+
# Long list align style takes effect when import is too long. This is
68+
# determined by 'columns' setting.
69+
#
70+
# - inline: This option will put as much specs on same line as possible.
71+
#
72+
# - new_line: Import list will start on new line.
73+
#
74+
# - new_line_multiline: Import list will start on new line when it's
75+
# short enough to fit to single line. Otherwise it'll be multiline.
76+
#
77+
# - multiline: One line per import list entry.
78+
# Type with contructor list acts like single import.
79+
#
80+
# > import qualified Data.Map as M
81+
# > ( empty
82+
# > , singleton
83+
# > , ...
84+
# > , delete
85+
# > )
86+
#
87+
# Default: inline
88+
long_list_align: inline
89+
90+
# Align empty list (importing instances)
91+
#
92+
# Empty list align has following options
93+
#
94+
# - inherit: inherit list_align setting
95+
#
96+
# - right_after: () is right after the module name:
97+
#
98+
# > import Vector.Instances ()
99+
#
100+
# Default: inherit
101+
empty_list_align: inherit
102+
103+
# List padding determines indentation of import list on lines after import.
104+
# This option affects 'long_list_align'.
105+
#
106+
# - <integer>: constant value
107+
#
108+
# - module_name: align under start of module name.
109+
# Useful for 'file' and 'group' align settings.
110+
list_padding: 4
111+
112+
# Separate lists option affects formating of import list for type
113+
# or class. The only difference is single space between type and list
114+
# of constructors, selectors and class functions.
115+
#
116+
# - true: There is single space between Foldable type and list of it's
117+
# functions.
118+
#
119+
# > import Data.Foldable (Foldable (fold, foldl, foldMap))
120+
#
121+
# - false: There is no space between Foldable type and list of it's
122+
# functions.
123+
#
124+
# > import Data.Foldable (Foldable(fold, foldl, foldMap))
125+
#
126+
# Default: true
127+
separate_lists: true
128+
129+
# Language pragmas
130+
- language_pragmas:
131+
# We can generate different styles of language pragma lists.
132+
#
133+
# - vertical: Vertical-spaced language pragmas, one per line.
134+
#
135+
# - compact: A more compact style.
136+
#
137+
# - compact_line: Similar to compact, but wrap each line with
138+
# `{-#LANGUAGE #-}'.
139+
#
140+
# Default: vertical.
141+
style: vertical
142+
143+
# Align affects alignment of closing pragma brackets.
144+
#
145+
# - true: Brackets are aligned in same collumn.
146+
#
147+
# - false: Brackets are not aligned together. There is only one space
148+
# between actual import and closing bracket.
149+
#
150+
# Default: true
151+
align: true
152+
153+
# stylish-haskell can detect redundancy of some language pragmas. If this
154+
# is set to true, it will remove those redundant pragmas. Default: true.
155+
remove_redundant: true
156+
157+
# Replace tabs by spaces. This is disabled by default.
158+
# - tabs:
159+
# # Number of spaces to use for each tab. Default: 8, as specified by the
160+
# # Haskell report.
161+
# spaces: 8
162+
163+
# Remove trailing whitespace
164+
- trailing_whitespace: {}
165+
166+
# A common setting is the number of columns (parts of) code will be wrapped
167+
# to. Different steps take this into account. Default: 80.
168+
columns: 800
169+
170+
# By default, line endings are converted according to the OS. You can override
171+
# preferred format here.
172+
#
173+
# - native: Native newline format. CRLF on Windows, LF on other OSes.
174+
#
175+
# - lf: Convert to LF ("\n").
176+
#
177+
# - crlf: Convert to CRLF ("\r\n").
178+
#
179+
# Default: native.
180+
newline: native
181+
182+
# Sometimes, language extensions are specified in a cabal file or from the
183+
# command line instead of using language pragmas in the file. stylish-haskell
184+
# needs to be aware of these, so it can parse the file correctly.
185+
#
186+
# No language extensions are enabled by default.
187+
# language_extensions:
188+
# - TemplateHaskell
189+
# - QuasiQuotes

Diff for: .vscode/tasks.json

+69
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
{
2+
"version": "2.0.0",
3+
"tasks": [
4+
{
5+
"label": "Build",
6+
"type": "shell",
7+
"command": "bash",
8+
"args": ["-lc", "cabal new-build && echo 'Done'"],
9+
"group": {
10+
"kind": "build",
11+
"isDefault": true
12+
},
13+
"problemMatcher": {
14+
"owner": "haskell",
15+
"fileLocation": "relative",
16+
"pattern": [
17+
{
18+
"regexp": "^(.+?):(\\d+):(\\d+):\\s+(error|warning|info):.*$",
19+
"file": 1, "line": 2, "column": 3, "severity": 4
20+
},
21+
{
22+
"regexp": "\\s*(.*)$",
23+
"message": 1
24+
}
25+
]
26+
},
27+
"presentation": {
28+
"echo": false,
29+
"reveal": "always",
30+
"focus": false,
31+
"panel": "shared",
32+
"showReuseMessage": false,
33+
"clear": true
34+
}
35+
},
36+
{
37+
"label": "Test",
38+
"type": "shell",
39+
"command": "bash",
40+
"args": ["-lc", "cabal new-test --enable-tests && echo 'Done'"],
41+
"group": {
42+
"kind": "test",
43+
"isDefault": true
44+
},
45+
"problemMatcher": {
46+
"owner": "haskell",
47+
"fileLocation": "relative",
48+
"pattern": [
49+
{
50+
"regexp": "^(.+?):(\\d+):(\\d+):.*$",
51+
"file": 1, "line": 2, "column": 3, "severity": 4
52+
},
53+
{
54+
"regexp": "\\s*(\\d\\)\\s)?(.*)$",
55+
"message": 2
56+
}
57+
]
58+
},
59+
"presentation": {
60+
"echo": false,
61+
"reveal": "always",
62+
"focus": false,
63+
"panel": "shared",
64+
"showReuseMessage": false,
65+
"clear": true
66+
}
67+
}
68+
]
69+
}

Diff for: circle.yml

-28
This file was deleted.

0 commit comments

Comments
 (0)