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

bug/feature_request(coffeelint): allow 1 tab indentation #4523

Open
Kristinita opened this issue Mar 6, 2025 · 0 comments
Open

bug/feature_request(coffeelint): allow 1 tab indentation #4523

Kristinita opened this issue Mar 6, 2025 · 0 comments
Labels
issue:bug Report errors or unexpected behavior (auto-generated by issue forms)

Comments

@Kristinita
Copy link
Contributor

1. Summary

I want to use 1 tab indentation in my CoffeeScript files, but coffeelint.json schema check that it’s non-valid. It would be nice if the schema will support indentation with 1 tab.

2. MCVE

2.1. Files

KiraCoffee.coffee with 1 tab indentation:

kira = (goddess) ->
	console.log goddess

coffeelint.json:

{
	"indentation": {
		"value": 1
	},
	"no_spaces": {
		"level": "error"
	},
	"no_tabs": {
		"level": "ignore"
	}
}

As CoffeeLint documentation said:

  1. no_spaces — “This rule forbids spaces in indentation. It is disabled by default.”
  2. no_tabs — “This rule forbids tabs in indentation. Enough said. It is enabled by default.”

I have to use both options for using tabs in my .coffee files.

2.2. CoffeeLint command

D:\SashaDebugging\KiraCoffeelintSchema>coffeelint KiraCoffee.coffee
  ✓ KiraCoffee.coffee

✓ Ok! » 0 errors and 0 warnings in 1 file

I can’t remove the indentation key from coffeelint.json. If:

{
-	"indentation": {
-		"value": 1
-	},
	"no_spaces": {
		"level": "error"
	},
	"no_tabs": {
		"level": "ignore"
	}
}

I get the error:

D:\SashaDebugging\KiraCoffeelintSchema>coffeelint KiraCoffee.coffeeKiraCoffee.coffee#2-2: Line contains inconsistent indentation. (indentation) Expected 2 got 1.

✗ Lint! » 1 error and 0 warnings in 1 file

2.3. v8r command

I validate my coffeelint.json via v8r:

D:\SashaDebugging\KiraCoffeelintSchema>v8r coffeelint.json
ℹ No config file found
ℹ Processing .\coffeelint.json
ℹ Found schema in https://www.schemastore.org/api/json/catalog.json …
ℹ Validating .\coffeelint.json against schema from https://json.schemastore.org/coffeelint.json …
✖ .\coffeelint.json is invalid

.\coffeelint.json#/indentation/value must be equal to one of the allowed values

"indentation": {"value": 1}, isn’t valid in the current version of coffeelint.json. According to coffeelint.json schema, available values is 2 and 4.

3. Desired behavior

Indentation with 1 tab is standard for programming languages. I can’t find that CoffeeScript and/or CoffeeLint disallow it. I think it would be nice if coffeelint.json schema will support this behavior:

  1. If user use indentation with tabs ("no_spaces": {"level": "error"}, "no_tabs": {"level": "ignore"}), available values for the indentation key will be 1 and 2. I don’t think that indentation with 4 tabs is good.
  2. Else user use indentation with spaces ("no_spaces": {"level": "ignore"}, "no_tabs": {"level": "error"}), available values for the indentation key will be 2 and 4 as now. I don’t think that indentation with 1 space is good.

Thanks.

@hyperupcall hyperupcall added the issue:bug Report errors or unexpected behavior (auto-generated by issue forms) label Mar 6, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
issue:bug Report errors or unexpected behavior (auto-generated by issue forms)
Projects
None yet
Development

No branches or pull requests

2 participants