mirror of
https://github.com/SpaceVim/SpaceVim.git
synced 2025-01-24 02:20:03 +08:00
209 lines
8.8 KiB
Plaintext
Vendored
209 lines
8.8 KiB
Plaintext
Vendored
*django-plus.txt* *django-plus*
|
|
|
|
$$\ ~
|
|
$$ | $$\ ~
|
|
$$$$$$$ |$$\ $$$$$$\ $$$$$$$\ $$$$$$\ $$$$$$\ $$ | ~
|
|
$$ __$$ |\__| \____$$\ $$ __$$\ $$ __$$\ $$ __$$\$$$$$$$$\ ~
|
|
$$ / $$ |$$\ $$$$$$$ |$$ | $$ |$$ / $$ |$$ / $$ \__$$ __| ~
|
|
$$ | $$ |$$ |$$ __$$ |$$ | $$ |$$ | $$ |$$ | $$ | $$ | ~
|
|
\$$$$$$$ |$$ |\$$$$$$$ |$$ | $$ |\$$$$$$$ |\$$$$$$ | \__| ~
|
|
\_______|$$ | \_______|\__| \__| \____$$ | \______/ ~
|
|
$$\ $$ | $$\ $$ | ~
|
|
\$$$$$$ | \$$$$$$ | ~
|
|
\______/ \______/ ~
|
|
|
|
==============================================================================
|
|
CONTENTS *django-plus-contents*
|
|
|
|
Intro |django-plus-intro|
|
|
Settings |django-plus-settings|
|
|
Completions |django-plus-completions|
|
|
Python Improvements |django-plus-python|
|
|
HTML Improvements |django-plus-html|
|
|
Useful Plugins |django-plus-plugins|
|
|
License |django-plus-license|
|
|
|
|
==============================================================================
|
|
INTRO *django-plus-intro*
|
|
|
|
This plugin can be found on Github:
|
|
https://github.com/tweekmonster/django-plus.vim
|
|
|
|
The following variables are set when a file within a Django project is
|
|
detected:
|
|
|
|
*b:is_django*
|
|
b:is_django Set for any opened file that's within a Django
|
|
project.
|
|
|
|
*b:is_django_settings*
|
|
b:is_django_settings Set for any opened file that ends with `settings.py`
|
|
or is a file that's within a directory that contains
|
|
`settings.py`
|
|
|
|
|
|
==============================================================================
|
|
SETTINGS *django-plus-settings*
|
|
|
|
*g:django_max_scan_depth*
|
|
g:django_max_scan_depth
|
|
The maximum number of parent directories to scan
|
|
for a Django project. The default is `10` which is a
|
|
pretty reasonable depth. If your directory
|
|
structure goes deeper for files you are actually
|
|
editing, you might want to think about restructuring.
|
|
|
|
*g:django_filetypes*
|
|
g:django_filetypes A list of filename patterns. Each pattern must be a
|
|
|wildcard| pattern. If a file matches, the 'filetype'
|
|
will be updated to include `.django`
|
|
|
|
For example: Matching `*.xml` will set the 'filetype'
|
|
to `xml.django`
|
|
|
|
Note: Look at `$VIMRUNTIME/syntax/django.vim`.
|
|
The `django` filetype is for templates, NOT python
|
|
scripts. Things may not work the way you expect if
|
|
you use `python.django` as a filetype for Python
|
|
scripts. Snippet plugins are treating the `django`
|
|
filetype incorrectly. You could say that the built in
|
|
syntax script got it wrong, but it was wrong first.
|
|
|
|
*g:django_impsort_top*
|
|
g:django_impsort_top If enabled, configures |impsort| to sort Django
|
|
imports to the top of import groups. Since this is
|
|
configured as an ftplugin and sets up buffer
|
|
variables, you must restart Vim for this to take
|
|
effect.
|
|
|
|
Requires `impsort.vim` to be installed.
|
|
See: |django-plus-plugins|
|
|
|
|
Default: `1`
|
|
|
|
|
|
==============================================================================
|
|
COMPLETIONS *django-plus-completions*
|
|
|
|
Completions are found by running an external Python script the first time
|
|
completions are used. If you are using Neovim, a completion source for
|
|
`deoplete.nvim` is included.
|
|
|
|
Default settings and template tags & filters will be available for completion.
|
|
In files related to settings, no prefix is needed to get completions. In all
|
|
other files, you need to type `settings.` to trigger completions.
|
|
|
|
QuerySet completions will be displayed after `.` (periods) since it's not easy
|
|
to determine if a variable is a QuerySet object. The default completions are
|
|
displayed before QuerySet completions. If `.objects.` appears before the
|
|
cursor, QuerySet comletions will be displayed exclusively.
|
|
|
|
In `htmldjango` files, completions for template tags will be displayed after
|
|
`{%` and filters will be displayed after `|` (pipe character). These
|
|
completions will only complete words, not entire tag/filter. Expanding the
|
|
`%%` snippet will give you an easy way to create block tags.
|
|
|
|
If `manage.py` is found during a scan, it will be used to get your project's
|
|
settings, and template tags & filters. Django's app registry will be
|
|
populated to get tags & filters. For settings, all Python scripts found in
|
|
the same directory as `settings.py` will be scanned for uppercase variable
|
|
names.
|
|
|
|
|
|
==============================================================================
|
|
PYTHON IMPROVEMENTS *django-plus-python*
|
|
|
|
* Completions for Django settings when `b:is_django_settings` is present.
|
|
* Completions for `settings.` when `b:is_django` is present in a `.py` file.
|
|
* QuerySets could be lurking anywhere. That's why QuerySet completions will
|
|
be included for basically anything after a period.
|
|
* If you are using `Ultisnips`, Django snippets are enabled and
|
|
`UltiSnips#FileTypeChanged()` is called to ensure that `:UltiSnipsEdit` opens
|
|
`django.snippets` by default instead of `python.snippets`.
|
|
|
|
|
|
==============================================================================
|
|
HTML IMPROVEMENTS *django-plus-html*
|
|
|
|
* The filetype is set to `htmldjango` when editing HTML files.
|
|
* Basic completions for template tags and filters.
|
|
* Django tags are indented correctly, including custom tags.
|
|
* `matchit` configuration for Django tags, including custom tags.
|
|
Additionally, the cursor is placed at the beginning of the tag name.
|
|
* Tag and variable blocks are highlighted within script tags, style tags, and
|
|
HTML attributes.
|
|
* If you are using Ultisnips, HTML snippets are enabled and
|
|
`UltiSnips#FileTypeChanged()` is called to ensure that `:UltiSnipsEdit` opens
|
|
`htmldjango.snippets` by default instead of `html.snippets`.
|
|
|
|
|
|
==============================================================================
|
|
PLUGINS *django-plus-plugins*
|
|
|
|
This is a list of plugins that are useful for getting the most out of Django+
|
|
or making Django development a little more pleasant.
|
|
|
|
|
|
{vim-jedi} - Provides accurate completions as well as other productivity
|
|
related features.
|
|
|
|
URL: https://github.com/davidhalter/jedi-vim
|
|
|
|
|
|
{UltiSnips} - A snippet engine for Vim. You will need to install/create
|
|
snippets.
|
|
|
|
URL: https://github.com/SirVer/ultisnips
|
|
|
|
|
|
{vim-snippets} - A good source for pre-made snippets.
|
|
|
|
URL: https://github.com/honza/vim-snippets
|
|
|
|
|
|
{impsort.vim} - Sort your import lines.
|
|
|
|
URL: https://github.com/tweekmonster/impsort.vim
|
|
|
|
|
|
If you are using Neovim:
|
|
|
|
{deoplete.nvim} - An excellent asynchronous completion engine.
|
|
|
|
URL: https://github.com/Shougo/deoplete.nvim
|
|
|
|
|
|
{deoplete-jedi} - Uses Jedi to get Python completions. It is exceptionally
|
|
fast, but is _only_ a completion source. {vim-jedi} will still be useful, but
|
|
its completions need to be disabled.
|
|
|
|
URL: https://github.com/zchee/deoplete-jedi
|
|
|
|
|
|
==============================================================================
|
|
LICENSE *django-plus-license*
|
|
|
|
The MIT License
|
|
Copyright (c) 2016 Tommy Allen
|
|
|
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
of this software and associated documentation files (the "Software"), to deal
|
|
in the Software without restriction, including without limitation the rights
|
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
copies of the Software, and to permit persons to whom the Software is
|
|
furnished to do so, subject to the following conditions:
|
|
|
|
The above copyright notice and this permission notice shall be included in all
|
|
copies or substantial portions of the Software.
|
|
|
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
SOFTWARE.
|
|
|
|
|
|
vim:tw=78:ts=8:noet:ft=help:norl:
|