我知道match case是Python最近才添加的。ufmt(v2.0.1)仍然不使用match case语句格式化文件。有什么解决方法吗?谢谢
下面是我在这样一个文件上运行ufmt format
时从终端得到的最后一个结果
libcst._exceptions.ParserSyntaxError: Syntax Error @ 11:19.
Incomplete input. Encountered 'unit', but expected ';', or 'NEWLINE'.
match unit:
^
尝试对文件运行ufmt format
,其中包含match case语句。预期文件将相应地格式化。出现错误,文件未格式化
1条答案
按热度按时间mnemlml81#
这是因为µsort(µfmt使用的导入排序器)使用LibCST,这需要启用其原生Rust解析器以支持3.10+语法,包括match语句。
这在最新版本的µfmt(2.1.0)中得到了修复,在格式化时默认启用LibCST本地解析器。
如果您不能(或不愿意)升级µfmt,则可以在运行µfmt或µsort之前在环境中设置
LIBCST_PARSER_TYPE=native
来解决此问题。