diff --git a/cmd/tools/vdoc/tests/testdata/readme_in_project_root/README.md b/cmd/tools/vdoc/tests/testdata/readme_in_project_root/README.md new file mode 100644 index 00000000000000..0bc2274399b3a2 --- /dev/null +++ b/cmd/tools/vdoc/tests/testdata/readme_in_project_root/README.md @@ -0,0 +1 @@ +hello from readme diff --git a/cmd/tools/vdoc/tests/testdata/readme_in_project_root/src/main.comments.out b/cmd/tools/vdoc/tests/testdata/readme_in_project_root/src/main.comments.out new file mode 100644 index 00000000000000..fd82920d6f6fba --- /dev/null +++ b/cmd/tools/vdoc/tests/testdata/readme_in_project_root/src/main.comments.out @@ -0,0 +1,3 @@ +module foo + +fn bar() \ No newline at end of file diff --git a/cmd/tools/vdoc/tests/testdata/readme_in_project_root/src/main.readme.comments.out b/cmd/tools/vdoc/tests/testdata/readme_in_project_root/src/main.readme.comments.out new file mode 100644 index 00000000000000..e4c69b8253a800 --- /dev/null +++ b/cmd/tools/vdoc/tests/testdata/readme_in_project_root/src/main.readme.comments.out @@ -0,0 +1,4 @@ +hello from readme +module foo + +fn bar() \ No newline at end of file diff --git a/cmd/tools/vdoc/tests/testdata/readme_in_project_root/src/main.v b/cmd/tools/vdoc/tests/testdata/readme_in_project_root/src/main.v new file mode 100644 index 00000000000000..abd3272a9b178c --- /dev/null +++ b/cmd/tools/vdoc/tests/testdata/readme_in_project_root/src/main.v @@ -0,0 +1,3 @@ +module foo + +pub fn bar() {} diff --git a/cmd/tools/vdoc/tests/testdata/readme_in_project_root/v.mod b/cmd/tools/vdoc/tests/testdata/readme_in_project_root/v.mod new file mode 100644 index 00000000000000..e69de29bb2d1d6 diff --git a/cmd/tools/vdoc/tests/vdoc_file_test.v b/cmd/tools/vdoc/tests/vdoc_file_test.v index 9ad62cc59b44ff..aefe9ebdc49bc7 100644 --- a/cmd/tools/vdoc/tests/vdoc_file_test.v +++ b/cmd/tools/vdoc/tests/vdoc_file_test.v @@ -52,6 +52,11 @@ fn check_path(vexe string, dir string, tests []string) int { cmd: '${os.quoted_path(vexe)} doc -comments ${os.quoted_path(program)}' out_filename: 'main.comments.out' ) + fails += check_output( + program: program + cmd: '${os.quoted_path(vexe)} doc -readme -comments ${os.quoted_path(program)}' + out_filename: 'main.readme.comments.out' + ) total_fails += fails if fails == 0 { println(term.green('OK')) diff --git a/cmd/tools/vdoc/vdoc.v b/cmd/tools/vdoc/vdoc.v index bb83dad8babf53..e497d15dd90da1 100644 --- a/cmd/tools/vdoc/vdoc.v +++ b/cmd/tools/vdoc/vdoc.v @@ -233,6 +233,9 @@ fn (vd VDoc) get_readme(path string) string { } } if fname == '' { + if path.all_after_last(os.path_separator) == 'src' { + return vd.get_readme(path.all_before_last(os.path_separator)) + } return '' } readme_path := os.join_path(path, '${fname}.md')