Description
'RStudio' Addins to Prettify 'JavaScript', 'C++', 'Python', and More.
Description
Provides 'RStudio' addins to prettify 'HTML', 'CSS', 'SCSS', 'JavaScript', 'JSX', 'Markdown', 'C(++)', 'LaTeX', 'Python', 'Julia', 'XML', 'Java', 'JSON', 'Ruby', and to reindent 'C(++)', 'Fortran', 'Java', 'Julia', 'Python', 'SAS', 'Scala', 'Shell', 'SQL' and "TypeScript". Two kinds of addins are provided: 'Prettify' and 'Indent'. The 'Indent' addins only reindent the code, while the 'Prettify' addins also modify the code, e.g. trailing semi-colons are added to 'JavaScript' code when they are missing.
README.md
prettifyAddins
RStudio addins to prettify JavaScript / HTML / CSS / Markdown / C++ and more.
JavaScript example:
The Markdown prettifier also prettifies the code blocks:
NEWS
- As of version 1.0.0, there are six addins:
The 'shiny' addins are the ones you can see on the above GIFs. The other ones are not interactive. The 'Prettify C/C++/Java' addin requires clang-format
(it is possible to reindent C/C++/Java (and more) with the 'Indent (shiny)' addin).
- As of version 2.0.0, there are five new addins:
- 'Indent (PhantomJS)': allows to reindent code for some languages which were supported by the 'Indent (shiny)' addin only, whereas this addin does not run a Shiny app; these languages are C, C++, Java, Fortran, Julia, Python, SAS, Scala, Shell, and SQL. This addin requires
phantomjs
(the package provides a function to install this software). - 'Prettify LaTeX': to prettify LaTeX code; works for Sweave code. It requires
latexindent
, which is included in MikTeX and TeX Live distributions. - 'Prettify Julia': to prettify Julia code. It requires Julia.
- 'Prettify Python': to prettify Python code. It requires black.
- 'Prettify (formatCodeApi)': to prettify Java, JSON, and Ruby.
- 'Indent (PhantomJS)': allows to reindent code for some languages which were supported by the 'Indent (shiny)' addin only, whereas this addin does not run a Shiny app; these languages are C, C++, Java, Fortran, Julia, Python, SAS, Scala, Shell, and SQL. This addin requires
Moreover, this version exports the functions used to prettify/reindent. For example:
code <- c(
"function f(x){",
"return x+1",
"}"
)
cat(prettify_V8(code, "javascript"))
gives
function f(x) {
return x + 1;
}
Copies of license agreements
The 'prettifyAddins' package as a whole is distributed under GPL-3 (GNU GENERAL PUBLIC LICENSE version 3).
It includes other open source software components:
- Prettier, https://github.com/prettier/prettier
- indent.js, https://github.com/zebzhao/indent.js
- CodeMirror, https://github.com/codemirror/CodeMirror
- SQL Formatter, https://github.com/zeroturnaround/sql-formatter
- Prettydiff, https://github.com/prettydiff/prettydiff
Full copies of the license agreements used by these components are included in the file LICENSE.note.