hask-replace 0.4.0

Rename haskell modules at the speed of Rust
name: hask-replace
author: Vanessa McHale <vanessa.mchale@reconfigure.io>
about: Rename modules and functions across Haskell projects
subcommands:
    #- function:
    #    visible_alias: "f"
    #    about: Move a function between modules
    #    args:
    #        - function:
    #            value_name: FUNCTION
    #            index: 1
    #            required: true
    #            help: Name of function you wish to move
    #        - project:
    #            value_name: PROJECT
    #            index: 2
    #            help: "Directory or '.cabal' file for the project"
    #        - prompt:
    #            long: prompt
    #            short: p
    #            help: Prompt before overwriting file
    #        - stash:
    #            short: s
    #            long: stash
    #            help: Commit using git before making any changes
    #        - old:
    #            long: old
    #            short: o
    #            required: true
    #            value_name: OLD_MODULE
    #            help: Module in which the function is located
    #        - new:
    #            long: new
    #            short: n
    #            required: true
    #            value_name: NEW_MODULE
    #            help: Module we wish to move the function to
    - module:
        visible_alias: "m"
        about: Replace a module across a project
        args:
            - project:
                value_name: PROJECT
                index: 1
                required: true
                help: "Directory or '.cabal' file for the project"
            - stash:
                short: s
                long: stash
                help: Commit using git before making any changes
            - old:
                value_name: OLD_MODULE
                index: 2
                required: true
                help: Name of old module
            - new:
                value_name: NEW_MODULE
                index: 3
                required: true
                help: Name of the new module
            - hpack:
                short: y
                long: hpack
                help: "Flag to be used when the project uses an 'hpack.yaml' file rather than a '.cabal' file."
            - copy:
                short: c
                long: copy
                help: Copy a module rather than moving it.
    - idris:
        visible_alias: "i"
        about: Replace a module across a project
        args:
            - project:
                value_name: PROJECT
                index: 1
                required: true
                help: "Directory or '.ipkg' file for the project"
            - stash:
                short: s
                long: stash
                help: Commit using git before making any changes
            - old:
                value_name: OLD_MODULE
                index: 2
                required: true
                help: Name of old module
            - new:
                value_name: NEW_MODULE
                index: 3
                required: true
                help: Name of the new module
            - copy:
                short: c
                long: copy
                help: Copy a module rather than moving it.
    - elm:
        visible_alias: "e"
        about: Replace a module across a project
        args:
            - project:
                value_name: PROJECT
                index: 1
                required: true
                help: "Directory or 'elm-package.json' file for the project"
            - stash:
                short: s
                long: stash
                help: Commit using git before making any changes
            - old:
                value_name: OLD_MODULE
                index: 2
                required: true
                help: Name of old module
            - new:
                value_name: NEW_MODULE
                index: 3
                required: true
                help: Name of the new module
            - copy:
                short: c
                long: copy
                help: Copy a module rather than moving it.