Merge branch 'denysvitali-master'

This commit is contained in:
Glavin Wiechert 2017-04-15 02:27:42 -03:00
commit 8f1ff2d032
10 changed files with 774 additions and 1 deletions

View File

@ -84,6 +84,7 @@ Some of the supported beautifiers are developed for Node.js and are automaticall
| Latex Beautify | :x: | Go to https://github.com/cmhughes/latexindent.pl and follow the instructions. |
| Lua beautifier | :x: | Go to https://www.perl.org/ and follow the instructions. |
| Marko Beautifier | :white_check_mark: | Nothing! |
| Nginx Beautify | :white_check_mark: | Nothing! |
| ocp-indent | :x: | Go to https://www.typerex.org/ocp-indent.html and follow the instructions. |
| Perltidy | :x: | Go to http://perltidy.sourceforge.net/ and follow the instructions. |
| PHP-CS-Fixer | :x: | Go to https://github.com/FriendsOfPHP/PHP-CS-Fixer and follow the instructions. |
@ -146,6 +147,7 @@ See [all supported options in the documentation at `docs/options.md`](docs/opti
| Markdown | `GitHub Markdown` |`.markdown`, `.md` | [`Remark`](https://github.com/wooorm/remark), [`Tidy Markdown`](https://github.com/slang800/tidy-markdown) (Default) |
| Marko | `Marko` |`.marko` | [`Marko Beautifier`](https://github.com/marko-js/marko-prettyprint) (Default) |
| Mustache | `HTML (Mustache)` |`.mustache` | [`JS Beautify`](https://github.com/beautify-web/js-beautify) (Default), [`Pretty Diff`](https://github.com/prettydiff/prettydiff) |
| Nginx | `nginx` |`.conf` | [`Nginx Beautify`](https://github.com/denysvitali/nginxbeautify) (Default) |
| Nunjucks | `Nunjucks`, `Nunjucks Templates`, `HTML (Nunjucks Templates)` |`.njk`, `.nunjucks` | [`Pretty Diff`](https://github.com/prettydiff/prettydiff) (Default) |
| Objective-C | `Objective-C`, `Objective-C++` |`.m`, `.mm`, `.h` | [`Uncrustify`](https://github.com/uncrustify/uncrustify) (Default), [`clang-format`](https://clang.llvm.org/docs/ClangFormat.html) |
| OCaml | `OCaml` |`.ml` | [`ocp-indent`](https://www.typerex.org/ocp-indent.html) (Default) |

View File

@ -8715,6 +8715,181 @@ Maximum characters per line (0 disables) (Supported by JS Beautify, Pretty Diff)
}
```
#### [Nginx](#nginx)
**Supported Beautifiers**: [`Nginx Beautify`](#nginx-beautify)
| Option | Nginx Beautify |
| --- | --- |
| `disabled` | :white_check_mark: |
| `default_beautifier` | :white_check_mark: |
| `beautify_on_save` | :white_check_mark: |
| `dontJoinCurlyBracet` | :white_check_mark: |
| `indent_char` | :white_check_mark: |
| `indent_size` | :white_check_mark: |
| `indent_with_tabs` | :white_check_mark: |
**Description**:
Options for language Nginx
##### [Disable Beautifying Language](#disable-beautifying-language)
**Important**: This option is only configurable from within Atom Beautify's setting panel.
**Type**: `boolean`
**Description**:
Disable Nginx Beautification
**How to Configure**
1. You can open the [Settings View](https://github.com/atom/settings-view) by navigating to
*Edit > Preferences (Linux)*, *Atom > Preferences (OS X)*, or *File > Preferences (Windows)*.
2. Go into *Packages* and search for "*Atom Beautify*" package.
3. Find the option "*Disable Beautifying Language*" and change it to your desired configuration.
##### [Default Beautifier](#default-beautifier)
**Important**: This option is only configurable from within Atom Beautify's setting panel.
**Default**: `Nginx Beautify`
**Type**: `string`
**Enum**: `Nginx Beautify`
**Description**:
Default Beautifier to be used for Nginx
**How to Configure**
1. You can open the [Settings View](https://github.com/atom/settings-view) by navigating to
*Edit > Preferences (Linux)*, *Atom > Preferences (OS X)*, or *File > Preferences (Windows)*.
2. Go into *Packages* and search for "*Atom Beautify*" package.
3. Find the option "*Default Beautifier*" and change it to your desired configuration.
##### [Beautify On Save](#beautify-on-save)
**Important**: This option is only configurable from within Atom Beautify's setting panel.
**Type**: `boolean`
**Description**:
Automatically beautify Nginx files on save
**How to Configure**
1. You can open the [Settings View](https://github.com/atom/settings-view) by navigating to
*Edit > Preferences (Linux)*, *Atom > Preferences (OS X)*, or *File > Preferences (Windows)*.
2. Go into *Packages* and search for "*Atom Beautify*" package.
3. Find the option "*Beautify On Save*" and change it to your desired configuration.
##### [Don't join curly brackets](#don't-join-curly-brackets)
**Namespace**: `nginx`
**Key**: `dontJoinCurlyBracet`
**Default**: `true`
**Type**: `boolean`
**Supported Beautifiers**: [`Nginx Beautify`](#nginx-beautify)
**Description**:
undefined (Supported by Nginx Beautify)
**Example `.jsbeautifyrc` Configuration**
```json
{
"nginx": {
"dontJoinCurlyBracet": true
}
}
```
##### [Indent char](#indent-char)
**Namespace**: `nginx`
**Key**: `indent_char`
**Default**: ` `
**Type**: `string`
**Supported Beautifiers**: [`Nginx Beautify`](#nginx-beautify)
**Description**:
Indentation character (Supported by Nginx Beautify)
**Example `.jsbeautifyrc` Configuration**
```json
{
"nginx": {
"indent_char": " "
}
}
```
##### [Indent size](#indent-size)
**Namespace**: `nginx`
**Key**: `indent_size`
**Default**: `4`
**Type**: `integer`
**Supported Beautifiers**: [`Nginx Beautify`](#nginx-beautify)
**Description**:
Indentation size/length (Supported by Nginx Beautify)
**Example `.jsbeautifyrc` Configuration**
```json
{
"nginx": {
"indent_size": 4
}
}
```
##### [Indent with tabs](#indent-with-tabs)
**Namespace**: `nginx`
**Key**: `indent_with_tabs`
**Type**: `boolean`
**Supported Beautifiers**: [`Nginx Beautify`](#nginx-beautify)
**Description**:
Indentation uses tabs, overrides `Indent Size` and `Indent Char` (Supported by Nginx Beautify)
**Example `.jsbeautifyrc` Configuration**
```json
{
"nginx": {
"indent_with_tabs": false
}
}
```
#### [Nunjucks](#nunjucks)
**Supported Beautifiers**: [`Pretty Diff`](#pretty-diff)
@ -16527,6 +16702,111 @@ List of tags (defaults to [head,body,/html] that should have an extra newline be
```
### Nginx Beautify
##### [Indent size](#indent-size)
**Namespace**: `nginx`
**Key**: `indent_size`
**Default**: `4`
**Type**: `integer`
**Supported Beautifiers**: [`Nginx Beautify`](#nginx-beautify)
**Description**:
Indentation size/length (Supported by Nginx Beautify)
**Example `.jsbeautifyrc` Configuration**
```json
{
"nginx": {
"indent_size": 4
}
}
```
##### [Indent char](#indent-char)
**Namespace**: `nginx`
**Key**: `indent_char`
**Default**: ` `
**Type**: `string`
**Supported Beautifiers**: [`Nginx Beautify`](#nginx-beautify)
**Description**:
Indentation character (Supported by Nginx Beautify)
**Example `.jsbeautifyrc` Configuration**
```json
{
"nginx": {
"indent_char": " "
}
}
```
##### [Indent with tabs](#indent-with-tabs)
**Namespace**: `nginx`
**Key**: `indent_with_tabs`
**Type**: `boolean`
**Supported Beautifiers**: [`Nginx Beautify`](#nginx-beautify)
**Description**:
Indentation uses tabs, overrides `Indent Size` and `Indent Char` (Supported by Nginx Beautify)
**Example `.jsbeautifyrc` Configuration**
```json
{
"nginx": {
"indent_with_tabs": false
}
}
```
##### [Don't join curly brackets](#don't-join-curly-brackets)
**Namespace**: `nginx`
**Key**: `dontJoinCurlyBracet`
**Default**: `true`
**Type**: `boolean`
**Supported Beautifiers**: [`Nginx Beautify`](#nginx-beautify)
**Description**:
undefined (Supported by Nginx Beautify)
**Example `.jsbeautifyrc` Configuration**
```json
{
"nginx": {
"dontJoinCurlyBracet": true
}
}
```
### PHP-CS-Fixer
##### [PHP-CS-Fixer Path](#php-cs-fixer-path)

View File

@ -0,0 +1,203 @@
#user html;
worker_processes 1;
#error_log logs/error.log;
#error_log logs/error.log notice;
error_log logs/error.log info;
#pid logs/nginx.pid;
events
{
worker_connections 1024;
}
http
{
include mime.types;
default_type application/octet-stream;
#log_format main '$remote_addr - $remote_user [$time_local] "$request" '
# '$status $body_bytes_sent "$http_referer" '
# '"$http_user_agent" "$http_x_forwarded_for"';
#access_log logs/access.log main;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
#gzip on;
server
{
listen 80;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location /
{
root /usr/share/nginx/html;
index index.html index.htm;
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html
{
root /usr/share/nginx/html;
}
# proxy the PHP scripts to Apache listening on 127.0.0.1:80
#
#location ~ \.php$ {
# proxy_pass http://127.0.0.1;
#}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
#location ~ \.php$ {
# root html;
# fastcgi_pass 127.0.0.1:9000;
# fastcgi_index index.php;
# fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
# include fastcgi_params;
#}
# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
#location ~ /\.ht {
# deny all;
#}
}
server
{
listen 80;
include mime.types;
server_name dv;
location /nginxstatic/
{
alias /srv/http/dv/;
limit_rate 250k;
}
location /
{
#root /srv/http/dv/;
#index index.html;
limit_rate 1M;
#limit_conn addr 1;
proxy_pass http://localhost:3000/;
}
}
server
{
listen 80;
server_name ip.dv;
root /home/http/ip/;
include mime.types;
location /
{
try_files $uri $uri/ /index.php;
}
location ~ .php$
{
try_files $uri =404;
fastcgi_pass unix:/var/run/php5-fpm/socket_name.socket;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
server
{
listen 80;
server_name pma.dv;
location /
{
root /home/http/pma/;
index index.php;
}
location ~ \.php$
{
fastcgi_pass unix:/run/php-fpm/php-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /home/http/pma/$fastcgi_script_name;
include fastcgi_params;
}
}
server
{
listen 80;
server_name swissecurity.coelis;
location /
{
root /srv/http/swissecurity-fm/;
index index.html;
}
}
server
{
listen 80;
server_name p1.dv;
location /
{
proxy_pass http://127.0.0.1:1337/;
}
}
server
{
listen 80;
server_name s.dev;
location /
{
proxy_pass http://127.0.0.1:1337/;
}
}
# another virtual host using mix of IP-, name-, and port-based configuration
#
#server {
# listen 8000;
# listen somename:8080;
# server_name somename alias another.alias;
# location / {
# root html;
# index index.html index.htm;
# }
#}
# HTTPS server
#
#server {
# listen 443 ssl;
# server_name localhost;
# ssl_certificate cert.pem;
# ssl_certificate_key cert.key;
# ssl_session_cache shared:SSL:1m;
# ssl_session_timeout 5m;
# ssl_ciphers HIGH:!aNULL:!MD5;
# ssl_prefer_server_ciphers on;
# location / {
# root html;
# index index.html index.htm;
# }
#}
}

View File

@ -0,0 +1,194 @@
#user html;
worker_processes 1;
#error_log logs/error.log;
#error_log logs/error.log notice;
error_log logs/error.log info;
#pid logs/nginx.pid;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
#log_format main '$remote_addr - $remote_user [$time_local] "$request" '
# '$status $body_bytes_sent "$http_referer" '
# '"$http_user_agent" "$http_x_forwarded_for"';
#access_log logs/access.log main;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
#gzip on;
server {
listen 80;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
# proxy the PHP scripts to Apache listening on 127.0.0.1:80
#
#location ~ \.php$ {
# proxy_pass http://127.0.0.1;
#}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
#location ~ \.php$ {
# root html;
# fastcgi_pass 127.0.0.1:9000;
# fastcgi_index index.php;
# fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
# include fastcgi_params;
#}
# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
#location ~ /\.ht {
# deny all;
#}
}
server {
listen 80;
include mime.types;
server_name dv;
location /nginxstatic/ {
alias /srv/http/dv/;
limit_rate 250k;
}
location / {
#root /srv/http/dv/;
#index index.html;
limit_rate 1M;
#limit_conn addr 1;
proxy_pass http://localhost:3000/;
}
}
server {
listen 80;
server_name ip.dv;
root /home/http/ip/;
include mime.types;
location / {
try_files $uri $uri/ /index.php;
}
location ~ .php$ {
try_files $uri =404;
fastcgi_pass unix:/var/run/php5-fpm/socket_name.socket;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
server {
listen 80;
server_name pma.dv;
location / {
root /home/http/pma/;
index index.php;
}
location ~ \.php$ {
fastcgi_pass unix:/run/php-fpm/php-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /home/http/pma/$fastcgi_script_name;
include fastcgi_params;
}
}
server {
listen 80;
server_name swissecurity.coelis;
location / {
root /srv/http/swissecurity-fm/;
index index.html;
}
}
server {
listen 80;
server_name p1.dv;
location / {
proxy_pass http://127.0.0.1:1337/;
}
}
server { listen 80;
server_name s.dev;
location / {
proxy_pass http://127.0.0.1:1337/;
}
}
# another virtual host using mix of IP-, name-, and port-based configuration
#
#server {
# listen 8000;
# listen somename:8080;
# server_name somename alias another.alias;
# location / {
# root html;
# index index.html index.htm;
# }
#}
# HTTPS server
#
#server {
# listen 443 ssl;
# server_name localhost;
# ssl_certificate cert.pem;
# ssl_certificate_key cert.key;
# ssl_session_cache shared:SSL:1m;
# ssl_session_timeout 5m;
# ssl_ciphers HIGH:!aNULL:!MD5;
# ssl_prefer_server_ciphers on;
# location / {
# root html;
# index index.html index.htm;
# }
#}
}

View File

@ -115,6 +115,10 @@
"name": "Victor Uriarte",
"url": "https://github.com/vmuriart"
},
{
"name": "Denys Vitali",
"url": "https://github.com/denysvitali"
},
{
"name": "Daniel Brodin",
"url": "https://github.com/danielbrodin"
@ -153,6 +157,7 @@
"lodash": "^4.14.2",
"loophole": "^1.0.0",
"marko-prettyprint": "^1.2.0",
"nginxbeautify": "^2.0.0",
"node-dir": "^0.1.16",
"node-cljfmt": "^0.5.3-1",
"node-uuid": "^1.4.3",
@ -307,6 +312,8 @@
"beautysh",
"glsl",
"hh_format",
"nginx",
"nginx beautify",
"golang template"
],
"devDependencies": {

View File

@ -215,7 +215,7 @@ buildOptionsForBeautifiers = function(beautifiers, allLanguages) {
if (_.isArray(objValue)) {
return _.uniq(objValue.concat(srcValue));
}
}
}
for (j = 0, len1 = allLanguages.length; j < len1; j++) {
lang = allLanguages[j];
namespaceDest = lang.namespace;

View File

@ -54,6 +54,7 @@ module.exports = class Beautifiers extends EventEmitter
'jscs'
'eslint'
'lua-beautifier'
'nginx-beautify'
'ocp-indent'
'perltidy'
'php-cs-fixer'

View File

@ -0,0 +1,36 @@
"use strict"
Beautifier = require('./beautifier')
module.exports = class NginxBeautify extends Beautifier
name: "Nginx Beautify"
link: "https://github.com/denysvitali/nginxbeautify"
options: {
Nginx: {
spaces: ["indent_with_tabs", "indent_size", "indent_char", (indent_with_tabs, indent_size, indent_char) ->
if indent_with_tabs or indent_char is "\t"
0
else
indent_size
]
tabs: ["indent_with_tabs", "indent_size", "indent_char", (indent_with_tabs, indent_size, indent_char) ->
if indent_with_tabs or indent_char is "\t"
indent_size
else
0
]
dontJoinCurlyBracet: true
}
}
beautify: (text, language, options) ->
return new @Promise((resolve, reject) ->
Beautify = require("nginxbeautify")
instance = new Beautify(options)
try
resolve(instance.parse(text))
catch error
# Error occurred
reject(error)
)

View File

@ -48,6 +48,7 @@ module.exports = class Languages
"markdown"
'marko'
"mustache"
"nginx"
"nunjucks"
"objective-c"
"ocaml"

View File

@ -0,0 +1,49 @@
# Get Atom defaults
scope = ['source.conf']
tabLength = atom?.config.get('editor.tabLength', scope: scope) ? 4
softTabs = atom?.config.get('editor.softTabs', scope: scope) ? true
defaultIndentSize = (if softTabs then tabLength else 1)
defaultIndentChar = (if softTabs then " " else "\t")
defaultIndentWithTabs = not softTabs
module.exports = {
name: "Nginx"
namespace: "nginx"
###
Supported Grammars
###
grammars: [
"nginx"
]
###
Supported extensions
###
extensions: [
"conf"
]
defaultBeautifier: "Nginx Beautify"
options:
indent_size:
type: 'integer'
default: defaultIndentSize
minimum: 0
description: "Indentation size/length"
indent_char:
type: 'string'
default: defaultIndentChar
description: "Indentation character"
indent_with_tabs:
type: 'boolean'
default: defaultIndentWithTabs
description: "Indentation uses tabs, overrides `Indent Size` and `Indent Char`"
dontJoinCurlyBracet:
title: "Don't join curly brackets"
type: "boolean"
default: true
descriotion: ""
}