Comments (2)
Thanks for the explanation, that sounds like a lot of trouble. Closing for now, as I'm very busy as well.
from haml-lint.
Hey @felixbuenemann, thanks for the suggestion.
While I think this would be an awesome feature to have, the way haml-lint
(and more specifically the HAML parser) is implemented makes it rather difficult to implement.
haml-lint
integrates with rubocop
by extracting Ruby code from a HAML document and creating a "fake" Ruby file to pass to rubocop
. It then converts the line numbers reported by Rubocop to line numbers of the original HAML document (using a map generated during the extraction phase).
Running rubocop
against this fake Ruby file with the --auto-correct
flag, finding the differences, and trying to apply those differences back to the original HAML file, is a difficult problem, and will probably have a bunch of edge cases as the HAML parse tree does not have a 1-to-1 mapping to the original HAML source code IIRC (i.e. different HAML source files can correspond to the same parse tree, so a certain parse tree does not uniquely translate to a source file). That may not be a deal-breaker, but it certainly adds some complexity.
I would be open to a well-tested pull request if anyone wanted to tackle this, but I won't have the kind of time necessary to explore this particular feature myself.
from haml-lint.
Related Issues (20)
- Multiline pipes in JS files cause RuboCop to report "unexpected token tRCURLY"
- Haml-lint is running rubocop to lint JavaScript regex HOT 1
- False positive Rails/HttpStatus HOT 1
- Failing spec on main branch HOT 2
- Add support to Haml 6.2
- `haml-lint:disable` is ignored when line breaks on commas are present
- Add `-s`/`--stdin` option support HOT 2
- Allow Haml 6.3 HOT 3
- Haml 6.2 actions are not listed among required checks HOT 1
- Failing spec on main (local environment, up to date rubocop)
- Issue with Rubocop `Layout/IndentationConsistency` interaction with haml comment blocks HOT 2
- Version 0.53.0 has not been pushed to Rubygems HOT 1
- RuboCop: Lint/Syntax: unexpected token tSYMBOL and kEND HOT 5
- 0.54.0: Too many files open HOT 4
- Layout/ArgumentAlignment - False positive? HOT 2
- Feature Suggestion: require strict locals
- Possible false positives with Rails/FindEach
- Lint/Syntax: unexpected token kDO_BLOCK | Lint/Syntax: unexpected token kEND HOT 1
- False positive with Layout/SpaceInsideParens for multi-line attributes HOT 4
- Allow multiple reporters?
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from haml-lint.