From 20c6d87fd43f2bd63e01bf67c42b5d86b846cd71 Mon Sep 17 00:00:00 2001 From: Isaiah <16439221+isaiahpatton@users.noreply.github.com> Date: Sat, 1 Jul 2023 05:04:52 -0400 Subject: [PATCH] fmt: fix formatting of imported static methods (#18720) --- vlib/v/fmt/fmt.v | 7 ++++++- vlib/v/fmt/tests/static_methods_keep.vv | 7 +++++++ 2 files changed, 13 insertions(+), 1 deletion(-) create mode 100644 vlib/v/fmt/tests/static_methods_keep.vv diff --git a/vlib/v/fmt/fmt.v b/vlib/v/fmt/fmt.v index 324cc79dde..e3b05e96eb 100644 --- a/vlib/v/fmt/fmt.v +++ b/vlib/v/fmt/fmt.v @@ -1828,7 +1828,12 @@ pub fn (mut f Fmt) call_expr(node ast.CallExpr) { name := f.short_module(node.name) f.mark_import_as_used(name) if node.name.contains('__static__') { - f.write(name.replace('__static__', '.').capitalize()) + if name.contains('.') { + indx := name.index('.') or { -1 } + 1 + f.write(name[0..indx] + name[indx..].replace('__static__', '.').capitalize()) + } else { + f.write(name.replace('__static__', '.').capitalize()) + } } else { f.write(name) } diff --git a/vlib/v/fmt/tests/static_methods_keep.vv b/vlib/v/fmt/tests/static_methods_keep.vv new file mode 100644 index 0000000000..47b4522796 --- /dev/null +++ b/vlib/v/fmt/tests/static_methods_keep.vv @@ -0,0 +1,7 @@ +module module_fmt + +import mod + +fn main() { + mod.Foo.new() +}