NAME

yamltidy - Reformat YAML files

ABSTRACT

DESCRIPTION

This script checks YAML files according to a configuration and automatically reformats them. It will output the formatted code on standard output, or edit the file directly.

EXAMPLES

Tidy a file and print to stdout
% cat in.yaml
---
a:
    b:
        c: d
% yamltidy in.yaml
---
a:
  b:
    c: d
Tidy content from stdin
% echo '---
a:
    b:
        c: d' | yamltidy -
---
a:
  b:
    c: d
Tidy a file and save the result back
% yamltidy --inplace in.yaml
% cat in.yaml
---
a:
  b:
    c: d
Process a list of files from stdin
# Tidy all .yaml files that are in git
% git ls-files | grep '.yaml$' | yamltidy --batch-stdin --inplace
# Only tidy modified files
% git ls-files --modified | grep '.yaml$' | yamltidy --batch-stdin --inplace
Use a certain configuration file
% yamltidy -c /path/to/yamltidy.yaml file.yaml
Partial formatting

From within an editor you can pass only a part of the file on stdin. This is important for keeping the indentation of that part. Also it won't add a --- header. Compare:

% echo '
  a:
      b: c' | yamltidy -
---
a:
  b: c
% echo '
    a:
        b: c' | yamltidy --partial -

    a:
      b: c

Vim example configuration:

# :noremap <leader>yt :%!yamltidy -<CR>
# :vnoremap <leader>yt :!yamltidy --partial -<CR>

GLOBAL OPTIONS

--config-file -c    Config file                                
--config-data -d    Configuration as a string                  
--inplace -i        Edit file inplace (flag)                   
--debug             Debugging output (flag)                    
--partial           Input is only a part of a YAML file (flag) 
--indent            Override indentation spaces from config    
--batch-stdin       Tidy all file names passed via STDIN (flag)
--verbose           Output information (flag)                  
--help -h           print usage message and exit (flag)        
--version           Print version information (flag)           

SUBCOMMANDS