Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support haskell-src-exts 1.21. #86

Open
wants to merge 49 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
49 commits
Select commit Hold shift + click to select a range
109ee29
Support haskell-src-exts 1.21.
galenhuntington Dec 24, 2018
cb315dc
Relax haskell-src-exts constraint on test suite
DanBurton Feb 18, 2019
0d6a61f
Merge pull request #1 from DanBurton/galenhuntington-patch1
DanBurton Feb 18, 2019
a87cde4
Add .gitignore and stack.yaml files
DanBurton Feb 18, 2019
9cfe1d9
Update travis.yml and testsed-with
DanBurton Feb 18, 2019
ba00834
Add cpp for testing ghc < 8, see #2
DanBurton Feb 18, 2019
93925ff
Fix SKI example
DanBurton Feb 18, 2019
30b8c7f
Turn examples into tests
DanBurton Feb 18, 2019
cb8a5c6
s/pure/return, for the old ghcs
DanBurton Feb 18, 2019
3bd522c
Update metadata, prep for 0.8.1 release
DanBurton Feb 18, 2019
c3a8687
Update status images on readme
DanBurton Feb 19, 2019
b8c2c5f
Add toExp impl for type application
DanBurton Feb 27, 2019
87cb484
Compile with old template-haskell via cpp
DanBurton Feb 27, 2019
f4d6ad6
Fix dumb typo: noTHyet
DanBurton Feb 27, 2019
7c410e0
Bump version to 0.8.2
DanBurton Feb 27, 2019
27361be
Fix warnings
DanBurton Mar 1, 2019
217b82d
Export unused topbinds in examples
DanBurton Mar 1, 2019
f7706d1
Some cabal stuff to gitignore
DanBurton Mar 1, 2019
40e3796
Some nix files for local dev w/ nix
DanBurton Mar 1, 2019
a3006d9
Made it stylish
DanBurton Mar 2, 2019
32229cf
Run linters in travis
DanBurton Mar 2, 2019
23373f6
Install stylish-haskell via cabal
DanBurton Mar 2, 2019
150d7a5
Another attempt to fix cabal installed thing
DanBurton Mar 2, 2019
5bc6530
Only lint on one job (on the latest ghc)
DanBurton Mar 2, 2019
dfbe56d
Fix stupid typo
DanBurton Mar 2, 2019
b21964a
Augment shell.nix with more tools
DanBurton Mar 2, 2019
f10cbc9
Make pkgs an optional arg
DanBurton Mar 2, 2019
5c69c3a
Used qualified imports, brought in some updates
DanBurton Mar 2, 2019
f8fe859
Fixes for older temlate-haskell versions
DanBurton Mar 2, 2019
608fc0e
Add ghc opts to stack.yaml
DanBurton Mar 2, 2019
75adfa4
More fixes for various versions of deps
DanBurton Mar 2, 2019
9b7b2fa
Moved some stuff around
DanBurton Mar 3, 2019
5d0417d
Fix travis per file reorg
DanBurton Mar 3, 2019
fe92823
Another travis fix
DanBurton Mar 3, 2019
a1ba60a
Install cabal2nix via cabal instead of apt
DanBurton Mar 3, 2019
22fe098
Fix issues with ghc 8.8
DanBurton Sep 4, 2019
ba372ad
Travis tweaks, test with ghc 8.8
DanBurton Sep 4, 2019
11d1336
More conditionals for legacy support
DanBurton Sep 5, 2019
9c8d9de
Merge pull request #11 from DanBurton/ghc-8_8
DanBurton Sep 5, 2019
203d717
Bump version & add changelog entry
DanBurton Sep 5, 2019
66d0b69
Support haskell-src-exts 1.22, drop some old cpp branches
DanBurton Nov 1, 2019
cc2232c
stylish
DanBurton Nov 1, 2019
e60904f
Add eq1 defn for older ghc
DanBurton Nov 2, 2019
06cb487
Bugfix older ghc branch
DanBurton Nov 2, 2019
8c8577b
Dumbing down the old-ghc code branch one more time
DanBurton Nov 2, 2019
c64abaa
One more hack for ghc 7.10
DanBurton Nov 2, 2019
915e70e
Merge pull request #12 from DanBurton/upgrade-exts
DanBurton Nov 2, 2019
e4b1e7c
Add support for template-haskell 2.16.
galenhuntington Nov 25, 2019
a3f11bb
See if this pleases Stylish.
galenhuntington Nov 25, 2019
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
.stack-work/
.ghc.environment.*
dist-newstyle/
dist/
cabal.project.local
229 changes: 229 additions & 0 deletions .stylish-haskell.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,229 @@
# stylish-haskell configuration file
# ==================================

# The stylish-haskell tool is mainly configured by specifying steps. These steps
# are a list, so they have an order, and one specific step may appear more than
# once (if needed). Each file is processed by these steps in the given order.
steps:
# Convert some ASCII sequences to their Unicode equivalents. This is disabled
# by default.
# - unicode_syntax:
# # In order to make this work, we also need to insert the UnicodeSyntax
# # language pragma. If this flag is set to true, we insert it when it's
# # not already present. You may want to disable it if you configure
# # language extensions using some other method than pragmas. Default:
# # true.
# add_language_pragma: true

