diff --git a/README.md b/README.md index 69ace23..b177151 100644 --- a/README.md +++ b/README.md @@ -64,10 +64,10 @@ This will output the contents of every file, with each file preceded by its rela files-to-prompt path/to/directory --cxml ``` -- `--code`: Output as fenced code blocks. +- `--markdown`: Output as Markdown with fenced code blocks. ```bash - files-to-prompt path/to/directory --code + files-to-prompt path/to/directory --markdown ``` - `-o/--output `: Write the output to a file instead of printing it to the console. @@ -214,12 +214,12 @@ Contents of file2.txt ``` -## --code fenced code block output +## --markdown fenced code block output -The `--code` option will output the files as fenced code blocks, which can be useful for pasting into Markdown documents. +The `--markdown` option will output the files as fenced code blocks, which can be useful for pasting into Markdown documents. ```bash -files-to-prompt path/to/directory --code +files-to-prompt path/to/directory --markdown ``` The language tag will be guessed based on the filename. diff --git a/files_to_prompt/cli.py b/files_to_prompt/cli.py index 14306aa..37c408e 100644 --- a/files_to_prompt/cli.py +++ b/files_to_prompt/cli.py @@ -52,11 +52,11 @@ def add_line_numbers(content): return "\n".join(numbered_lines) -def print_path(writer, path, content, cxml, code, line_numbers): +def print_path(writer, path, content, cxml, markdown, line_numbers): if cxml: print_as_xml(writer, path, content, line_numbers) - elif code: - print_as_code(writer, path, content, line_numbers) + elif markdown: + print_as_markdown(writer, path, content, line_numbers) else: print_default(writer, path, content, line_numbers) @@ -84,7 +84,7 @@ def print_as_xml(writer, path, content, line_numbers): global_index += 1 -def print_as_code(writer, path, content, line_numbers): +def print_as_markdown(writer, path, content, line_numbers): lang = EXT_TO_LANG.get(path.split(".")[-1], "") # Figure out how many backticks to use backticks = "```" @@ -108,13 +108,13 @@ def process_path( ignore_patterns, writer, claude_xml, - code, + markdown, line_numbers=False, ): if os.path.isfile(path): try: with open(path, "r") as f: - print_path(writer, path, f.read(), claude_xml, code, line_numbers) + print_path(writer, path, f.read(), claude_xml, markdown, line_numbers) except UnicodeDecodeError: warning_message = f"Warning: Skipping file {path} due to UnicodeDecodeError" click.echo(click.style(warning_message, fg="red"), err=True) @@ -158,7 +158,12 @@ def process_path( try: with open(file_path, "r") as f: print_path( - writer, file_path, f.read(), claude_xml, code, line_numbers + writer, + file_path, + f.read(), + claude_xml, + markdown, + line_numbers, ) except UnicodeDecodeError: warning_message = ( @@ -220,7 +225,9 @@ def read_paths_from_stdin(use_null_separator): help="Output in XML-ish format suitable for Claude's long context window.", ) @click.option( - "--code", is_flag=True, help="Output in triple backtick fenced code blocks" + "--markdown", + is_flag=True, + help="Output Markdown with fenced code blocks", ) @click.option( "line_numbers", @@ -245,7 +252,7 @@ def cli( ignore_patterns, output_file, claude_xml, - code, + markdown, line_numbers, null, ): @@ -275,7 +282,7 @@ def cli( ... - If the `--code` flag is provided, the output will be structured as follows: + If the `--markdown` flag is provided, the output will be structured as follows: \b path/to/file1.py @@ -316,7 +323,7 @@ def cli( ignore_patterns, writer, claude_xml, - code, + markdown, line_numbers, ) if claude_xml: diff --git a/tests/test_files_to_prompt.py b/tests/test_files_to_prompt.py index 8c10640..cd0581a 100644 --- a/tests/test_files_to_prompt.py +++ b/tests/test_files_to_prompt.py @@ -377,7 +377,7 @@ def test_paths_from_arguments_and_stdin(tmpdir): assert "Contents of file2" in result.output -def test_code(tmpdir): +def test_markdown(tmpdir): runner = CliRunner() with tmpdir.as_cwd(): os.makedirs("test_dir") @@ -389,7 +389,7 @@ def test_code(tmpdir): f.write("This is javascript") with open("test_dir/code.unknown", "w") as f: f.write("This is an unknown file type") - result = runner.invoke(cli, ["test_dir", "--code"]) + result = runner.invoke(cli, ["test_dir", "--markdown"]) assert result.exit_code == 0 actual = result.output expected = (