Skip to content
This repository was archived by the owner on Dec 15, 2022. It is now read-only.
Open
Changes from all commits
Commits
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
21 changes: 21 additions & 0 deletions opinionated-language-packages.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# Opinionated Language Packages

**Question:** Should Atom language package defaults be opinionated when it comes to language conventions?

Languages have syntactic requirements and the communities around them have conventions. When languages have syntactic requirements, such as Makefiles requiring tab characters for indentation, the clear answer is to use those requirements as the default so as to prevent the user from shooting themselves in the foot. When there are clear conventions, even ones that are strongly recommended but still not required, should Atom language packages use those conventions as the language package defaults?

* Examples
* [language-python](https://github.com/atom/language-python) has four spaces as the default for indentation as recommended by [PEP8](https://www.python.org/dev/peps/pep-0008/#indentation)
* [language-gfm](https://github.com/atom/language-gfm) disables trailing whitespace trimming because two spaces at the end of a line can be used as a line-continuation sentinel
* Counter-examples
* [language-c](https://github.com/atom/language-c) and [language-java](https://github.com/atom/language-java) do not set indentation width to 4 even though this is a clear and decades-long convention

Ref: https://github.com/atom/language-coffee-script/pull/91

## Arguments For

## Arguments Against

## Decision

TBD