Commit Graph

326 Commits

Author SHA1 Message Date
Yang Zhang 185edce22e Disable options in clang-format formatter 2015-09-23 00:18:35 +08:00
Yang Zhang 9985f0677b Add two beautifiers: clang-format and yapf 2015-09-12 17:04:56 +08:00
Glavin Wiechert 971a87fcd8 See #524, #534. Add end_with_comma option to JavaScript using Pretty Diff 2015-09-10 16:08:58 -03:00
Glavin Wiechert 8854104f75 Merge branch 'master' of github.com:Glavin001/atom-beautify 2015-09-10 16:07:03 -03:00
Glavin Wiechert 795d18de90 See #524 and #543. Add no_lead_zero to CSS with Pretty Diff support 2015-09-10 16:05:19 -03:00
Florian Lefèvre 7c2ca2d647 Add JSBeautify extra_liners option in Settings View 2015-09-08 21:55:25 +02:00
Glavin Wiechert 4e528809f0 Closes #529. Improve documentation generation for package options
Show difference between Atom Beautify package option and
language config options in generated documentation
2015-08-31 19:25:40 -03:00
Machiste Quintana df569a9f4e Properly dispose of all subscriptions 2015-08-10 08:13:03 -04:00
Machiste Quintana fcdc684bde Properly dispose of most subscriptions 2015-08-10 08:05:20 -04:00
Juan Garcia 7d52e8da8b ahh, stop over complicating stuff please. thanks 2015-08-05 20:14:10 -05:00
Juan Garcia 345c472008 Merge branch 'master' into bug/nullgrammar 2015-08-05 19:02:46 -05:00
Glavin Wiechert b33f9b1745 Merge pull request #436 from tcl16/master
add language scopes to atom language config gets
2015-08-05 12:21:16 -03:00
Glavin Wiechert 0b7a9b516a Merge pull request #486 from kelvix/bug/perltidy
Fixes #479. Fix handling perltidy_profile option when it is an empty string
2015-08-05 12:20:15 -03:00
Glavin Wiechert 30681e9a8a Merge branch 'feat/puppet' of https://github.com/kelvix/atom-beautify into kelvix-feat/puppet 2015-08-05 12:14:02 -03:00
Glavin Wiechert 50fae4654e Merge pull request #488 from MeetMe/gherkin-grammar
Add Gherkin grammar support
2015-08-05 12:13:22 -03:00
Joe Hansche b13fa00d98 Remove the debug_lexer option, replace with loggerLevel check 2015-08-04 13:26:23 -04:00
Joe Hansche 758fe29253 Fix the way @tags are written out
Tags are typically separated by spaces, not newlines.

I suppose this could be an option
2015-08-04 13:25:28 -04:00
Joe Hansche ff6ee21db9 Add Gherkin grammar support
This resolves Glavin001/atom-beautify#377

Uses the https://github.com/cucumber/gherkin/tree/master/js node.js
package to use the official Lexer class.

The only known issue I've seen so far is that it does not format
tables properly -- the columns are not resized to match the widest
cell in each column.
2015-07-30 02:53:57 -04:00
Juan Garcia 49c6a113ad strange handling of null language for when a grammar we don't support is debugged 2015-07-29 22:27:40 -05:00
Juan Garcia 425a2cb081 fixes #479 2015-07-29 18:24:18 -05:00
Juan Garcia 632ca05f6c shoo console.log 2015-07-26 23:09:28 -05:00
Juan Garcia ba8584af34 coffee-linter installed no more guess work 2015-07-25 17:38:25 -05:00
Juan Garcia 0b2d519a69 lint spacing fixes 2015-07-25 16:44:44 -05:00
Juan Garcia ae226e24fb puppet support via puppet-lint 2015-07-25 15:19:37 -05:00
Juan Garcia 554ba8db83 🐛 fix the apparent race condition in moving to line 1 and displaying text 2015-07-22 21:08:53 -05:00
Jared Szechy 448888a653 Add Arduino language 2015-07-19 22:27:41 -04:00
Teemu Sirkiä cc3d2b188b Beautify Swig templates with handlebars instead of markup 2015-07-17 23:28:55 +03:00
Mike Gleason jr Couturier 5ff82b4902 Closes #447. Improved Handlebars language support 2015-07-07 11:25:00 +08:00
Sebastian Schlatow a58ebf889d Add SVG support 2015-07-07 00:08:09 +02:00
Thomas Lent 11c8d204c1 add language scopes to atom language config gets 2015-06-30 10:26:29 -04:00
Glavin Wiechert 018f0c03ac Merge pull request #414 from Asp1d/master
Added support of .rubocop.yml file in project root
2015-06-30 09:07:02 -03:00
Clemens Damke e18f379366 fix scoping bug 2015-06-26 09:35:16 +02:00
Yanis Tsaunya 98dba2e1bd debug fix 2015-06-26 00:36:12 +03:00
Clemens Damke 26fc816b1c memory improvement
jscs is only required, when actually used now.
2015-06-25 20:45:42 +02:00
Clemens Damke 00505d51c8 Merge branch 'pr/1'
Conflicts:
	package.json
