diff --git a/README.md b/README.md index 18327d0..236e54d 100644 --- a/README.md +++ b/README.md @@ -79,6 +79,7 @@ See [all supported options in the documentation at `docs/options.md`](docs/opti | Erlang | `Erlang` |`.erl` | [`erl_tidy`](http://erlang.org/doc/man/erl_tidy.html) (Default) | | Fortran | `Fortran - Modern` |`.f90`, `.F90` | [`Fortran Beautifier`](https://github.com/Glavin001/atom-beautify/blob/master/src/beautifiers/fortran-beautifier/emacs-fortran-formating-script.lisp) (Default) | | gherkin | `Gherkin` |`.feature` | [`Gherkin formatter`](https://github.com/Glavin001/atom-beautify/blob/master/src/beautifiers/gherkin.coffee) (Default) | +| GLSL | `C`, `opencl`, `GLSL` |`.vert`, `.frag` | [`clang-format`](https://clang.llvm.org/docs/ClangFormat.html) (Default) | | Go | `Go` |`.go` | [`gofmt`](https://golang.org/cmd/gofmt/) (Default) | | Handlebars | `Handlebars`, `HTML (Handlebars)` |`.hbs`, `.handlebars` | [`JS Beautify`](https://github.com/beautify-web/js-beautify) (Default), [`Pretty Diff`](https://github.com/prettydiff/prettydiff) | | Haskell | `Haskell` |`.hs` | [`stylish-haskell`](https://github.com/jaspervdj/stylish-haskell) (Default) | diff --git a/docs/options.md b/docs/options.md index bcdd89e..0cdc610 100644 --- a/docs/options.md +++ b/docs/options.md @@ -2931,6 +2931,100 @@ Indentation size/length (Supported by Gherkin formatter) } ``` +#### [GLSL](#glsl) + +**Supported Beautifiers**: [`clang-format`](#clang-format) + +| Option | clang-format | +| --- | --- | +| `disabled` | :white_check_mark: | +| `default_beautifier` | :white_check_mark: | +| `beautify_on_save` | :white_check_mark: | +| `configPath` | :white_check_mark: | + +**Description**: + +Options for language GLSL + +##### [Disable Beautifying Language](#disable-beautifying-language) + +**Important**: This option is only configurable from within Atom Beautify's setting panel. + +**Type**: `boolean` + +**Description**: + +Disable GLSL 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**: `clang-format` + +**Type**: `string` + +**Enum**: `clang-format` + +**Description**: + +Default Beautifier to be used for GLSL + +**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 GLSL 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. + +##### [Config Path](#config-path) + +**Namespace**: `glsl` + +**Key**: `configPath` + +**Type**: `string` + +**Supported Beautifiers**: [`clang-format`](#clang-format) + +**Description**: + +Path to clang-format config file. i.e. clang-format.cfg (Supported by clang-format) + +**Example `.jsbeautifyrc` Configuration** + +```json +{ + "glsl": { + "configPath": "" + } +} +``` + #### [Go](#go) **Supported Beautifiers**: [`gofmt`](#gofmt) @@ -16877,6 +16971,33 @@ sort imports (requires isort installed) (Supported by autopep8) ``` +### clang-format + +##### [Config Path](#config-path) + +**Namespace**: `glsl` + +**Key**: `configPath` + +**Type**: `string` + +**Supported Beautifiers**: [`clang-format`](#clang-format) + +**Description**: + +Path to clang-format config file. i.e. clang-format.cfg (Supported by clang-format) + +**Example `.jsbeautifyrc` Configuration** + +```json +{ + "glsl": { + "configPath": "" + } +} +``` + + ### coffee-fmt ##### [Indent size](#indent-size) diff --git a/package.json b/package.json index 6f226bf..2a63bc6 100644 --- a/package.json +++ b/package.json @@ -287,7 +287,8 @@ "clojure beautifier", "nunjucks", "ux markup", - "cljfmt" + "cljfmt", + "glsl" ], "devDependencies": { "coffeelint": "^1.10.1", diff --git a/src/beautifiers/clang-format.coffee b/src/beautifiers/clang-format.coffee index 9046be5..5fa9481 100644 --- a/src/beautifiers/clang-format.coffee +++ b/src/beautifiers/clang-format.coffee @@ -16,6 +16,7 @@ module.exports = class ClangFormat extends Beautifier "C++": false "C": false "Objective-C": false + "GLSL": true } ### diff --git a/src/languages/glsl.coffee b/src/languages/glsl.coffee new file mode 100644 index 0000000..dcfe1fe --- /dev/null +++ b/src/languages/glsl.coffee @@ -0,0 +1,29 @@ +module.exports = { + + name: "GLSL" + namespace: "glsl" + + ### + Supported Grammars + ### + grammars: [ + "C" + "opencl" + "GLSL" + ] + + ### + Supported extensions + ### + extensions: [ + "vert" + "frag" + ] + + options: + configPath: + type: 'string' + default: "" + description: "Path to clang-format config file. i.e. clang-format.cfg" + +} diff --git a/src/languages/index.coffee b/src/languages/index.coffee index 49ba11a..55d204f 100644 --- a/src/languages/index.coffee +++ b/src/languages/index.coffee @@ -29,6 +29,7 @@ module.exports = class Languages "erb" "erlang" "gherkin" + "glsl" "go" "fortran" "handlebars"