Browse Source

refactor(django)!: deprecate plugin in favor of Zsh's django completion

BREAKING CHANGE: Zsh already provides completion for the `django-admin` and `manage.py`
commands, which is substantially better than the one provided by this plugin. We're
therefore deprecating this plugin and we will remove it in the near future.
Marc Cornellà 2 years ago
parent
commit
3e4b520190
2 changed files with 10 additions and 31 deletions
  1. 7 31
      plugins/django/README.md
  2. 3 0
      plugins/django/django.plugin.zsh

+ 7 - 31
plugins/django/README.md

@@ -1,36 +1,12 @@
 # Django plugin
 
-This plugin adds completion and hints for the [Django Project](https://www.djangoproject.com/) `manage.py` commands
-and options.
+This plugin adds completion for the [Django Project](https://www.djangoproject.com/) commands
+(`manage.py`, `django-admin`, ...).
 
-To use it, add `django` to the plugins array in your zshrc file:
+## Deprecation (2021-09-22)
 
-```zsh
-plugins=(... django)
-```
+The plugin used to provide completion for `./manage.py` and `django-admin`, but Zsh already provides
+a better, more extensive completion for those, so this plugin is no longer needed.
 
-## Usage
-
-```zsh
-$> python manage.py (press <TAB> here)
-```
-
-Would result in:
-
-```zsh
-cleanup                    -- remove old data from the database
-compilemessages            -- compile .po files to .mo for use with gettext
-createcachetable           -- creates table for SQL cache backend
-createsuperuser            -- create a superuser
-dbshell                    -- run command-line client for the current database
-diffsettings               -- display differences between the current settings and Django defaults
-dumpdata                   -- output contents of database as a fixture
-flush                      -- execute 'sqlflush' on the current database
-inspectdb                  -- output Django model module for tables in database
-loaddata                   -- install the named fixture(s) in the database
-makemessages               -- pull out all strings marked for translation
-reset                      -- executes 'sqlreset' for the given app(s)
-runfcgi                    -- run this project as a fastcgi
-runserver                  -- start a lightweight web server for development
-...
-```
+Right now a warning message is shown, but in the near future the plugin will stop working altogether.
+So you can remove it from your plugins and you'll automatically start using Zsh's django completion.

+ 3 - 0
plugins/django/django.plugin.zsh

@@ -402,3 +402,6 @@ compdef _managepy django
 compdef _managepy django-admin
 compdef _managepy django-admin.py
 compdef _managepy django-manage
+
+print -P "%F{yellow}The django plugin is deprecated in favor of Zsh's Django completion.
+%BPlease remove it from your plugins to stop using it.%b%f"