|
1 | 1 | # Development recommendations
|
2 | 2 |
|
3 |
| -Before continuing, make sure you've read: |
| 3 | +Most of our developers use using [Visual Studio Code](https://code.visualstudio.com/). In that case, you just have to open the project, and install the recommended extensions. Before continuing, make sure you've read: |
4 | 4 |
|
5 |
| -- [Alejandro's post on setting up a Haskell development environment](https://www.47deg.com/blog/setting-up-haskell/). |
| 5 | +- [Alejandro's post on setting up a Haskell development environment](https://www.47deg.com/blog/setting-up-haskell/), but forget about the Visual Studio Code configuration outlined there. |
6 | 6 | - [Kowainik's Haskell Style Guide](https://kowainik.github.io/posts/2019-02-06-style-guide).
|
7 | 7 |
|
8 |
| -## VSCode extensions |
| 8 | +## Visual Studio Code extensions |
9 | 9 |
|
10 |
| -To make our lives easier while developing in Haskell, we use the following extensions: |
| 10 | +To make our lives easier while developing in Haskell, we use a set of recommended extensions. The first time you open the project, the editor should suggest to install all those you do not have, |
11 | 11 |
|
12 |
| -- [ghcide](https://marketplace.visualstudio.com/items?itemName=DigitalAssetHoldingsLLC.ghcide), the best thing that happened to Haskell for editors/IDEs! ❤️ |
| 12 | +- [Haskell](https://marketplace.visualstudio.com/items?itemName=haskell.haskell), the best thing that happened to Haskell for editors/IDEs! ❤️ |
13 | 13 | - [hlint](https://marketplace.visualstudio.com/items?itemName=hoovercj.haskell-linter), another great extension to have suggestions and refactors in Haskell 🛠
|
14 | 14 | - [stylish-haskell](https://marketplace.visualstudio.com/items?itemName=vigoo.stylish-haskell), the formatter we use to prettify the code 💅🏼
|
15 | 15 | - [editorconfig](https://marketplace.visualstudio.com/items?itemName=EditorConfig.EditorConfig), to have consistency between different editors and envs 🐀
|
16 | 16 |
|
17 |
| -## stylish-haskell 💅🏼 |
| 17 | +## Styling 💅🏼 |
18 | 18 |
|
19 |
| -Regarding the formatter, we use the `master` version of [stylish-haskell](https://github.com/jaspervdj/stylish-haskell) to be able to use language pragmas with lowercase, so you'll need to do this locally: |
| 19 | +We loosely follow [Kowainik's Haskell Style Guide](https://kowainik.github.io/posts/2019-02-06-style-guide). In order to automate styling, we use [stylish-haskell](https://github.com/jaspervdj/stylish-haskell), for which we provide a `.stylish-haskell.yaml` configuration file. |
20 | 20 |
|
21 |
| -```sh |
22 |
| -$ git clone https://github.com/jaspervdj/stylish-haskell |
23 |
| -$ ... |
24 |
| -$ cd stylish-haskell && stack install |
25 |
| -``` |
26 |
| - |
27 |
| -We don't provide any git hook or tool that enforces our style. However, before you propose any PR please make sure to run `stylish-haskell` yourself, and to follow our style guide mentioned above to the extent possible. 😊 |
28 |
| - |
29 |
| -If you wan't to automate this for your VSCode, add the following to your `.vscode/settings.json`: |
30 |
| - |
31 |
| -```json |
32 |
| -{ |
33 |
| - "editor.formatOnSave": true |
34 |
| -} |
35 |
| -``` |
| 21 | +We don't provide any git hook or tool that enforces our style. By default the provided `.vscode/settings.json` file runs styling on every save. However, before you propose any PR please make sure to run `stylish-haskell` yourself, and to follow our style guide mentioned above to the extent possible. 😊 |
36 | 22 |
|
37 | 23 | Happy hacking! 👏🏼
|
0 commit comments