commit
f8fdd3d790
|
@ -98,6 +98,9 @@ before_install:
|
||||||
- pip install --upgrade sqlparse
|
- pip install --upgrade sqlparse
|
||||||
# Java, C, C++, C#, Objective-C, D, Pawn, Vala
|
# Java, C, C++, C#, Objective-C, D, Pawn, Vala
|
||||||
- brew install uncrustify
|
- brew install uncrustify
|
||||||
|
# R
|
||||||
|
- brew tap homebrew/science
|
||||||
|
- brew install r
|
||||||
# PHP
|
# PHP
|
||||||
- brew tap homebrew/homebrew-php
|
- brew tap homebrew/homebrew-php
|
||||||
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
|
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
|
||||||
|
|
|
@ -94,6 +94,7 @@ See [all supported options in the documentation at `docs/options.md`](https://g
|
||||||
| PHP | `PHP` |`.php`, `.module`, `.inc` | [`PHP-CS-Fixer`](http://php.net/manual/en/install.php) (Default), [`PHPCBF`](http://php.net/manual/en/install.php) |
|
| PHP | `PHP` |`.php`, `.module`, `.inc` | [`PHP-CS-Fixer`](http://php.net/manual/en/install.php) (Default), [`PHPCBF`](http://php.net/manual/en/install.php) |
|
||||||
| Puppet | `Puppet` |`.pp` | [`puppet-lint`](http://puppet-lint.com/) (Default) |
|
| Puppet | `Puppet` |`.pp` | [`puppet-lint`](http://puppet-lint.com/) (Default) |
|
||||||
| Python | `Python` |`.py` | [`autopep8`](https://github.com/hhatto/autopep8) (Default), [`yapf`](https://github.com/google/yapf) |
|
| Python | `Python` |`.py` | [`autopep8`](https://github.com/hhatto/autopep8) (Default), [`yapf`](https://github.com/google/yapf) |
|
||||||
|
| R | `R` |`.r`, `.R` | [`formatR`](https://github.com/yihui/formatR) (Default) |
|
||||||
| Riot.js | `Riot.js`, `HTML (Riot Tag)` |`.tag` | [`Pretty Diff`](https://github.com/prettydiff/prettydiff) (Default) |
|
| Riot.js | `Riot.js`, `HTML (Riot Tag)` |`.tag` | [`Pretty Diff`](https://github.com/prettydiff/prettydiff) (Default) |
|
||||||
| Ruby | `Ruby`, `Ruby on Rails` |`.rb` | [`Rubocop`](https://github.com/bbatsov/rubocop) (Default), [`Ruby Beautify`](https://github.com/erniebrodeur/ruby-beautify) |
|
| Ruby | `Ruby`, `Ruby on Rails` |`.rb` | [`Rubocop`](https://github.com/bbatsov/rubocop) (Default), [`Ruby Beautify`](https://github.com/erniebrodeur/ruby-beautify) |
|
||||||
| Rust | `Rust` |`.rs`, `.rlib` | [`rustfmt`](https://github.com/nrc/rustfmt) (Default) |
|
| Rust | `Rust` |`.rs`, `.rlib` | [`rustfmt`](https://github.com/nrc/rustfmt) (Default) |
|
||||||
|
|
125
docs/options.md
125
docs/options.md
|
@ -8242,6 +8242,102 @@ sort imports (requires isort installed) (Supported by autopep8)
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
#### [R](#r)
|
||||||
|
|
||||||
|
**Supported Beautifiers**: [`formatR`](#formatr)
|
||||||
|
|
||||||
|
| Option | formatR |
|
||||||
|
| --- | --- |
|
||||||
|
| `disabled` | :white_check_mark: |
|
||||||
|
| `default_beautifier` | :white_check_mark: |
|
||||||
|
| `beautify_on_save` | :white_check_mark: |
|
||||||
|
| `indent_size` | :white_check_mark: |
|
||||||
|
|
||||||
|
**Description**:
|
||||||
|
|
||||||
|
Options for language R
|
||||||
|
|
||||||
|
##### [Disable Beautifying Language](#disable-beautifying-language)
|
||||||
|
|
||||||
|
**Important**: This option is only configurable from within Atom Beautify's setting panel.
|
||||||
|
|
||||||
|
**Type**: `boolean`
|
||||||
|
|
||||||
|
**Description**:
|
||||||
|
|
||||||
|
Disable R 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**: `formatR`
|
||||||
|
|
||||||
|
**Type**: `string`
|
||||||
|
|
||||||
|
**Enum**: `formatR`
|
||||||
|
|
||||||
|
**Description**:
|
||||||
|
|
||||||
|
Default Beautifier to be used for R
|
||||||
|
|
||||||
|
**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 R 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.
|
||||||
|
|
||||||
|
##### [Indent size](#indent-size)
|
||||||
|
|
||||||
|
**Namespace**: `r`
|
||||||
|
|
||||||
|
**Key**: `indent_size`
|
||||||
|
|
||||||
|
**Default**: `4`
|
||||||
|
|
||||||
|
**Type**: `integer`
|
||||||
|
|
||||||
|
**Supported Beautifiers**: [`formatR`](#formatr)
|
||||||
|
|
||||||
|
**Description**:
|
||||||
|
|
||||||
|
Indentation size/length (Supported by formatR)
|
||||||
|
|
||||||
|
**Example `.jsbeautifyrc` Configuration**
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"r": {
|
||||||
|
"indent_size": 4
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
#### [Riot.js](#riot.js)
|
#### [Riot.js](#riot.js)
|
||||||
|
|
||||||
**Supported Beautifiers**: [`Pretty Diff`](#pretty-diff)
|
**Supported Beautifiers**: [`Pretty Diff`](#pretty-diff)
|
||||||
|
@ -16338,6 +16434,35 @@ Indentation uses tabs, overrides `Indent Size` and `Indent Char` (Supported by C
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
|
### formatR
|
||||||
|
|
||||||
|
##### [Indent size](#indent-size)
|
||||||
|
|
||||||
|
**Namespace**: `r`
|
||||||
|
|
||||||
|
**Key**: `indent_size`
|
||||||
|
|
||||||
|
**Default**: `4`
|
||||||
|
|
||||||
|
**Type**: `integer`
|
||||||
|
|
||||||
|
**Supported Beautifiers**: [`formatR`](#formatr)
|
||||||
|
|
||||||
|
**Description**:
|
||||||
|
|
||||||
|
Indentation size/length (Supported by formatR)
|
||||||
|
|
||||||
|
**Example `.jsbeautifyrc` Configuration**
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"r": {
|
||||||
|
"indent_size": 4
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
### rustfmt
|
### rustfmt
|
||||||
|
|
||||||
##### [Rustfmt path](#rustfmt-path)
|
##### [Rustfmt path](#rustfmt-path)
|
||||||
|
|
|
@ -0,0 +1,20 @@
|
||||||
|
# a single line of comments is preserved
|
||||||
|
1 + 1
|
||||||
|
|
||||||
|
if (TRUE) {
|
||||||
|
x = 1 # inline comments
|
||||||
|
} else {
|
||||||
|
x = 2
|
||||||
|
print("Oh no... ask the right bracket to go away!")
|
||||||
|
}
|
||||||
|
1 * 3 # one space before this comment will become two!
|
||||||
|
2 + 2 + 2 # 'short comments'
|
||||||
|
|
||||||
|
# only 'single quotes' are allowed in comments
|
||||||
|
df = data.frame(y = rnorm(100), x1 = rnorm(100), x2 = rnorm(100))
|
||||||
|
lm(y ~ x1 + x2, data = df)
|
||||||
|
1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 +
|
||||||
|
1 + 1 ## comments after a long line
|
||||||
|
|
||||||
|
## here is a long long long long long long long long long long long long long long
|
||||||
|
## long long long long long long comment
|
|
@ -0,0 +1,16 @@
|
||||||
|
# a single line of comments is preserved
|
||||||
|
1+1
|
||||||
|
|
||||||
|
if(TRUE){
|
||||||
|
x=1 # inline comments
|
||||||
|
}else{
|
||||||
|
x=2;print('Oh no... ask the right bracket to go away!')}
|
||||||
|
1*3 # one space before this comment will become two!
|
||||||
|
2+2+2 # 'short comments'
|
||||||
|
|
||||||
|
# only 'single quotes' are allowed in comments
|
||||||
|
df=data.frame(y=rnorm(100),x1=rnorm(100),x2=rnorm(100))
|
||||||
|
lm(y~x1+x2, data=df)
|
||||||
|
1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1 ## comments after a long line
|
||||||
|
|
||||||
|
## here is a long long long long long long long long long long long long long long long long long long long long comment
|
10
package.json
10
package.json
|
@ -95,6 +95,10 @@
|
||||||
"name": "Arman Yessenamanov",
|
"name": "Arman Yessenamanov",
|
||||||
"url": "https://github.com/yesenarman"
|
"url": "https://github.com/yesenarman"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "Sebastian DiLorenzo",
|
||||||
|
"url": "https://github.com/Sebastian-D"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "Émile Bergeron",
|
"name": "Émile Bergeron",
|
||||||
"url": "https://github.com/emileber"
|
"url": "https://github.com/emileber"
|
||||||
|
@ -251,6 +255,7 @@
|
||||||
"pretty diff",
|
"pretty diff",
|
||||||
"pug beautify",
|
"pug beautify",
|
||||||
"puppet-lint",
|
"puppet-lint",
|
||||||
|
"r",
|
||||||
"remark",
|
"remark",
|
||||||
"rubocop",
|
"rubocop",
|
||||||
"ruby beautify",
|
"ruby beautify",
|
||||||
|
@ -264,7 +269,8 @@
|
||||||
"marko beautifier",
|
"marko beautifier",
|
||||||
"vue",
|
"vue",
|
||||||
"vue beautifier",
|
"vue beautifier",
|
||||||
"sassconvert"
|
"sassconvert",
|
||||||
|
"formatr"
|
||||||
],
|
],
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"coffeelint": "^1.10.1",
|
"coffeelint": "^1.10.1",
|
||||||
|
@ -277,4 +283,4 @@
|
||||||
"lint": "coffeelint src/ spec/",
|
"lint": "coffeelint src/ spec/",
|
||||||
"code-docs": "codo && open docs/code/index.html"
|
"code-docs": "codo && open docs/code/index.html"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,5 @@
|
||||||
|
if(!("formatR" %in% installed.packages()[,"Package"])) install.packages("formatR",repos='http://cran.us.r-project.org')
|
||||||
|
library(formatR)
|
||||||
|
indent_size <- commandArgs(trailingOnly = TRUE)[1]
|
||||||
|
file <- commandArgs(trailingOnly = TRUE)[2]
|
||||||
|
tidy_source(text = readLines(file), indent = indent_size)
|
|
@ -0,0 +1,25 @@
|
||||||
|
###
|
||||||
|
Requires [formatR](https://github.com/yihui/formatR)
|
||||||
|
###
|
||||||
|
path = require("path")
|
||||||
|
|
||||||
|
"use strict"
|
||||||
|
Beautifier = require('../beautifier')
|
||||||
|
|
||||||
|
module.exports = class R extends Beautifier
|
||||||
|
name: "formatR"
|
||||||
|
link: "https://github.com/yihui/formatR"
|
||||||
|
|
||||||
|
options: {
|
||||||
|
R: true
|
||||||
|
}
|
||||||
|
|
||||||
|
beautify: (text, language, options) ->
|
||||||
|
r_beautifier = path.resolve(__dirname, "formatR.r")
|
||||||
|
@run("Rscript", [
|
||||||
|
r_beautifier,
|
||||||
|
options.indent_size,
|
||||||
|
@tempFile("input", text),
|
||||||
|
'>',
|
||||||
|
@tempFile("input", text)
|
||||||
|
])
|
|
@ -71,6 +71,7 @@ module.exports = class Beautifiers extends EventEmitter
|
||||||
'yapf'
|
'yapf'
|
||||||
'erl_tidy'
|
'erl_tidy'
|
||||||
'marko-beautifier'
|
'marko-beautifier'
|
||||||
|
'formatR'
|
||||||
]
|
]
|
||||||
|
|
||||||
###
|
###
|
||||||
|
|
|
@ -51,6 +51,7 @@ module.exports = class Languages
|
||||||
"php"
|
"php"
|
||||||
"puppet"
|
"puppet"
|
||||||
"python"
|
"python"
|
||||||
|
"r"
|
||||||
"riotjs"
|
"riotjs"
|
||||||
"ruby"
|
"ruby"
|
||||||
"rust"
|
"rust"
|
||||||
|
|
|
@ -0,0 +1,35 @@
|
||||||
|
# Get Atom defaults
|
||||||
|
scope = ['text.html']
|
||||||
|
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: "R"
|
||||||
|
namespace: "r"
|
||||||
|
|
||||||
|
###
|
||||||
|
Supported Grammars
|
||||||
|
###
|
||||||
|
grammars: [
|
||||||
|
"R"
|
||||||
|
]
|
||||||
|
|
||||||
|
###
|
||||||
|
Supported extensions
|
||||||
|
###
|
||||||
|
extensions: [
|
||||||
|
"r"
|
||||||
|
"R"
|
||||||
|
]
|
||||||
|
|
||||||
|
options:
|
||||||
|
indent_size:
|
||||||
|
type: 'integer'
|
||||||
|
default: defaultIndentSize
|
||||||
|
description: "Indentation size/length"
|
||||||
|
|
||||||
|
}
|
Loading…
Reference in New Issue