Comments (3)
I don't know if writing code this way always does what you want, and I would advise against it. I think haml-lint
is actually doing the right thing here given the quick investigation I've done.
Consider the following code:
- if false ||
- true
Wheee!
- else
Something else!
The above code fails to compile when run via haml
itself:
haml test.haml
Syntax error on line 4: Got "else" with no preceding "if"
Why this works without the else
is beyond the time I have to spare for this right now.
Just to drive the point home, consider another example:
= 1 +
= 2
Given your example above this should work, but it fails to compile. Spanning scripts across multiple lines doesn't do what you expect.
This does suggest we should add a linter for this situation, however. :)
from haml-lint.
Hi, I actually noticed the else problem with haml, and I obviously agree with your = 1 +
counter-example, it's just that .. well, sometimes you really want to be able to do a multiline if, and the |
haml operator doesn't seem to do the trick. But oh well, what can you do, back to rewriting.. :) I guess something like - tmp ||= subcondition
might do the trick.
I do agree that there should be a linter since this is apparently not supported nor even mentioned in haml docs. Also, please note that code like - if foo ||
without any subsequent -
line passes haml-lint checks as well.
from haml-lint.
Quickly whipped together a solution that will probably catch most cases in 11ca42a.
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.