-
-
Save kracekumar/77d29c7410199fd2cda4 to your computer and use it in GitHub Desktop.
;; Auto remove unused functions in python | |
(defun python-remove-unused-imports() | |
"Use Autoflake to remove unused function" | |
"autoflake --remove-all-unused-imports -i unused_imports.py" | |
(interactive) | |
(shell-command | |
(format "autoflake --remove-all-unused-imports -i %s" | |
(shell-quote-argument (buffer-file-name))) | |
) | |
(revert-buffer t t t) | |
) |
Discovered executable-find
;; Auto remove unused functions in python
(defcustom python-autoflake-path (executable-find "autoflake")
"Autoflake executable path.
Allows working with a virtualenv without actually adding support
for it."
:group 'python
:type 'string)
Some error checking will also help.
(unless python-autoflake-path
(error "Unable to find autoflake. Configure `python-autoflake-path`"))
@jaseemabid Thanks. Modified init.el
accordingly. Also added before-save-hook.
@kracekumar The first time you visit a python buffer, it adds a before-save-hook
to all buffers. So, saving a .el
will still run this hook. Need to fix that part.
@jaseemabid I just encountered that. Finding right way to fix it.
Pushed a few patches here. https://gist.github.com/jaseemabid/3def1e104cbff09ad803
@kracekumar FYI, gists themselves are git repositories. Please fetch from my fork and have a look.
@jaseemabid: Thanks! It works.
@kracekumar Can you post errors raised by revert-buffer?
Is it happening the first time you are trying to save the file?
[Errno 2] No such file or directory: '/Users/j/tmp/test.py'
Error: (error "Cannot revert nonexistent file /Users/j/tmp/test.py")
Wrote /Users/j/tmp/test.py
@kracekumar after-save-hook
should solve it, right?
See patch 4d6871d here https://gist.github.com/jaseemabid/3def1e104cbff09ad803
4d6871d3881111c47fd35458770af817f5bafb01
Author: Jaseem Abid <[email protected]>
Date: Mon Aug 18 00:55:17 2014 +0530
Run hook after saving file
- Makes sense to run flake after a file is saved with recent edits.
- Fixes errors on reverting from non existent files. This can happen
first time a file is saved.
Guys - this would be more useful if you could provide the full path to autoflake script in the comments of auto-remove.el . I am right now struggling to find autoflake, though I guess I wrote the original version of it :)
@pythonhacker You can do (setq python-autoflake-path "/this/is/where/autoflake/is.py")
PS: We made a repo https://github.com/kracekumar/missing-python-mode
@kracekumar Looks good but a few tips.
)
.defcustom
and add it to python group so that folks can just to
M-x customize-group RET python RET
. Use a path if available.Code: