importsort-d ~master

sort imports of a .d-file


To use this package, run the following command in your project's root directory:

Manual usage
Put the following dependency into your project's dependences section:

Sort Imports for D

sortimport-d can sort your dozens of import's in a .d file (no matter where)

Installation

Prerequisite

Building from HEAD

Get the repository with git and compile everything with dub

$ git clone https://github.com/friedelschoen/importsort-d
$ cd importsort-d
$ dub build

If everything went fine, there should be a binary at bin/importsort-d.

Copy this into a directory included in $PATH (/usr/bin for example) to make this command work globally.

$ sudo cp bin/importsort-d /usr/bin/

or add this into your .bashrc, .zshrc, etc.

export PATH=$PATH:"<path/to/importsort-d>/bin/" # on bash or zsh
fish_add_path "<path/to/importsort-d>/bin/"     # on fish-shell

Building with DUB

$ dub fetch importsort-d
$ dub run importsort-d -- --help

This won't install the command globally, you always have to run dub run importsort-d <args>

Usage

see

$ importsort-d --help
$ dub run importsort-d -- --help

Documentation

Look at the documentation at dpldocs.info, if you want to use this project in code.

FAQ

How to add importsort-d to Visual Studio Code?

There's a plugin called Run on Save. You can install it and set importsort-d as an onSave-hook:

...
"emeraldwalk.runonsave": {
    "commands": [
        {
            "cmd": "importsort-d --inplace ${file}",
            "match": "\\.d$"
        }
    ]
},
...

How to add importsort-d to VIM/NeoVIM?

Just add this to your .vimrc or init.vim

:autocmd BufWritePost * silent !importsort-d --inplace <afile>

Are cats cool?

Yes

ToDo's

  • [x] recursive searching (v0.2.0)
  • [x] merge imports (v0.3.0)
  • [ ] watch-mode (struggling with save-timings - can clear files)
  • you can add importsort-d into your onSave-hooks
  • [ ] support multiple imports in one line (demilited by ;)
  • [ ] stripping unused imports (maybe)

you got some ideas? Issue them!

Changelog

v0.1.0

  • the very first version
  • not a lot is implemented

v0.2.0

  • added --recursive
  • option --keep becomes disabling formatting
  • option --inline don't copy the original but creates a *.new and renames it afterwards
  • option --original becomes --binding and sorts by original by default
  • refactoring code

v0.3.0

  • added --merge

v0.3.1

  • added documentation for contributers (or people who really want to see my code)

v0.3.2

  • new argument-parsing
  • added --ignore-case (pull-request #2)
  • already sorted files won't be resorted and added --force (issue #5)
  • multiple import in one line will be split up in multiple lines
  • --inline is renamed to --inplace

License

This whole project is licensed under the beautiful terms of the zlib-license.

Further information here.

made with love and a lot of cat memes

Authors:
  • Friedel Schön
Dependencies:
argparse
Versions:
0.3.2 2023-Dec-23
0.3.1 2022-Oct-23
0.3.0 2022-Oct-22
0.2.0 2022-Oct-18
0.1.0 2022-Oct-10
Show all 6 versions
Download Stats:
  • 0 downloads today

  • 1 downloads this week

  • 1 downloads this month

  • 23 downloads total

Score:
0.3
Short URL:
importsort-d.dub.pm