2
0
mirror of https://github.com/lnbook/lnbook synced 2024-11-18 21:28:03 +00:00
lnbook/.travis.yml
practicalswift 4b418666e6 travis: Add linter to make sure all lines end with a newline character (#68)
* travis: Add linter to make sure all lines end with a newline character

Ending newlines make line based Unix tools such as `tail`, etc work as expected.

Without ending newline:

```
prompt$ tail -1 ch02.asciidoc
* blockchain to save all transactions vs blockchain as a court system prompt$
```

With ending newline:

```
prompt$ tail -1 ch02.asciidoc
* blockchain to save all transactions vs blockchain as a court system
prompt$
```

Also, makes `git` not complain about "No newline at end of file" in diffs.

* Add newline at end of file

* Remove trailing whitespace
2019-09-20 13:48:52 -06:00

21 lines
1.4 KiB
YAML

language: minimal
dist: bionic
addons:
apt:
packages:
- python3-pip
- python3-setuptools
install:
- pip3 install --user codespell
script:
- git grep $'\r' -- "*.asciidoc" "*.md" && echo "^ Possible Windows style line ending detected. Please use Unix style line endings (\n)." && exit 1 || true
- git grep ' $' -- "*.asciidoc" "*.md" && echo "^ Trailing space detected at end of line. Please remove." && exit 1 || true
- git grep $'\t' -- "*.asciidoc" "*.md" && echo "^ Use of tabs detected. Please use space for indentation." && exit 1 || true
- git grep "[^ ] [^ ]" -- "*.asciidoc" "*.md" && echo "^ Satoshi style double spacing detected. Sorry Satoshi, please use single spacing." && exit 1 || true
- git grep -iE '(^| )(\w+) \2(\.|,|:|;| |$)' -- "*.asciidoc" "*.md" && echo "^ Detected lexical illusion in the form of a duplicated word. Please correct." && exit 1 || true
- for FILE in $(git ls-files -- "*.asciidoc" "*.md"); do if [[ $(tail -c1 $FILE) != "" ]]; then echo "File ${FILE} does not end with a newline character (\n)."; exit 1; fi; done
- git grep "" -- "*.asciidoc" "*.md" | uniq -c | grep -1 "^ [2-9] " | cut -b9- | sed 's/:$/:[more-than-one-blank-line-here-please-remove]/' | grep ":" && echo "^ Multiple blank lines detected. Please use only one blank line between paragraphs." && exit 1 || true
- codespell --ignore-words-list=que $(git ls-files -- "*.asciidoc" "*.md")