# Align the right hand side of some elements. This is quite conservative
# and only applies to statements where each element occupies a single
# line.
- simple_align:
cases: true
top_level_patterns: true
records: true

# Import cleanup
- imports:
# There are different ways we can align names and lists.
#
# - global: Align the import names and import list throughout the entire
# file.
#
# - file: Like global, but don't add padding when there are no qualified
# imports in the file.
#
# - group: Only align the imports per group (a group is formed by adjacent
# import lines).
#
# - none: Do not perform any alignment.
#
# Default: global.
align: group

# The following options affect only import list alignment.
#
# List align has following options:
#
# - after_alias: Import list is aligned with end of import including
# 'as' and 'hiding' keywords.
#
# > import qualified Data.List as List (concat, foldl, foldr, head,
# > init, last, length)
#
# - with_alias: Import list is aligned with start of alias or hiding.
#
# > import qualified Data.List as List (concat, foldl, foldr, head,
# > init, last, length)
#
# - new_line: Import list starts always on new line.
#
# > import qualified Data.List as List
# > (concat, foldl, foldr, head, init, last, length)
#
# Default: after_alias
list_align: after_alias

# Right-pad the module names to align imports in a group:
#
# - true: a little more readable
#
# > import qualified Data.List as List (concat, foldl, foldr,
# > init, last, length)
# > import qualified Data.List.Extra as List (concat, foldl, foldr,
# > init, last, length)
#
# - false: diff-safe
#
# > import qualified Data.List as List (concat, foldl, foldr, init,
# > last, length)
# > import qualified Data.List.Extra as List (concat, foldl, foldr,
# > init, last, length)
#
# Default: true
pad_module_names: true

# Long list align style takes effect when import is too long. This is
# determined by 'columns' setting.
#
# - inline: This option will put as much specs on same line as possible.
#
# - new_line: Import list will start on new line.
#
# - new_line_multiline: Import list will start on new line when it's
# short enough to fit to single line. Otherwise it'll be multiline.
#
# - multiline: One line per import list entry.
# Type with constructor list acts like single import.
#
# > import qualified Data.Map as M
# > ( empty
# > , singleton
# > , ...
# > , delete
# > )
#
# Default: inline
long_list_align: new_line

# Align empty list (importing instances)
#
# Empty list align has following options
#
# - inherit: inherit list_align setting
#
# - right_after: () is right after the module name:
#
# > import Vector.Instances ()
#
# Default: inherit
empty_list_align: right_after

# List padding determines indentation of import list on lines after import.
# This option affects 'long_list_align'.
#
# - <integer>: constant value
#
# - module_name: align under start of module name.
# Useful for 'file' and 'group' align settings.
list_padding: 2

# Separate lists option affects formatting of import list for type
# or class. The only difference is single space between type and list
# of constructors, selectors and class functions.
#
# - true: There is single space between Foldable type and list of it's
# functions.
#
# > import Data.Foldable (Foldable (fold, foldl, foldMap))
#
# - false: There is no space between Foldable type and list of it's
# functions.
#
# > import Data.Foldable (Foldable(fold, foldl, foldMap))
#
# Default: true
separate_lists: true

# Space surround option affects formatting of import lists on a single
# line. The only difference is single space after the initial
# parenthesis and a single space before the terminal parenthesis.
#
# - true: There is single space associated with the enclosing
# parenthesis.
#
# > import Data.Foo ( foo )
#
# - false: There is no space associated with the enclosing parenthesis
#
# > import Data.Foo (foo)
#
# Default: false
space_surround: false

# Language pragmas
- language_pragmas:
# We can generate different styles of language pragma lists.
#
# - vertical: Vertical-spaced language pragmas, one per line.
#
# - compact: A more compact style.
#
# - compact_line: Similar to compact, but wrap each line with
# `{-#LANGUAGE #-}'.
#
# Default: vertical.
style: vertical

# Align affects alignment of closing pragma brackets.
#
# - true: Brackets are aligned in same column.
#
# - false: Brackets are not aligned together. There is only one space
# between actual import and closing bracket.
#
# Default: true
align: true

# stylish-haskell can detect redundancy of some language pragmas. If this
# is set to true, it will remove those redundant pragmas. Default: true.
remove_redundant: true

# Replace tabs by spaces. This is disabled by default.
- tabs:
# Number of spaces to use for each tab. Default: 8, as specified by the
# Haskell report.
spaces: 8

# Remove trailing whitespace
- trailing_whitespace: {}

# Squash multiple spaces between the left and right hand sides of some
# elements into single spaces. Basically, this undoes the effect of
# simple_align but is a bit less conservative.
# - squash: {}

# A common setting is the number of columns (parts of) code will be wrapped
# to. Different steps take this into account. Default: 80.
columns: 80

# By default, line endings are converted according to the OS. You can override
# preferred format here.
#
# - native: Native newline format. CRLF on Windows, LF on other OSes.
#
# - lf: Convert to LF ("\n").
#
# - crlf: Convert to CRLF ("\r\n").
#
# Default: native.
newline: lf

# Sometimes, language extensions are specified in a cabal file or from the
# command line instead of using language pragmas in the file. stylish-haskell
# needs to be aware of these, so it can parse the file correctly.
#
# No language extensions are enabled by default.
# language_extensions:
# - TemplateHaskell
# - QuasiQuotes
Loading