forked fromdavidwessman/syntax_tree-erb
- Notifications
You must be signed in to change notification settings - Fork0
Syntax Tree support for ERB
License
NotificationsYou must be signed in to change notification settings
spect88/syntax_tree-erb
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Syntax Tree support for ERB.
Currently handles
- ERB
- Tags with and without output
- Tags inside strings
if
,elsif
,else
andunless
statements- blocks
- comments
- Formatting of the ruby-code is done by
syntax_tree
- HTML
- Tags with attributes
- Tags with and without closing tags
- Comments
- Vue
- Attributes, events and slots using
:
,@
and#
respectively
- Attributes, events and slots using
- Text output
- Please add to this pinned issue (davidwessman#28) or create a separate issue if you encounter formatting or parsing errors.
Add this line to your application's Gemfile:
gem"w_syntax_tree-erb","~> 0.11",require:false
I added the
w_
prefix to avoid conflicts if there will ever be an officialsyntax_tree-erb
gem.
bundleexec stree ast --plugins=erb"./**/*.html.erb"
bundleexec stree write --plugins=erb"./**/*.html.erb"
require"syntax_tree/erb"ppSyntaxTree::ERB.parse(source)# print out the ASTputsSyntaxTree::ERB.format(source)# format the AST
In order to get a list of all parsing errors (which needs to be fixed before the formatting works), this script can be used:
#!/bin/rubyrequire"syntax_tree/erb"failures=[]Dir.glob("./app/**/*.html.erb").eachdo |file|puts("Processing#{file}")beginsource=SyntaxTree::ERB.read(file)SyntaxTree::ERB.parse(source)SyntaxTree::ERB.format(source)rescue=>exceptionfailures <<{file:file,message:exception.message}endendputsfailures
Installhusky
:
npm i -g husky
Setup linting:
npm run prepare
Install dependencies and run tests:
bundlebundleexec rake
Bug reports and pull requests are welcome on GitHub athttps://github.com/davidwessman/syntax_tree-erb.
The gem is available as open source under the terms of theMIT License.
About
Syntax Tree support for ERB
Resources
License
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Releases
No releases published
Packages0
No packages published
Languages
- Ruby90.8%
- HTML9.1%
- Shell0.1%