Commit graph

44 commits

Author SHA1 Message Date
sgherdao
c07e90793c
add support for pyang (#282)
Hi, 


pyang (https://github.com/mbj4668/pyang) is a YANG validator,
transformator and code generator, written in python. YANG (RFC 7950) is
a data modeling language for NETCONF (RFC 6241), developed by the IETF
NETMOD WG. This formatter provides support for Emacs yang-mode.

---------

Co-authored-by: Radon Rosborough <radon@intuitiveexplanations.com>
2024-02-08 17:56:49 -08:00
Chris Rose
96a9805ecb
Add ruff-isort formatter (#279)
`ruff` doesn't run isort as part of its format, so to maintain parity
with the sort rules that black/isort offer, this is the ruff isort.

---------

Co-authored-by: Radon Rosborough <radon@intuitiveexplanations.com>
2024-01-12 12:23:26 -07:00
Terje Larsen
1d6f821784
Add support for treefmt (#280)
This formatter is formatting via
[treefmt](https://numtide.github.io/treefmt). This is useful if the
project is configuring formatters for the project and you don't have to
replicate this logic within Emacs, but instead utilize treefmt directly.

To do that you can set the `apheleia-formatter` to `treefmt` within the
projects `.dir-locals.el`.

I noticed there are tests for this, since treefmt could technically
format anything, I went with treefmt formatting rust code. It also
relies on having a `treefmt.toml` in the project folder, so had to add
that as well in the tests.
2024-01-12 12:10:45 -07:00
Derek Passen
f868b22357
Extend lua support to lua-ts-mode (#275)
Available via https://git.sr.ht/~johnmuhl/lua-ts-mode and
https://git.savannah.gnu.org/cgit/emacs.git/commit/?id=b6659e98a4fcaa44477b64d7782243feca020418

---------

Co-authored-by: Radon Rosborough <radon@intuitiveexplanations.com>
2023-12-30 14:19:01 -07:00
Radon Rosborough
b2d2b50f1a
[#220] Disable in jinja2-mode by default (#238)
Close #220
2023-12-21 20:52:55 -07:00
Nolan
93f7480c96
Add ruby-syntax-tree format support (#224)
Add [ruby-syntax-tree](https://github.com/ruby-syntax-tree/syntax_tree)
as an available formatter. Include support for finding a [`.streerc`
file](https://github.com/ruby-syntax-tree/syntax_tree#configuration).

---------

Co-authored-by: Radon Rosborough <radon@intuitiveexplanations.com>
2023-12-21 20:34:11 -07:00
Ville Skyttä
3aa747856a
Add indent level support for yq JSON, XML, and YAML (#259)
Co-authored-by: Radon Rosborough <radon@intuitiveexplanations.com>
2023-12-14 18:53:39 -08:00
Michael Eliachevitch
4a87523f80
Add docformatter which formats Python docstrings to PEP 257 (#267)
Add [docformatter](https://github.com/PyCQA/docformatter) for Python
docstrings.

By default it outputs diffs but changes in-place with `--in-place`. On
successful change it exits with an error code of `3` (found out by
trial), so I had to add a formatter wrapping-script.

Initially I used `--in-place` with the special `in-place` symbol in
apheleia. But now I tried an approach where I transform the diff into
usable stdout using `patch` instead.

Related to #266 , where I had used the example of docformatter to ask
how to add scripts with positive exit codes and @raxod502 showed me the
`phpcs` solution.

---------

Co-authored-by: Radon Rosborough <radon@intuitiveexplanations.com>
2023-12-14 18:46:12 -08:00
Ville Skyttä
53c0389b5e
Add support for dprint (#249)
https://dprint.dev

---------

Co-authored-by: Radon Rosborough <radon@intuitiveexplanations.com>
2023-12-14 18:30:35 -08:00
Derek Passen
f3cbdbcae8
Add support for kotlin-ts-mode (#270)
https://gitlab.com/bricka/emacs-kotlin-ts-mode
2023-12-14 18:06:33 -08:00
Ville Skyttä
41dff902fb
Add support for JSON with python3 -m json.tool (#257)
https://docs.python.org/3/library/json.html#module-json.tool
2023-12-14 18:04:19 -08:00
dalu
a38279566a
Add support for cljfmt (#271) 2023-12-14 18:03:18 -08:00
Ibrahim Awwal
efb9992c00
Log an error when a formatter's executable is not found (#269)
I was trying to set up a new formatter and it wasn't in my exec-path, so
it wasn't running anything. But there was no message in the apheleia
logs, even with `apheleia-log-debug-info` enabled. This adds a log entry
when the executable is not found.

Hopefully the formatting is okay - I think Apheleia re-indented it so
hopefully that's good.

Fixes #268

---------

Co-authored-by: Radon Rosborough <radon@intuitiveexplanations.com>
2023-12-09 15:44:41 -08:00
Ville Skyttä
8f512dba3e
Use perltidy as default formatter for cperl-mode (#260)
Co-authored-by: Mohsin Kaleem <mohkale@kisara.moe>
2023-12-01 16:16:34 -08:00
Ville Skyttä
fe27888c6b
Add perltidy indent level and line length support (#261) 2023-11-29 19:26:19 +00:00
dalu
c8d9ad43ba
Add denofmt (#264) 2023-11-29 19:25:11 +00:00
Ville Skyttä
56651724ad
Add support for Robot Framework files with robotidy (#263) 2023-11-28 22:50:25 +00:00
Mohsin Kaleem
01ca22bcd7
Add js-beautify based formatters (#229) 2023-11-26 10:49:21 +00:00
Abdelhak Bougouffa
515ee18092
Add support for SQL using pgformatter (#247)
Add support for [`pgFormatter`](https://github.com/darold/pgFormatter)
for `sql-mode`.

<!--

To expedite the pull request process, please see the contributor guide
for my projects:

  <https://github.com/raxod502/contributor-guide>

-->
2023-11-23 14:03:37 -08:00
Anders Kaseorg
fb8842b731
Always supply --stdin-filepath to Prettier (#253)
This is required for Prettier to pick up the correct settings from its
config files.

Signed-off-by: Anders Kaseorg <andersk@mit.edu>
2023-11-23 21:14:20 +00:00
Radon Rosborough
e080558495
Add note about markdown-mode (#256) 2023-11-23 12:57:12 -08:00
Ville Skyttä
7adc80a310
Spelling and grammar fixes (#248) 2023-11-23 12:57:05 -08:00
Ville Skyttä
732efe4261
Add support for xmllint (#251)
<!--

To expedite the pull request process, please see the contributor guide
for my projects:

  <https://github.com/raxod502/contributor-guide>

-->

Co-authored-by: Radon Rosborough <radon@intuitiveexplanations.com>
2023-11-23 12:34:41 -08:00
Ville Skyttä
2b354f405b
Add support for yq (#250)
<!--

To expedite the pull request process, please see the contributor guide
for my projects:

  <https://github.com/raxod502/contributor-guide>

-->
2023-11-23 12:19:04 -08:00
Radon Rosborough
0e9a838bdd
Apply some code review suggestions from MELPA (#246)
https://github.com/melpa/melpa/pull/8809#issuecomment-1807218549
2023-11-17 16:17:08 -08:00
Radon Rosborough
ddea9bea70
[#232] Format from elixir project dir (#239)
Make it so that if there is a `.formatter.exs` file somewhere in the
parent directories, then Apheleia will run `mix format` from there
instead of the current directory.

Close #232
2023-11-11 16:32:40 -08:00
Ed Slocomb
54a192c345
Add support for formatters locally installed via yarn 2+ pnp mode (#200)
This adds support for formatters installed locally in project
directories via yarn 2's "zero install" [pnp
mode](https://yarnpkg.com/features/pnp).

It's quite similar to the support for formatters installed locally in a
project's `node_modules` via npm, and leverages the `npx` symbol, so
existing formatter definitions should work without modification.

This checks for a `.pnp.cjs` file (expected in the project root for yarn
pnp projects), then looks for a yarn executable, and checks the version
of yarn to make sure it supports pnp. If that works, we just push
`"yarn"` onto the front of `command`.

I've only tested this with a locally installed `prettier.js`. It's very
much a works-for-me draft, I'm putting in a PR to make sure this is a
workable approach before going any further with it.

---------

Co-authored-by: Radon Rosborough <radon@intuitiveexplanations.com>
2023-11-05 12:08:58 -08:00
Chris Rose
392028d823
Add support for the ruff python formatter (#236)
This adds support, but does not make it the default
Fixes: #233

---------

Co-authored-by: Radon Rosborough <radon@intuitiveexplanations.com>
2023-11-04 18:23:00 +00:00
Radon Rosborough
4178439d43
[#226] Add debug logs (#235)
Adds a way to properly diagnose performance issues like those reported
in https://github.com/radian-software/apheleia/issues/226.
2023-10-29 16:25:04 -07:00
Dhananjay Balan
5bade7a734
Use hclfmt to format hashicorp HCL files. (#231)
Add formatter `hclfmt` for Hashicorp Configuration Langauge (HCL).
2023-10-29 15:17:34 -07:00
Ed Slocomb
f4157e8c39
Use lisp-indent formatter in emacs-lisp-mode (#223)
What it says in the subject :)

Apheleia is opinionated about using a formatter, and which to use as a
default, in every other mode it supports, so it seems it should have an
opinion about emacs-lisp-mode, too?

---------

Co-authored-by: Radon Rosborough <radon@intuitiveexplanations.com>
2023-10-21 18:41:15 +00:00
Mohsin Kaleem
8cccf12df2
[#225] Fix incorrect replq usage (#227)
Closes #225.

<!--

To expedite the pull request process, please see the contributor guide
for my projects:

  <https://github.com/raxod502/contributor-guide>

-->
2023-10-18 20:01:51 +01:00
Mohsin Kaleem
51b8a796b6
Restructure and refactor apheleia package (#215)
CLOSES #212 

PR to restructure apheleia to make it more modular and improve some of
the separation of concerns. Before merging we should make sure that we
don't reintroduce the issues from #181.
2023-10-17 21:20:38 +01:00
Mohsin Kaleem
2d797a52e6 Move apheleia-formatters to apheleia-utils 2023-04-20 11:24:43 +01:00
Mohsin Kaleem
0474273496 Reorganise package requires to always provide apheleia 2023-04-20 11:24:43 +01:00
Mohsin Kaleem
ad728cfa76
Update existing formatters to use new formatter helper functions (#167) 2023-04-16 17:50:52 +01:00
Tomasz Hołubowicz
23c8b7d1ca
Add purs-tidy formatter (#182)
Hello!

I would like to add support for `purs-tidy` - PureScript formatter. 

Best wishes
alternateved
2023-03-29 14:35:02 -07:00
Mohsin Kaleem
edec1e61c8
Add various helper functions for defining formatters (#166) 2023-03-25 14:56:54 +00:00
Jay Barra
43ffed7890
Pretter svelte-mode (#178)
Adds support for `svelte-mode` using prettier.

Co-authored-by: Radon Rosborough <radon@intuitiveexplanations.com>
2023-03-23 14:00:51 -07:00
Mohsin Kaleem
26e436dfd0 Revert "Add various helper functions for defining formatters"
This reverts commit 1c607cf7a7.
2023-03-12 10:50:52 +00:00
Mohsin Kaleem
48e7233b42 Revert "Update existing formatters to use new utility functions"
This reverts commit ceaddebf39.
2023-03-12 10:50:49 +00:00
Mohsin Kaleem
ceaddebf39 Update existing formatters to use new utility functions 2023-03-12 10:45:10 +00:00
Mohsin Kaleem
1c607cf7a7 Add various helper functions for defining formatters 2023-03-12 10:34:28 +00:00
Mohsin Kaleem
3e93610387
Separate formatters definitions from core apheleia library (#161)
Moves the bulk of apheleia.el into a new apheleia-core.el file and move
formatter definitions and mode-associations into a new
apheleia-formatters.el file. The end user experience should be
unchanged. Loading `apheleia.el` will still load everything load
everything, just like it used to.
2023-03-12 10:22:36 +00:00