gpt4 book ai didi

vim - 在 Vim 中使用 ALE 和 Prettier 格式化 Jinja html 模板

转载 作者:行者123 更新时间:2023-12-03 19:31:36 29 4
gpt4 key购买 nike

我在 Ubuntu 16.04 LTS 上使用 NVIM v0.3.2-208-g2841e89,并使用 ALE 作为我的 Linting Engine 插件。我在格式化 jinja 模板 html 文件时遇到问题 prettier .

<html> 开头的 html 文件tag 和 contains jinja 代码根本没有被格式化。当我运行时 ALEFix在这些文件上没有任何 react 。

{% extends %} 开头的 html 文件行正在格式化但不是正确的方式。当我运行时 ALEFix在这些文件上,这就是代码开始的样子。

原始文件

{% extends "home.html" %}
{% block body %}
<div class="jumbotron">
<p>Thank you {{ session['username'] }} for signing up !!</p>
</div>

{% endblock %}

格式化文件
{% extends "home.html" %} {% block body %}
<div class="jumbotron">
<p>Thank you {{ session['username'] }} for signing up !!</p>
</div>

{% endblock %}

这是另一个例子。

原始文件
 {% extends "home.html" %}
{% block body %}
<form method="POST">
{{ form.hidden_tag() }}
{{ form.username.label }} {{ form.username }}
{{ form.password.label }} {{ form.password }}
{{ form.submit }}
</form>
{% endblock %}

格式化文件
{% extends "home.html" %} {% block body %}
<form method="POST">
{{ form.hidden_tag() }} {{ form.username.label }} {{ form.username }} {{
form.password.label }} {{ form.password }} {{ form.submit }}
</form>
{% endblock %}

我不确定这是否是 jinja 文件的正确格式,但它看起来不太可读。

这是我的配置的样子
let g:ale_fixers = {
\ '*': ['remove_trailing_lines', 'trim_whitespace'],
\ 'html': ['prettier'],
\ 'javascript': ['eslint', 'prettier'],
\ 'css' : ['stylelint', 'prettier'],
\ 'python' : ['yapf', 'isort', 'autopep8']
\ }

以下是 ALEInfo 报告的 jinja 模板文件。
 Current Filetype: jinja.html                                                                                                                                                                                      
Available Linters: ['alex', 'htmlhint', 'proselint', 'stylelint', 'tidy', 'writegood']
Linter Aliases:
'writegood' -> ['write-good']
Enabled Linters: ['alex', 'htmlhint', 'proselint', 'stylelint', 'tidy', 'writegood']
Suggested Fixers:
'prettier' - Apply prettier to a file.
'remove_trailing_lines' - Remove all blank lines at the end of a file.
'tidy' - Fix HTML files with tidy.
'trim_whitespace' - Remove all trailing whitespace characters at the end of every line.
Linter Variables:
let g:ale_html_htmlhint_executable = 'htmlhint'
let g:ale_html_htmlhint_options = ''
let g:ale_html_htmlhint_use_global = 0
let g:ale_html_stylelint_executable = 'stylelint'
let g:ale_html_stylelint_options = ''
let g:ale_html_stylelint_use_global = 0
let g:ale_html_tidy_executable = 'tidy'
let g:ale_html_tidy_options = '-q -e -language en'
Global Variables:
let g:ale_cache_executable_check_failures = v:null
let g:ale_change_sign_column_color = 0
let g:ale_command_wrapper = ''
let g:ale_completion_delay = v:null
let g:ale_completion_enabled = 0
let g:ale_completion_max_suggestions = v:null
let g:ale_echo_cursor = 1
let g:ale_echo_msg_error_str = 'E'
let g:ale_echo_msg_format = '[%linter%] %s [%severity%]'
let g:ale_echo_msg_info_str = 'Info'
let g:ale_echo_msg_warning_str = 'W'
let g:ale_enabled = 1
let g:ale_fix_on_save = 1
let g:ale_fixers = {'html': ['prettier'], '*': ['remove_trailing_lines', 'trim_whitespace'], 'javascript': ['eslint', 'prettier'], 'css': ['stylelint', 'prettier'], 'python': ['yapf', 'isort', 'autopep8']}
let g:ale_history_enabled = 1
let g:ale_history_log_output = 1
let g:ale_keep_list_window_open = 0
let g:ale_lint_delay = 200
let g:ale_lint_on_enter = 1
let g:ale_lint_on_filetype_changed = 1
let g:ale_lint_on_insert_leave = 0
let g:ale_lint_on_save = 1
let g:ale_lint_on_text_changed = 'always'
let g:ale_linter_aliases = {}
let g:ale_linters = {'css': ['stylelint'], 'python': ['flake8']}
let g:ale_linters_explicit = 0

最佳答案

prettier 不支持这点。有人需要加强并为它编写一个插件。

更漂亮的问题:https://github.com/prettier/prettier/issues/5581

注意:它说的是 Django,但在此上下文中基本相同。

关于vim - 在 Vim 中使用 ALE 和 Prettier 格式化 Jinja html 模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53901898/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com