dense-analysis / dense-analysis/ale

Add support for snakefmt (a close cousin of Black) for snakemake files (a DSL based on python)

Open
#3,683 0 comments 1 reaction 0 assignees View on GitHub
new tool
Dominant language
Vim Script
Stars
14k
Forks
1.5k
Avg merge
17h 49m
Merged PRs (30d)
1

Description

**Name:** snakefmt
**URL:** https://github.com/snakemake/snakefmt

- snakefmt provides formatting for [Snakemake](https://snakemake.github.io/) files ([Snakemake](https://snakemake.github.io/) is a modern data analysis pipeline tool for scientific computing in the spirit of the venerable GNU Make.
- Snakemake files (i.e. the pipeline scripts) are written in a domain-specific language (DSL) that extends standard python (and is very close to standard python). The snakemake executable itself is written in python.
- The snakefmt formatter follows the design and specifications of the python formatter Black.
- Takes input from stdin and modifies contents in-place by default

In the official snakefmt repository, there already exists a plugin that can integrate with `vim` to provide the `:snakefmt` command. Furthermore, vim autocommands can be set up to automatically run `:snakefmt` upon every save operation. See the instructions [here](https://github.com/snakemake/snakefmt/blob/master/docs/editor_integration.md#Vim).

All these give an impression that it should be straightforward to integrate `snakefmt` within `ale`.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.