2015-06-25 20:40:55 +02:00
Fernando Lujan 197c2bff17 Adjust option name to work with ruby-beautify 2015-06-25 11:58:52 -03:00
Yanis Tsaunya c76e6be579 removed console log 2015-06-25 16:37:12 +03:00
Yanis Tsaunya 6c056a3c23 added suppot of .rubocop.yml file 2015-06-25 16:29:14 +03:00
Glavin Wiechert 4372b419e8 Closes #410. Add space_after_anon_function option to Pretty Diff
- "space_after_anon_function option" is renamed to "space" for Pretty
  Diff. See http://prettydiff.com/documentation.xhtml#space
- Fix broken test
- Update docs
2015-06-25 09:10:47 -03:00
Glavin Wiechert 5d0de01938 Add more logging to beautifiers 2015-06-25 08:40:02 -03:00
Glavin Wiechert b70e41774d Add final options, package settings, language detected to Help Debug Editor
See #413. This extra info would be useful
2015-06-25 08:38:47 -03:00
Clemens Damke e56304625c add JSCS Fixer
- Cannot be configured via the settings UI yet.
- Only fixes files, that have a .jscsrc file in one of their parent
folders (up to the project root folder in Atom).
2015-06-25 01:36:02 +02:00
Glavin Wiechert 57ffe7543b Handle Windows command not found error being different
Using cross-spawn on Windows will return returnCode=1 and use stderr
message when command is not found. However it is expected that an Error is
returned from spawn in that case and error.code is ENOENT. This commit
handles Windows explicitly by checking if it is Windows, for the
returnCode, and also if the error message is appropriate.

Example Windows command not found error message:
	'command' is not recognized as an internal or external command,
	operable program or batch file.

/cc #397
2015-06-14 11:03:12 -03:00
Glavin Wiechert c93b1f8696 Fix Windows spawn issues, switch to cross-spawn
Fixes #397. sqlformat should not be able to be found and used.

