Merge pull request #2087 from darron1217/blade
Basic Implement of Blade Template
This commit is contained in:
commit
7b3bc35048
|
@ -67,12 +67,10 @@ before_install:
|
||||||
curl https://nixos.org/nix/install | sh &&
|
curl https://nixos.org/nix/install | sh &&
|
||||||
. ~/.nix-profile/etc/profile.d/nix.sh &&
|
. ~/.nix-profile/etc/profile.d/nix.sh &&
|
||||||
nix-env -i uncrustify R elm-format terraform atom atom-beta opam &&
|
nix-env -i uncrustify R elm-format terraform atom atom-beta opam &&
|
||||||
pip install --upgrade pip &&
|
|
||||||
pip install --user -r requirements.txt;
|
pip install --user -r requirements.txt;
|
||||||
elif [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
|
elif [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
|
||||||
brew update && brew cask zap oclint && brew bundle &&
|
brew update && brew cask zap oclint && brew bundle &&
|
||||||
ln -s /usr/local/bin/elm-format-0.17 /usr/local/bin/elm-format &&
|
ln -s /usr/local/bin/elm-format-0.17 /usr/local/bin/elm-format &&
|
||||||
pip2 install --upgrade pip &&
|
|
||||||
pip2 install -r requirements.txt;
|
pip2 install -r requirements.txt;
|
||||||
else
|
else
|
||||||
echo Error:TRAVIS_OS_NAME && exit 1;
|
echo Error:TRAVIS_OS_NAME && exit 1;
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
# Next
|
# Next
|
||||||
- ...
|
- Issue [#448](https://github.com/Glavin001/atom-beautify/issues/448) Add support for Laravel Blade templates (beta)
|
||||||
|
|
||||||
# v0.32.2 (2018-03-10)
|
# v0.32.2 (2018-03-10)
|
||||||
- Revert fix package.json repository field (#2062)
|
- Revert fix package.json repository field (#2062)
|
||||||
|
|
|
@ -153,6 +153,7 @@ See [all supported options in the documentation at `docs/options.md`](docs/opti
|
||||||
| Apex | `Apex` |`.cls`, `.trigger` | **[`Uncrustify`](https://github.com/uncrustify/uncrustify)** |
|
| Apex | `Apex` |`.cls`, `.trigger` | **[`Uncrustify`](https://github.com/uncrustify/uncrustify)** |
|
||||||
| Arduino | `Arduino` |`.ino`, `.pde` | **[`Uncrustify`](https://github.com/uncrustify/uncrustify)** |
|
| Arduino | `Arduino` |`.ino`, `.pde` | **[`Uncrustify`](https://github.com/uncrustify/uncrustify)** |
|
||||||
| Bash | `Shell Script` |`.bash`, `.sh` | **[`beautysh`](https://github.com/bemeurer/beautysh)** |
|
| Bash | `Shell Script` |`.bash`, `.sh` | **[`beautysh`](https://github.com/bemeurer/beautysh)** |
|
||||||
|
| Blade | `Blade` |`.blade.php` | **[`JS Beautify`](https://github.com/beautify-web/js-beautify)** |
|
||||||
| C | `C`, `opencl` |`.h`, `.c`, `.cl` | **[`Uncrustify`](https://github.com/uncrustify/uncrustify)**, [`clang-format`](https://clang.llvm.org/docs/ClangFormat.html) |
|
| C | `C`, `opencl` |`.h`, `.c`, `.cl` | **[`Uncrustify`](https://github.com/uncrustify/uncrustify)**, [`clang-format`](https://clang.llvm.org/docs/ClangFormat.html) |
|
||||||
| Coldfusion | `html` |`.cfm`, `.cfml`, `.cfc` | **[`Pretty Diff`](https://github.com/prettydiff/prettydiff)** |
|
| Coldfusion | `html` |`.cfm`, `.cfml`, `.cfc` | **[`Pretty Diff`](https://github.com/prettydiff/prettydiff)** |
|
||||||
| Clojure | `Clojure` |`.clj`, `.cljs`, `.edn` | **[`cljfmt`](https://github.com/snoe/node-cljfmt)** |
|
| Clojure | `Clojure` |`.clj`, `.cljs`, `.edn` | **[`cljfmt`](https://github.com/snoe/node-cljfmt)** |
|
||||||
|
|
|
@ -8,3 +8,4 @@ language-elm
|
||||||
language-puppet
|
language-puppet
|
||||||
fuse
|
fuse
|
||||||
react
|
react
|
||||||
|
language-blade
|
||||||
|
|
1217
docs/options.md
1217
docs/options.md
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,32 @@
|
||||||
|
<html>
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<title>App Name - @yield('title')</title>
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
@section('sidebar') This is the {{ $mater }} sidebar.
|
||||||
|
@show
|
||||||
|
|
||||||
|
<div class="container">
|
||||||
|
@yield('content')
|
||||||
|
</div>
|
||||||
|
|
||||||
|
@component('alert')
|
||||||
|
@slot('title') Forbidden
|
||||||
|
@endslot
|
||||||
|
<strong>Whoops!</strong> Something went wrong!
|
||||||
|
@endcomponent
|
||||||
|
|
||||||
|
@foreach ($users as $user)
|
||||||
|
@if ($user->type == 1)
|
||||||
|
@continue
|
||||||
|
@endif
|
||||||
|
<li>{{ $user->name }}</li>
|
||||||
|
@if ($user->number == 5)
|
||||||
|
@break
|
||||||
|
@endif
|
||||||
|
@endforeach
|
||||||
|
</body>
|
||||||
|
|
||||||
|
</html>
|
|
@ -0,0 +1,31 @@
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<title>App Name - @yield('title')</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
@section('sidebar')
|
||||||
|
This is the {{ $mater }} sidebar.
|
||||||
|
@show
|
||||||
|
|
||||||
|
<div class="container">
|
||||||
|
@yield('content')
|
||||||
|
</div>
|
||||||
|
|
||||||
|
@component('alert')
|
||||||
|
@slot('title')
|
||||||
|
Forbidden
|
||||||
|
@endslot
|
||||||
|
<strong>Whoops!</strong> Something went wrong!
|
||||||
|
@endcomponent
|
||||||
|
|
||||||
|
@foreach ($users as $user)
|
||||||
|
@if ($user->type == 1)
|
||||||
|
@continue
|
||||||
|
@endif
|
||||||
|
<li>{{ $user->name }}</li>
|
||||||
|
@if ($user->number == 5)
|
||||||
|
@break
|
||||||
|
@endif
|
||||||
|
@endforeach
|
||||||
|
</body>
|
||||||
|
</html>
|
|
@ -303,7 +303,8 @@
|
||||||
"atom-beautify:beautify-language-tsx",
|
"atom-beautify:beautify-language-tsx",
|
||||||
"atom-beautify:beautify-language-verilog",
|
"atom-beautify:beautify-language-verilog",
|
||||||
"atom-beautify:beautify-language-vhdl",
|
"atom-beautify:beautify-language-vhdl",
|
||||||
"atom-beautify:beautify-language-gn"
|
"atom-beautify:beautify-language-gn",
|
||||||
|
"atom-beautify:beautify-language-blade"
|
||||||
],
|
],
|
||||||
".tree-view .file .name": [
|
".tree-view .file .name": [
|
||||||
"atom-beautify:beautify-file"
|
"atom-beautify:beautify-file"
|
||||||
|
@ -447,7 +448,8 @@
|
||||||
"emacs verilog mode",
|
"emacs verilog mode",
|
||||||
"vhdl",
|
"vhdl",
|
||||||
"vhdl beautifier",
|
"vhdl beautifier",
|
||||||
"gn"
|
"gn",
|
||||||
|
"blade"
|
||||||
],
|
],
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"codo": "^2.1.2",
|
"codo": "^2.1.2",
|
||||||
|
|
|
@ -44,7 +44,7 @@ describe "BeautifyLanguages", ->
|
||||||
|
|
||||||
# Activate all of the languages
|
# Activate all of the languages
|
||||||
allLanguages = [
|
allLanguages = [
|
||||||
"c", "clojure", "coffee-script", "css", "csharp", "d",
|
"blade", "c", "clojure", "coffee-script", "css", "csharp", "d",
|
||||||
"gfm", "go", "html", "html-swig", "java", "javascript",
|
"gfm", "go", "html", "html-swig", "java", "javascript",
|
||||||
"json", "less", "lua", "marko", "mustache", "objective-c",
|
"json", "less", "lua", "marko", "mustache", "objective-c",
|
||||||
"perl", "php", "python", "ruby", "sass", "sql",
|
"perl", "php", "python", "ruby", "sass", "sql",
|
||||||
|
|
|
@ -6,6 +6,7 @@ module.exports = class JSBeautify extends Beautifier
|
||||||
link: "https://github.com/beautify-web/js-beautify"
|
link: "https://github.com/beautify-web/js-beautify"
|
||||||
|
|
||||||
options: {
|
options: {
|
||||||
|
Blade: true
|
||||||
HTML: true
|
HTML: true
|
||||||
XML: true
|
XML: true
|
||||||
Handlebars: true
|
Handlebars: true
|
||||||
|
@ -51,6 +52,16 @@ module.exports = class JSBeautify extends Beautifier
|
||||||
beautifyCSS = require("js-beautify").css
|
beautifyCSS = require("js-beautify").css
|
||||||
text = beautifyCSS(text, options)
|
text = beautifyCSS(text, options)
|
||||||
resolve text
|
resolve text
|
||||||
|
when "Blade"
|
||||||
|
beautifyHTML = require("js-beautify").html
|
||||||
|
# pre script (Workaround)
|
||||||
|
text = text.replace(/\@(?!yield)([^\n\s]*)/ig, "<blade $1/>")
|
||||||
|
text = beautifyHTML(text, options)
|
||||||
|
# post script (Workaround)
|
||||||
|
text = text.replace(/<blade ([^\n]*)\/>/ig, "@$1")
|
||||||
|
text = text.replace(/\(\ \'/ig, "('")
|
||||||
|
@debug("Beautified HTML: #{text}")
|
||||||
|
resolve text
|
||||||
else
|
else
|
||||||
reject(new Error("Unknown language for JS Beautify: "+language))
|
reject(new Error("Unknown language for JS Beautify: "+language))
|
||||||
catch err
|
catch err
|
||||||
|
|
|
@ -0,0 +1,22 @@
|
||||||
|
module.exports = {
|
||||||
|
|
||||||
|
name: "Blade"
|
||||||
|
namespace: "blade"
|
||||||
|
fallback: ["html"]
|
||||||
|
|
||||||
|
###
|
||||||
|
Supported Grammars
|
||||||
|
###
|
||||||
|
grammars: [
|
||||||
|
"Blade"
|
||||||
|
]
|
||||||
|
|
||||||
|
###
|
||||||
|
Supported extensions
|
||||||
|
###
|
||||||
|
extensions: [
|
||||||
|
"blade.php"
|
||||||
|
]
|
||||||
|
|
||||||
|
options: []
|
||||||
|
}
|
|
@ -15,6 +15,7 @@ module.exports = class Languages
|
||||||
"apex"
|
"apex"
|
||||||
"arduino"
|
"arduino"
|
||||||
"bash"
|
"bash"
|
||||||
|
"blade"
|
||||||
"c-sharp"
|
"c-sharp"
|
||||||
"c"
|
"c"
|
||||||
"clojure"
|
"clojure"
|
||||||
|
|
321
src/options.json
321
src/options.json
|
@ -186,6 +186,327 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"blade": {
|
||||||
|
"title": "Blade",
|
||||||
|
"type": "object",
|
||||||
|
"description": "Options for language Blade",
|
||||||
|
"collapsed": true,
|
||||||
|
"beautifiers": [
|
||||||
|
"JS Beautify"
|
||||||
|
],
|
||||||
|
"grammars": [
|
||||||
|
"Blade"
|
||||||
|
],
|
||||||
|
"extensions": [
|
||||||
|
"blade.php"
|
||||||
|
],
|
||||||
|
"properties": {
|
||||||
|
"indent_inner_html": {
|
||||||
|
"type": "boolean",
|
||||||
|
"default": false,
|
||||||
|
"description": "Indent <head> and <body> sections. (Supported by JS Beautify)",
|
||||||
|
"title": "Indent inner html",
|
||||||
|
"beautifiers": [
|
||||||
|
"JS Beautify"
|
||||||
|
],
|
||||||
|
"key": "indent_inner_html",
|
||||||
|
"language": {
|
||||||
|
"name": "HTML",
|
||||||
|
"namespace": "html"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"indent_size": {
|
||||||
|
"type": "integer",
|
||||||
|
"default": null,
|
||||||
|
"minimum": 0,
|
||||||
|
"description": "Indentation size/length (Supported by JS Beautify)",
|
||||||
|
"title": "Indent size",
|
||||||
|
"beautifiers": [
|
||||||
|
"JS Beautify"
|
||||||
|
],
|
||||||
|
"key": "indent_size",
|
||||||
|
"language": {
|
||||||
|
"name": "HTML",
|
||||||
|
"namespace": "html"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"indent_char": {
|
||||||
|
"type": "string",
|
||||||
|
"default": null,
|
||||||
|
"description": "Indentation character (Supported by JS Beautify)",
|
||||||
|
"title": "Indent char",
|
||||||
|
"beautifiers": [
|
||||||
|
"JS Beautify"
|
||||||
|
],
|
||||||
|
"key": "indent_char",
|
||||||
|
"language": {
|
||||||
|
"name": "HTML",
|
||||||
|
"namespace": "html"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"brace_style": {
|
||||||
|
"type": "string",
|
||||||
|
"default": "collapse",
|
||||||
|
"enum": [
|
||||||
|
"collapse",
|
||||||
|
"expand",
|
||||||
|
"end-expand",
|
||||||
|
"none"
|
||||||
|
],
|
||||||
|
"description": "[collapse|expand|end-expand|none] (Supported by JS Beautify)",
|
||||||
|
"title": "Brace style",
|
||||||
|
"beautifiers": [
|
||||||
|
"JS Beautify"
|
||||||
|
],
|
||||||
|
"key": "brace_style",
|
||||||
|
"language": {
|
||||||
|
"name": "HTML",
|
||||||
|
"namespace": "html"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"indent_scripts": {
|
||||||
|
"type": "string",
|
||||||
|
"default": "normal",
|
||||||
|
"enum": [
|
||||||
|
"keep",
|
||||||
|
"separate",
|
||||||
|
"normal"
|
||||||
|
],
|
||||||
|
"description": "[keep|separate|normal] (Supported by JS Beautify)",
|
||||||
|
"title": "Indent scripts",
|
||||||
|
"beautifiers": [
|
||||||
|
"JS Beautify"
|
||||||
|
],
|
||||||
|
"key": "indent_scripts",
|
||||||
|
"language": {
|
||||||
|
"name": "HTML",
|
||||||
|
"namespace": "html"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"wrap_line_length": {
|
||||||
|
"type": "integer",
|
||||||
|
"default": 250,
|
||||||
|
"description": "Maximum characters per line (0 disables) (Supported by JS Beautify)",
|
||||||
|
"title": "Wrap line length",
|
||||||
|
"beautifiers": [
|
||||||
|
"JS Beautify"
|
||||||
|
],
|
||||||
|
"key": "wrap_line_length",
|
||||||
|
"language": {
|
||||||
|
"name": "HTML",
|
||||||
|
"namespace": "html"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"wrap_attributes": {
|
||||||
|
"type": "string",
|
||||||
|
"default": "auto",
|
||||||
|
"enum": [
|
||||||
|
"auto",
|
||||||
|
"force",
|
||||||
|
"force-aligned",
|
||||||
|
"force-expand-multiline"
|
||||||
|
],
|
||||||
|
"description": "Wrap attributes to new lines [auto|force|force-aligned|force-expand-multiline] (Supported by JS Beautify)",
|
||||||
|
"title": "Wrap attributes",
|
||||||
|
"beautifiers": [
|
||||||
|
"JS Beautify"
|
||||||
|
],
|
||||||
|
"key": "wrap_attributes",
|
||||||
|
"language": {
|
||||||
|
"name": "HTML",
|
||||||
|
"namespace": "html"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"wrap_attributes_indent_size": {
|
||||||
|
"type": "integer",
|
||||||
|
"default": null,
|
||||||
|
"minimum": 0,
|
||||||
|
"description": "Indent wrapped attributes to after N characters (Supported by JS Beautify)",
|
||||||
|
"title": "Wrap attributes indent size",
|
||||||
|
"beautifiers": [
|
||||||
|
"JS Beautify"
|
||||||
|
],
|
||||||
|
"key": "wrap_attributes_indent_size",
|
||||||
|
"language": {
|
||||||
|
"name": "HTML",
|
||||||
|
"namespace": "html"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"preserve_newlines": {
|
||||||
|
"type": "boolean",
|
||||||
|
"default": true,
|
||||||
|
"description": "Preserve line-breaks (Supported by JS Beautify)",
|
||||||
|
"title": "Preserve newlines",
|
||||||
|
"beautifiers": [
|
||||||
|
"JS Beautify"
|
||||||
|
],
|
||||||
|
"key": "preserve_newlines",
|
||||||
|
"language": {
|
||||||
|
"name": "HTML",
|
||||||
|
"namespace": "html"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"max_preserve_newlines": {
|
||||||
|
"type": "integer",
|
||||||
|
"default": 10,
|
||||||
|
"description": "Number of line-breaks to be preserved in one chunk (Supported by JS Beautify)",
|
||||||
|
"title": "Max preserve newlines",
|
||||||
|
"beautifiers": [
|
||||||
|
"JS Beautify"
|
||||||
|
],
|
||||||
|
"key": "max_preserve_newlines",
|
||||||
|
"language": {
|
||||||
|
"name": "HTML",
|
||||||
|
"namespace": "html"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"unformatted": {
|
||||||
|
"type": "array",
|
||||||
|
"default": [
|
||||||
|
"a",
|
||||||
|
"abbr",
|
||||||
|
"area",
|
||||||
|
"audio",
|
||||||
|
"b",
|
||||||
|
"bdi",
|
||||||
|
"bdo",
|
||||||
|
"br",
|
||||||
|
"button",
|
||||||
|
"canvas",
|
||||||
|
"cite",
|
||||||
|
"code",
|
||||||
|
"data",
|
||||||
|
"datalist",
|
||||||
|
"del",
|
||||||
|
"dfn",
|
||||||
|
"em",
|
||||||
|
"embed",
|
||||||
|
"i",
|
||||||
|
"iframe",
|
||||||
|
"img",
|
||||||
|
"input",
|
||||||
|
"ins",
|
||||||
|
"kbd",
|
||||||
|
"keygen",
|
||||||
|
"label",
|
||||||
|
"map",
|
||||||
|
"mark",
|
||||||
|
"math",
|
||||||
|
"meter",
|
||||||
|
"noscript",
|
||||||
|
"object",
|
||||||
|
"output",
|
||||||
|
"progress",
|
||||||
|
"q",
|
||||||
|
"ruby",
|
||||||
|
"s",
|
||||||
|
"samp",
|
||||||
|
"select",
|
||||||
|
"small",
|
||||||
|
"span",
|
||||||
|
"strong",
|
||||||
|
"sub",
|
||||||
|
"sup",
|
||||||
|
"svg",
|
||||||
|
"template",
|
||||||
|
"textarea",
|
||||||
|
"time",
|
||||||
|
"u",
|
||||||
|
"var",
|
||||||
|
"video",
|
||||||
|
"wbr",
|
||||||
|
"text",
|
||||||
|
"acronym",
|
||||||
|
"address",
|
||||||
|
"big",
|
||||||
|
"dt",
|
||||||
|
"ins",
|
||||||
|
"small",
|
||||||
|
"strike",
|
||||||
|
"tt",
|
||||||
|
"pre",
|
||||||
|
"h1",
|
||||||
|
"h2",
|
||||||
|
"h3",
|
||||||
|
"h4",
|
||||||
|
"h5",
|
||||||
|
"h6"
|
||||||
|
],
|
||||||
|
"items": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"description": "List of tags (defaults to inline) that should not be reformatted (Supported by JS Beautify)",
|
||||||
|
"title": "Unformatted",
|
||||||
|
"beautifiers": [
|
||||||
|
"JS Beautify"
|
||||||
|
],
|
||||||
|
"key": "unformatted",
|
||||||
|
"language": {
|
||||||
|
"name": "HTML",
|
||||||
|
"namespace": "html"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"end_with_newline": {
|
||||||
|
"type": "boolean",
|
||||||
|
"default": false,
|
||||||
|
"description": "End output with newline (Supported by JS Beautify)",
|
||||||
|
"title": "End with newline",
|
||||||
|
"beautifiers": [
|
||||||
|
"JS Beautify"
|
||||||
|
],
|
||||||
|
"key": "end_with_newline",
|
||||||
|
"language": {
|
||||||
|
"name": "HTML",
|
||||||
|
"namespace": "html"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"extra_liners": {
|
||||||
|
"type": "array",
|
||||||
|
"default": [
|
||||||
|
"head",
|
||||||
|
"body",
|
||||||
|
"/html"
|
||||||
|
],
|
||||||
|
"items": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"description": "List of tags (defaults to [head,body,/html] that should have an extra newline before them. (Supported by JS Beautify)",
|
||||||
|
"title": "Extra liners",
|
||||||
|
"beautifiers": [
|
||||||
|
"JS Beautify"
|
||||||
|
],
|
||||||
|
"key": "extra_liners",
|
||||||
|
"language": {
|
||||||
|
"name": "HTML",
|
||||||
|
"namespace": "html"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"disabled": {
|
||||||
|
"title": "Disable Beautifying Language",
|
||||||
|
"order": -3,
|
||||||
|
"type": "boolean",
|
||||||
|
"default": false,
|
||||||
|
"description": "Disable Blade Beautification"
|
||||||
|
},
|
||||||
|
"default_beautifier": {
|
||||||
|
"title": "Default Beautifier",
|
||||||
|
"order": -2,
|
||||||
|
"type": "string",
|
||||||
|
"default": "JS Beautify",
|
||||||
|
"description": "Default Beautifier to be used for Blade",
|
||||||
|
"enum": [
|
||||||
|
"JS Beautify"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"beautify_on_save": {
|
||||||
|
"title": "Beautify On Save",
|
||||||
|
"order": -1,
|
||||||
|
"type": "boolean",
|
||||||
|
"default": false,
|
||||||
|
"description": "Automatically beautify Blade files on save"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"cs": {
|
"cs": {
|
||||||
"title": "C#",
|
"title": "C#",
|
||||||
"type": "object",
|
"type": "object",
|
||||||
|
|
Loading…
Reference in New Issue