emacs-eldev / eldev

Elisp development tool
https://emacs-eldev.github.io/eldev/
GNU General Public License v3.0
227 stars 17 forks source link

Support for checkdoc #2

Closed DamienCassou closed 4 years ago

DamienCassou commented 4 years ago

Checkdoc is a package provided with Emacs core that checks Emacs lisp docstrings. It is useful to make sure that each docstring correctly references every parameter for example.

It would be great to add support for checkdoc in eldev. makem.sh has support for checkdoc already so you can have a look if you want.

doublep commented 4 years ago

Would it be enough to add command lint that runs all currently supported linters on your package? Of course with a way to select particular linter, etc. Or do you envision integration into existing commands, e.g. test somehow?

DamienCassou commented 4 years ago

Would it be enough to add command lint that runs all currently supported linters on your package? Of course with a way to select particular linter, etc.

this would do just fine I think

Or do you envision integration into existing commands, e.g. test somehow?

I think test and lint should be kept separate. One checks the quality of behavior and the other the quality of code.

doublep commented 4 years ago

I committed new lint command that supports checkdoc, package-lint and relint (indent-lint is not easy, maybe will add later). Can you provide some feedback? It's not yet documented, but eldev help lint should give enough information.

The easiest way to test is by using the fourth installation method from https://github.com/doublep/eldev#installation. You don't need to set ELDEV_LOCAL permanently, e.g. this should suffice:

$ ELDEV_LOCAL=~/git/eldev eldev lint

No special preparations are needed, Eldev will download necessary packages when it needs to (for this reason, first linting will be slow).

doublep commented 4 years ago

Done in 0.2.

alphapapa commented 4 years ago

@doublep Regarding linting indentation, you may find this helpful: https://github.com/alphapapa/makem.sh/commit/3c5165d5aa43ee386f9b1dfbe44156ae0f060828