diff --git a/examples/nested-jsbeautifyrc/nginx/expected/nginx.conf b/examples/nested-jsbeautifyrc/nginx/expected/nginx.conf index 866efd8..287f07e 100644 --- a/examples/nested-jsbeautifyrc/nginx/expected/nginx.conf +++ b/examples/nested-jsbeautifyrc/nginx/expected/nginx.conf @@ -10,194 +10,194 @@ error_log logs/error.log info; events { - worker_connections 1024; + worker_connections 1024; } http { - include mime.types; - default_type application/octet-stream; + 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"'; + #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; + #access_log logs/access.log main; + sendfile on; + #tcp_nopush on; - #keepalive_timeout 0; - keepalive_timeout 65; + #keepalive_timeout 0; + keepalive_timeout 65; - #gzip on; + #gzip on; - server - { - listen 80; - server_name localhost; + server + { + listen 80; + server_name localhost; - #charset koi8-r; + #charset koi8-r; - #access_log logs/host.access.log main; - location / - { - root /usr/share/nginx/html; - index index.html index.htm; - } + #access_log logs/host.access.log main; + location / + { + root /usr/share/nginx/html; + index index.html index.htm; + } - #error_page 404 /404.html; + #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; - } + # 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; - #} + # 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; - #} - } + # 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; - } + 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/; - } - } + 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 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; - } + 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; - } - } + 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 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/; - } - } + 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; - # } - #} + # 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; + # } + #} } diff --git a/src/beautifiers/nginx-beautify.coffee b/src/beautifiers/nginx-beautify.coffee index 12fbed2..088d7d8 100644 --- a/src/beautifiers/nginx-beautify.coffee +++ b/src/beautifiers/nginx-beautify.coffee @@ -6,7 +6,21 @@ module.exports = class NginxBeautify extends Beautifier link: "https://github.com/denysvitali/nginxbeautify" options: { - Nginx: true + 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) -> diff --git a/src/languages/nginx.coffee b/src/languages/nginx.coffee index f9a9833..1ea7f2c 100644 --- a/src/languages/nginx.coffee +++ b/src/languages/nginx.coffee @@ -1,3 +1,11 @@ +# 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" @@ -20,16 +28,19 @@ module.exports = { defaultBeautifier: "Nginx Beautify" options: - spaces: - title: "Spaces" - type: "number" - default: 0 - description: "Indent with spaces" - tabs: - title: "Tabs" - type: "number" - default: 1 - description: "Indent with tabs" + 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"