Skip to content

Commit

Permalink
Merge pull request #21 from 2mol/dev
Browse files Browse the repository at this point in the history
PR for 1.1 release
  • Loading branch information
2mol authored Apr 19, 2019
2 parents df5888f + 5c319aa commit f8688b5
Show file tree
Hide file tree
Showing 24 changed files with 1,062 additions and 1,038 deletions.
1 change: 1 addition & 0 deletions .ghcid
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
--command="cabal new-repl" --restart=pboy.cabal
10 changes: 4 additions & 6 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
.stack-work/
pboy.cabal
*~
*.swp
*.pdf
dist/
dist-newstyle/
result
dist-newstyle
.stack-work/

2 changes: 2 additions & 0 deletions .hlint.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
- ignore: {name: "Eta reduce"}
- ignore: {name: "Avoid lambda"}
227 changes: 10 additions & 217 deletions .stylish-haskell.yaml
Original file line number Diff line number Diff line change
@@ -1,227 +1,20 @@
# 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
cases: false
top_level_patterns: false
records: false
- 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
# align: none
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: inline

# 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: inherit

# 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: 4

# 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
pad_module_names: false
long_list_align: new_line_multiline
empty_list_align: right_after
list_padding: 2
separate_lists: 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.
align: false
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: {}

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

# 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: native

# 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:
# - OverloadedStrings
# - NamedFieldPuns
# - GeneralizedNewtypeDeriving
# - TemplateHaskell
80 changes: 71 additions & 9 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,9 +1,71 @@
language: nix
sudo: true
os:
- osx
- linux
script: nix-build
after_success:
- sh tools/install-ghr.sh
- sh tools/attach-binary.sh
matrix:
include:
- language: nix
sudo: true
os: osx

script: nix-build

- language: nix
sudo: true
os: linux

script: nix-build

- language: generic
sudo: false
os: osx

cache:
directories:
- $HOME/.stack
- $HOME/.local/bin
- "$TRAVIS_BUILD_DIR/.stack-work"

addons:
apt:
packages:
- libgmp-dev

before_install:
- sh tools/install-stack.sh

install:
- stack setup
- stack build --only-dependencies

script:
- stack build

after_success:
- sh tools/install-ghr.sh
- sh tools/attach-binary.sh

- language: generic
sudo: false
os: linux

cache:
directories:
- $HOME/.stack
- $HOME/.local/bin
- "$TRAVIS_BUILD_DIR/.stack-work"

addons:
apt:
packages:
- libgmp-dev

before_install:
- sh tools/install-stack.sh

install:
- stack setup
- stack build --only-dependencies

script:
- stack build

after_success:
- sh tools/install-ghr.sh
- sh tools/attach-binary.sh
31 changes: 0 additions & 31 deletions ChangeLog.md

This file was deleted.

21 changes: 21 additions & 0 deletions Changelog.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
Changelog

1.1.0, 2019-04-19
- "first start" screen, showing the config file location.
- help screen.
- changed config location (now respects the XDG Base Directory Specification).
- ability to rename files in the library by pressing 'r'.
- ability to open the file while in the process of renaming (Ctrl-o).
- pressing 'q' in the main screen exits the application.
- color improvements.
- show library path, inbox path, and version number in the UI.
- fixed bug where the list of suggested filenames was hiding the last suggestion.
- more robust filepath handling.
- changed config format from toml to ini.

1.0.1, 2018-08-03
building with nix, moving CI to nix. (this all totally failed, and we
shall never speak of static linking again)

1.0.0, 2018-07-14
first major release.
9 changes: 0 additions & 9 deletions Makefile

This file was deleted.

Loading

0 comments on commit f8688b5

Please sign in to comment.