django templates (htmldjango) extension for coc.nvim. Provides formatter, snippets completion and more...
npm install coc-htmldjangodjango templates (htmldjango) extension for coc.nvim. Provides "formatter", "linter", "completion" and more...

- Format
- by djLint (reformat HTML templates) | DEMO
- by DjHTML ("Django/Jinja" template indenter) | DEMO
- Lint
- by djLint (Find common formatting issues) | DEMO
- Completion
- Completion of snippets data via completionItemProvider
- Hover | DEMO
- CodeAction | DEMO
- Commands
- Built-in installer (djLint, DjHTML)
CocInstall:
``vim`
:CocInstall coc-htmldjango
vim-plug:
`vim`
Plug 'yaegassy/coc-htmldjango', {'do': 'yarn install --frozen-lockfile'}
Recommended coc-extensions to install together
- coc-html
Detection order:
- htmldjango.djlint.commandPath and htmldjango.djhtml.commandPath settingsdjlint
- current python environment (e.g. and djhtml in "venv")djlint
- builtin and djhtml (Installation commands are also provided)
- htmldjango.enable: Enable coc-htmldjango extension, default: truehtmldjango.completion.enable
- : Enable snippets completion, default: truehtmldjango.completion.exclude
- : Exclude specific key in snippet completion, default: ["autoescape_paste", "comment_paste", "comment_selection", "for_paste", "forempty_paste", "if_paste", "ifelse_paste", "spaceless_paste", "verbatim_paste", "with_selection", "with_paste", "trans_paste", "blocktrans_paste", "blocktrans_with_paste", "translate_paste", "blocktranslate_paste", "blocktranslate_with_paste"]htmldjango.builtin.pythonPath
- : Python 3.x path (Absolute path) to be used for built-in install, default: ""htmldjango.formatting.provider
- : Provider for formatting. Possible options include 'djlint', 'djhtml' and 'none', default: "djlint"htmldjango.djlint.commandPath
- : The custom path to the djlint (Absolute path), default: ""htmldjango.djlint.enableLint
- : Enable djLint lint (diagnostics), default: truehtmldjango.djlint.lintOnOpen
- : Lint file on opening, default: truehtmldjango.djlint.lintOnChange
- : Lint file on change, default: truehtmldjango.djlint.lintOnSave
- : Lint file on save, default: truehtmldjango.djlint.include
- : Codes to include (--include), ex: "H014,H017", default: ""htmldjango.djlint.ignore
- : Codes to ignore (--ignore), ex: "W013,W014", default: ""htmldjango.djlint.ignoreCase
- : Do not fix case on known html tags (--ignore-case), default: falsehtmldjango.djlint.ignoreBlocks
- : Comma list of template blocks to not indent (--ignore-blocks), default: ""htmldjango.djlint.indent
- : Indent spacing (--indent), default: 4htmldjango.djlint.profile
- : Enable defaults by template language. ops: html, django, jinja, nunjucks, handlebars, golang and angular, default: ["django"]htmldjango.djlint.useGitIgnore
- : Use .gitignore file to extend excludes (--use-gitignore), default: falsehtmldjango.djlint.preserveLeadingSpace
- : Attempt to preserve leading space on text (--preserve-leading-space), default: falsehtmldjango.djlint.preserveBlankLines
- : Attempt to preserve blank lines (--preserve-blank-lines), default: falsehtmldjango.djlint.formatCss
- : Also format contents of style tags (--format-css), default: falsehtmldjango.djlint.formatJs
- : Also format contents of script tags (--format-js), default: falsehtmldjango.djlint.addLinterArgs
- : Additional arguments passed to djlint linter, example: ["--max-line-length", "250", "--max-attribute-length", "80"], default: []htmldjango.djlint.addFormatterArgs
- : Additional arguments passed to djlint formatter, example: ["--max-line-length", "250", "--max-attribute-length", "80"], default: []htmldjango.djhtml.commandPath
- : The custom path to the djhtml (Absolute path), default: ""htmldjango.djhtml.tabWidth
- : Set tabwidth (--tabwidth), default: 4
- htmldjango.showOutput: Show htmldjango output channelhtmldjango.builtin.installTools
- : Install htmldjango related toolshtmldjango.djlint.format
- : Run djLint formathtmldjango.djhtml.format
- : Run DjHTML formathtmldjango.showReferences
- : Show Variables Block ({{ ... }}) or TemplateTags Block ({% ... %}) location information for the current file
Example key mapping (Code Action related):
`vim`
nmap
Actions:
- If htmldjango.formatting.provider is djlint or If htmldjango.djlint.enableLint is trueAdd for this line
- Add for this line
- htmldjango.formatting.provider
- If is djhtmlAdd {# fmt:off #} for this line
- Add {# fmt:on #} for this line
-
coc-htmldjango allows you to create an extension-only "venv" and install "djlint" and "djhtml".
`vim``
:CocCommand htmldjango.builtin.installTools
- Riverside-Healthcare/djlint
- rtts/djhtml
- vscode-django/vscode-django
MIT
---
> This extension is built with create-coc-extension