See https://github.com/joyent/node/issues/2318
2015-06-12 15:19:24 -03:00
Glavin Wiechert b47cc5b92d Revert previous commit to fix PHP-CS-Fixer and rubocop
- Reverting commit 590dbc805e
- See #390
2015-06-12 03:19:53 -03:00
Glavin Wiechert 590dbc805e See #390. Use global php-cs-fixer on Windows without running within php
By using [node-which](https://github.com/isaacs/node-which)
I believe I am able to get rid of the `php` command running
`php-cs-fixer` as an argument.
`which` will find the `php-cs-fixer` program by looking through
the `PATH` environment variable listed directories.
This will resolve `php-cs-fixer` to an absolute path to the executable
and that will be used to run the command.
This dramatically cleans up the `PHP-CS-Fixer beautifier` code and specs, too!

Doing some Windows tests now.
2015-06-12 01:22:14 -03:00
Glavin Wiechert c1f09e4f8b Beautify all src/ files to pass linting with Coffeelint 2015-06-11 22:57:03 -03:00
Glavin Wiechert b0d8dfa6fb Format all internal CoffeeScript code to indent_size=2
- Using Atom Beautify's Beautify Directory feature
- Using coffee-fmt
  - Only has one bug: https://github.com/sterpe/coffee-fmt/issues/16
2015-06-11 21:59:00 -03:00
Glavin Wiechert 328b9e4455 See #213. Add OK/Cancel buttons to Beautify Directory command 2015-06-11 21:57:35 -03:00
Glavin Wiechert 35303961e2 Merge branch 'beautify-directory' 2015-06-11 21:40:22 -03:00
Glavin Wiechert 7c9281e4b4 Fix PHP-CS-Fixer beautifier specs for missing php/php-cs-fixer 2015-06-11 21:16:05 -03:00
Glavin Wiechert 4d8d09a601 Closes #264. Choose Pretty Diff beautifier as default for ERB
- Add indent_size option to htmlbeautifier
- Make Pretty Diff default beautifier for ERB
2015-06-11 18:20:24 -03:00
Glavin Wiechert 2663b41505 See #394. Improve error message when program cannot be found 2015-06-11 17:37:23 -03:00
Glavin Wiechert a0e07c232d Closes #142. Add options (tabs, spaces, indent_count) for Ruby-Beautify 2015-06-10 19:20:08 -03:00
Glavin Wiechert 68070d5b4b Fix showing of options when a test fails when running specs 2015-06-10 17:30:44 -03:00
Glavin Wiechert 01d7f2f9bb Show options when a test fails when running specs 2015-06-10 17:02:22 -03:00
Glavin Wiechert 9afde9bfd1 Clean up logging, remove atom-typescript from specs 2015-06-10 16:45:34 -03:00
Glavin Wiechert 198f0770dd Closes #341. Add indent_size option to Rubocop beautifier 2015-06-10 13:10:16 -03:00
Glavin Wiechert 5506b28e8a See #213. Add warning to beautify-directory
- and do not save beautified output if it is empty string
2015-06-10 11:25:37 -03:00
Glavin Wiechert dcddf71346 Fixes #327. Only show beautify progress view when actually beautifying
- Beautifiers extends event emitter
2015-06-10 10:34:51 -03:00
Glavin Wiechert bf1c7fc0e2 Closes #369. Allow JS Beautify to be used for XML language 2015-06-10 09:15:48 -03:00
Glavin Wiechert b41daabaa6 Closes #297, #265. Add missing Pretty Diff options for CSS/SCSS/Sass/LESS 2015-06-08 18:34:56 -03:00
Glavin Wiechert ce503cb80a Retrieve/use absolute path of executable within Beautifier::run
See #375. Will help with debugging Windows CI
2015-06-08 11:20:52 -03:00
Glavin Wiechert 52d0538f41 Closes #309. Add language Twig and use Pretty Diff beautifier. 2015-06-06 15:10:35 -03:00
Glavin Wiechert 7c69428a99 See #311. Show installation instructions when beautifiers are missing
- autopep8
- perltidy
- ruby-beautify
- sqlformat
- uncrustify
2015-06-06 13:58:16 -03:00
Glavin Wiechert b0d8d7dd1e See #358. Add Rustfmt beautifier for Rust language support 2015-06-06 13:45:56 -03:00
Glavin Wiechert 5469dd56bd Show installation and setup instructions when cannot find php-cs-fixer
See #311. Closes #288.
2015-06-06 13:44:58 -03:00
Glavin Wiechert c9159f2a92 Closes #311. Show more informative error when beautifier not found 2015-06-06 13:36:47 -03:00
Jan-Cornelius Molnar 9024f2b2f7 Merge remote-tracking branch 'upstream/master' 2015-06-01 23:19:03 +02:00
Jan-Cornelius Molnar b45e9d2078 moved all fortran beautifier files into common directory. 2015-06-01 23:17:49 +02:00
Glavin Wiechert 5c663cd9e0 See #58. Add package options to autogenerated documentation 2015-06-01 16:50:09 -03:00
Glavin Wiechert f10f414296 Merge branch 'master' of github.com:Glavin001/atom-beautify 2015-06-01 16:03:05 -03:00
Glavin Wiechert 9e90708a55 See #58. Add automatic documentation generation for Options
npm run docs
2015-06-01 15:52:33 -03:00
Jan-Cornelius Molnar 1d88194bce Fixed reference to gnu.
Added small test for fortran.
2015-06-01 20:01:34 +02:00
Jan-Cornelius Molnar c75ad31778 Migrated Fortran support to new layout. 2015-06-01 19:48:37 +02:00
Ramón Cahenzli 6788312d5c Fixing faux possessive 'it is' -> 'its'. 2015-06-01 13:58:02 +02:00
Glavin Wiechert 9fe8506532 Fixes #370. Nest EditorConfig options under _default namespace
- Add test for using EditorConfig
- Apply transformations to EditorConfig options in promise
  - Handle indent_style for space and tab
2015-05-28 12:01:24 -03:00
Glavin Wiechert 3036222690 See #370. Resolve promises in allOptions for Help Debug Editor 2015-05-28 11:48:36 -03:00
Glavin Wiechert fd00de7067 Fixes #338. Restore cursor and scroll position for beautify on save 2015-05-27 21:32:55 -03:00
Glavin Wiechert 7ac05d1a66 See #372. Fix deprecation, call ::getActiveTextEditor instead
Closes #366.
2015-05-27 20:54:24 -03:00
Glavin Wiechert ecd1012458 See #372. Fix deprecation, switch to using atom-space-pen-views 2015-05-27 20:54:19 -03:00
Glavin Wiechert 28d2068bcd Fixes #370. Allow Promises in allOptions for beautification 2015-05-27 18:05:30 -03:00
Alex Wilson 7526a1864d Enable typescript-formatter defaults. 2015-05-21 22:58:06 -06:00
Glavin Wiechert d1dd3b2059 Closes #349. Add Visualforce language and use Pretty Diff beautifier 2015-05-21 16:44:19 -03:00
Glavin Wiechert 559c2ecbd7 Fixes #353. Fix support for extensions with getLanguages 2015-05-20 13:37:47 -03:00
Glavin Wiechert 60b86df3ba Merge pull request #348 from luisrudge/patch-1
Add .js to the extensions supported by the JSX language
2015-05-20 13:14:20 -03:00
Glavin Wiechert bb3b9c99a7 Fixes #288. Add custom command for PHP-CS-Fixer on Windows 2015-05-20 12:46:26 -03:00
Glavin Wiechert 3913267804 Closes #350. Add grammar HTML (Angular) to Embedded JavaScript language 2015-05-20 12:27:14 -03:00
Glavin Wiechert f78fa314cd Closes #351. Update TypeScript beautification tests 2015-05-20 12:18:38 -03:00
ewgeniux 25e2a754d5 fix typescript support 2015-05-20 11:06:21 +03:00
Luís Rudge 98d0d5ac3c fixes #144 for good 2015-05-19 16:14:11 -03:00
Glavin Wiechert 573a949b6f Closes #346. Merge options for language namespace, fallbacks, _default 2015-05-19 15:02:23 -03:00
Glavin Wiechert 5fd07cff9c Update coffee-fmt to v0.10.2 and beautify internal source code 2015-05-19 09:40:59 -03:00
Glavin Wiechert 94fc870b84 Closes #323. Add language Swig with grammar HTML (Swig) 2015-05-18 18:08:06 -03:00
Glavin Wiechert 5d085f0f5c Add debugging logs to JS-Beautify and Coffee-Fmt beautifiers 2015-05-18 16:58:52 -03:00
Glavin Wiechert 2c04729e5c Merge branch 'master' of github.com:Glavin001/atom-beautify 2015-05-18 15:52:48 -03:00
Glavin Wiechert de405880fd Closes #332. Remove deprecated "Beautify: Beautify Editor" command 2015-05-18 15:50:35 -03:00
Glavin Wiechert 623f34ad89 See #144. Add JavaScript (JSX) grammar to JSX language 2015-05-14 21:55:00 -03:00
Glavin Wiechert 1335313dc6 Beautify internal files, beautify.coffee and beautifiers/index.coffee 2015-05-07 19:22:01 -03:00
Glavin Wiechert b73d398cf4 Fixes #314. Beauify On Save will save then beautify the file on disk 2015-05-07 19:13:25 -03:00
Glavin Wiechert 66c1522dcc Closes #178. Change commands' namespace from "beautify" to "atom-beautify" 2015-05-06 13:00:51 -03:00
Glavin Wiechert a94721e1b5 Closes #308. Beautify On Save is opt-in for each language
Deprecate old global beautifyOnSave option
2015-05-06 12:35:34 -03:00
Glavin Wiechert d1b0e6d66d See #296. Add package option for setting logger level 2015-05-06 12:34:58 -03:00
Glavin Wiechert 2b7bbb35a7 See #317. Use Warning notification, improve message for unsupported lang 2015-05-05 14:46:18 -03:00
Glavin Wiechert d58f688dab Closes #317. Switch from addFatalError to addError for showing errors
Fatal Error notifications were scaring the users
2015-05-05 13:08:50 -03:00
Glavin Wiechert bdb1fc0d38 Fixes #289. Remove deprecated subscription call to TextBuffer.on
Also `beautify on save` is checked on every save,
not just on Atom Beautify activation / startup.
2015-05-05 13:01:58 -03:00
Glavin Wiechert 8bcf4efcfa Fixes #305. Beautify input in single temp file for HTMLBeautifier
- Enable HTMLBeautifier tests for Travis CI
2015-05-04 02:32:25 -03:00
Glavin Wiechert 1dfac5bbab Closes #296. Add logging to `Help Debug Editor` command 2015-05-04 02:12:02 -03:00
Glavin Wiechert 88c58a20bb See #296. Add Logging API to Beautifier 2015-05-03 14:50:33 -03:00
Glavin Wiechert cc9b8e8ff2 See #294. Add missing argument to PHP-CS-Fixer beautifier
And enable tests for Travis CI
2015-05-03 12:50:45 -03:00
Glavin Wiechert 141bca7aba Add support for beautifiers ignoring CLI return code
Rubocop always returns an error code (1) instead of a good code (0) so
the beautifier has now been configured to ignore the return code / exit
status for only Rubocop beautifier. Other beautifiers will properly
return error when an bad return code is received.
2015-05-03 12:22:24 -03:00
Glavin Wiechert b5c3098778 Fixes #301. Fix autopep8 beautifier's arguments 2015-05-03 12:00:33 -03:00
Glavin Wiechert 4eed4cfc21 See #292. Add more Markdown with YAML Front Matter tests 2015-05-03 11:39:46 -03:00
Glavin Wiechert 1fd94e871b Closes #192. Add coffee-fmt beautifier for CoffeeScript language 2015-05-03 01:57:17 -03:00
Glavin Wiechert 0a0ba673e8 Closes #176. Add gofmt beautifier for Golang language 2015-05-03 01:23:29 -03:00
Glavin Wiechert 81fde0c9ea Closes #209. Add CSScomb beautifier for CSS/LESS/SCSS/Sass languages.
To switch from `JS Beautify` (CSS) or `Pretty Diff` (SCSS/Sass/LESS) to
using `CSScomb`, you will go into Atom Beautify package settings and
find the option for `Language Config - <Your Desired Language: CSS, etc>
- Default Beautifier` and select `CSScomb`.

CSScomb looks for a `.csscomb.json` file in your Atom's first project
directory. If it does not find one, or if importing it fails, it will
fallback to `csscomb` predefined configuration.
2015-05-03 01:01:33 -03:00
Glavin Wiechert 38b760ee6a Merge branch 'master' of git://github.com/jney/atom-beautify into jney-master
Conflicts:
	lib/langs/ruby-beautify.coffee
	lib/language-options.coffee
2015-05-02 20:53:53 -03:00
Glavin Wiechert 48af4a3ff6 See #282, #284. Move language options out of option of type `object`
See Atom Settings-View bug:
https://github.com/atom/settings-view/issues/386#issuecomment-98379708
2015-05-02 14:06:50 -03:00
Glavin Wiechert a2262619ad Closes #284, #282. Language config options in Package settings
Language config options for:
- disabled - Disable beautifying a language
  - `disabled_languages` no longer works
  - use the options for each language to disable them
- default_beautifier - Preferred beautifier to use for language
  - if there are multiple beautifiers for a language it will choose the
    beautifier the user has set as default. Initially the default
    beautifier is just the first beautifier to register support for that
    language
2015-05-02 12:55:37 -03:00
Glavin Wiechert a30dc62510 See #282. Fix getLanguages for finding by name and namespace
- Was causing "Duplicate option" warnings
2015-05-01 03:53:25 -03:00
Glavin Wiechert 9211a03c16 See #282. Improve Beautifier options definition handling
What's new:
- Beautifier options definition supports:
    - boolean - enable/disable
    - string - rename and enable
    - function - transform and enable
    - array - apply complex transformation to multiple options and
      output single option result
- Show "Supported by <beautifiers>" for each language option
    - Beautifiers have a name
    - Beautifier options definition is used to determine if
    language option is supported by a beautifier
- Remove SQL test, since sqlformat is inconsistant
2015-05-01 02:32:02 -03:00
Glavin Wiechert 26ab3ec198 See #282. Add global language option transforms for beautifier
Beautifier can have global language option transforms
with "_" (underscore) key.
2015-04-30 16:45:45 -03:00
Glavin Wiechert 1a92e608d5 See #164. Remove CLI Path options for CLI beautifiers
CLI beautifiers no longer need hardcoded/fixed paths
to their executable, since the PATH and
other environment variables are being auto-detected
2015-04-30 15:53:24 -03:00
Glavin Wiechert 240368fb09 Closes #164. Auto-detect Shell environment variables 2015-04-30 15:13:53 -03:00
Glavin Wiechert 0b1d0216d9 All tests should pass with new internal API 2015-04-30 13:23:41 -03:00
Glavin Wiechert 7432334d08 See #282. Restructure internal API
Done:
- Create base Beautifier class
- All Languages are separate files
- Options are separated for each language
- Beautifiers reference applicable Languages/Options
- Atom Beautify builds and tests can run
  - 19 failures out of 34 tests

TODO:
- Render Language Options to Atom Package Settings
- Support for Language fallback option namespaces
- Support for chosing from multiple applicable beautifiers
2015-04-29 04:50:09 -03:00