14 KiB
Rustdoc Plan
Files with Incomplete Rustdoc
Based on the provided code files, several contain incomplete or missing Rustdoc comments (i.e., /// documentation blocks) for public structs, enums, traits, functions, and modules. Rustdoc is considered "incomplete" here if:
- Public items (e.g., structs, enums, traits, functions, or modules that are exported or not prefixed with
_) lack any doc comment. - Existing doc comments are partial (e.g., missing examples, returns, or errors sections) or inconsistent.
- Private items are ignored unless they are part of a public API (e.g., impl blocks for public traits).
Private helpers (e.g., internal fn without pub) are not flagged, as they don't require doc comments for rustdoc generation. I focused on public-facing code. Below is a summary by file, listing the incomplete items. Files with fully documented public APIs (or no public items) are omitted.
Files with Incomplete Rustdoc
-
src/modes/server/pages.rs [DONE]
ListQueryParamsstruct: Missing doc comment entirely.default_sort()anddefault_count()functions: No doc comments.add_routes()function: Partial doc (missing examples or errors).list_items()function: No doc comment.build_item_list()function: No doc comment.style_css()function: No doc comment.show_item()function: No doc comment.build_item_details()function: No doc comment.- Overall: The file has some inline comments but lacks comprehensive rustdoc for the public API.
-
src/db.rs [DONE - first 10 items]
Item,Tag, andMetastructs: Partial docs (fields documented, but missing overall struct description or examples).open()function: Good doc, but missing error examples.insert_item()function: Partial (missing full error details).create_item()function: Partial.add_tag()andadd_meta()functions: No docs.update_item()anddelete_item()functions: No docs.query_delete_meta()andquery_upsert_meta()functions: No docs.store_meta()function: Partial.insert_tag()anddelete_item_tags()functions: No docs.set_item_tags()function: Partial.query_all_items()andquery_tagged_items()functions: Partial.get_items()function: No doc.get_items_matching()function: Partial.get_item_matching()function: Partial.get_item()andget_item_last()functions: Partial.get_item_tags()andget_item_meta()functions: Partial.get_item_meta_name()andget_item_meta_value()functions: Partial.get_tags_for_items()andget_meta_for_items()functions: Partial.- Overall: Many CRUD functions lack full docs; the module-level doc is good but individual items are inconsistent.
-
src/meta_plugin/read_rate.rs
ReadRateMetaPluginstruct: Missing doc comment.new()function: Partial (missing full param docs).- Impl
MetaPluginmethods (is_finalized,set_finalized,finalize,update,meta_type,outputs, etc.): No docs. - Overall: Lacks docs for the public trait impl.
-
src/filter_plugin/head.rs
HeadBytesFilterandHeadLinesFilterstructs: No docs.new()functions: Partial.- Impl
FilterPluginmethods (filter,clone_box,options): No docs. - Overall: No rustdoc at all for public impl.
-
src/common/binary_detection.rs
check_binary_content_allowed()function: Partial (missing examples).is_content_binary()function: Partial.- Overall: Functions lack full error handling docs.
-
src/lib.rs
- Module re-exports and
init_plugins()function: No docs. - Overall: Library-level docs are minimal.
- Module re-exports and
-
src/services/filter_service.rs
FilterServicestruct: Partial doc.new(),create_filter_chain(),filter_data(),process_with_filter()methods: Partial or missing.register_filter_plugin()andget_available_filter_plugins()functions: Partial.- Overall: Global registry lacks docs.
-
src/services/item_service.rs
ItemServicestruct: Partial.- Many methods (
get_item,get_item_content,get_item_content_info,find_item,list_items,delete_item,save_item,save_item_from_mcp,get_compression_service,get_data_path): Partial or no docs. FilteringReaderstruct and implRead: No docs.- Overall: Extensive but inconsistent docs.
-
src/config.rs
- Enums (
ColumnAlignment,ContentArrangement,TableStyle,TableColor,TableAttribute): Partial or no docs. - Structs (
TableConfig,ColumnConfig,ServerConfig,CompressionPluginConfig,MetaPluginConfig,Settings): Partial. new()method onSettings: Partial.- Helper methods (
get_server_password,server_password, etc.): No docs. - Overall: Config structs need better field-level docs.
- Enums (
-
src/meta_plugin/text.rs
TextMetaPluginstruct: No doc.new()function: No doc.- Many helper functions (
count_text_stats,perform_binary_detection, etc.): No docs. - Impl
MetaPluginmethods: No docs. - Overall: Complex logic with no rustdoc.
-
src/compression_engine/program.rs
ProgramReaderandProgramWriterstructs: Partial (missing full impl docs).CompressionEngineProgramstruct: Partial.new()function: Partial.- Impl
CompressionEnginemethods: Partial. - Overall: Good but incomplete for trait methods.
-
src/meta_plugin/read_time.rs
ReadTimeMetaPluginstruct: No doc.new()function: Partial.- Impl
MetaPluginmethods: No docs. - Overall: Similar to read_rate.rs.
-
src/modes/server/api/common.rs
ResponseBuilderstruct: No doc.json()andbinary()methods: No docs.- Overall: Utility without docs.
-
src/compression_engine/lz4.rs
CompressionEngineLZ4struct: No doc.new()function: No doc.- Impl
CompressionEnginemethods: No docs.
-
src/meta_plugin/magic.rs (appears to be a duplicate/old version of magic_file.rs)
MagicFileMetaPluginstruct: No doc.new()function: Partial.- Helper functions (
get_magic_result,process_magic_types): No docs. - Impl
MetaPluginmethods: No docs.
-
src/compression_engine/gzip.rs
CompressionEngineGZipstruct: Partial.new()function: Partial.AutoFinishGzEncoderstruct: Partial.- Impl
CompressionEnginemethods: Partial.
-
src/modes/server/common.rs
- Many structs (
ServerConfig,AppState,ApiResponse<T>,ItemInfoListResponse, etc.): Partial or no docs. - Functions (
check_auth,logging_middleware,create_auth_middleware): Partial. - Overall: API structs need better schema/docs.
- Many structs (
-
src/meta_plugin/user.rs
UserMetaPluginstruct: Partial.new()function: Partial.- Helper functions (
get_current_username,get_current_groupname): No docs. - Impl
MetaPluginmethods: Partial.
-
src/modes/diff.rs
- Functions (
validate_diff_args,fetch_and_validate_items,setup_diff_paths_and_compression): No docs.
- Functions (
-
src/modes/get.rs
mode_get()function: Partial.TeeReaderstruct and implRead: No docs.
-
src/args.rs
- Structs (
Args,ModeArgs,ItemArgs,OptionsArgs,NumberOrString): Partial. - Impl
FromStrforNumberOrString: No doc. validate()method onArgs: No doc.
- Structs (
-
src/parser/filter_parser.rs
FilterParserstruct: No doc.parse_filter_string()function: No doc.- Tests: No docs needed.
-
src/modes/server/api/mcp.rs
McpRequeststruct: No doc.handle_mcp_request()function: No doc.
-
src/filter_plugin/utils.rs
create_filter_chain()andparse_number()functions: Partial.
-
src/modes/list.rs
mode_list()function: Partial.ListItemstruct: No doc.- Helper functions (
apply_color,apply_attribute,show_list_structured): No docs.
-
src/filter_plugin/mod.rs
FilterOptionstruct: Partial.FilterPlugintrait: Partial.FilterChainstruct and methods: Partial.FilterTypeenum: No doc.parse_filter_string()function: Partial.- Helper functions (
create_filter_with_options, etc.): No docs.
-
src/services/meta_service.rs
MetaServicestruct: No doc.- Methods (
new,get_plugins,initialize_plugins, etc.): Partial.
-
src/modes/server/mcp/mod.rs
- Duplicate of mcp.rs;
handle_mcp_request(): No doc.
- Duplicate of mcp.rs;
-
src/modes/generate_config.rs
- Structs (
DefaultConfig, etc.): No docs. mode_generate_config()function: No doc.- Helper
convert_outputs_to_string_map(): No doc.
- Structs (
-
src/services/async_item_service.rs
AsyncItemServicestruct: Partial.- Many async methods (
get_item,get_item_content, etc.): Partial or no docs.
-
src/modes/status_plugins.rs
mode_status_plugins()function: Partial.- Helper builders (
build_meta_plugin_table, etc.): No docs.
-
src/meta_plugin/env.rs
EnvMetaPluginstruct: No doc.new()function: Partial.- Impl
MetaPluginmethods: No docs.
-
src/modes/info.rs
mode_info()function: Partial.ItemInfostruct: No doc.- Helpers (
show_item,show_item_structured): No docs.
-
src/modes/server/mcp/server.rs
KeepMcpServerstruct: No doc.new()andhandle_request()methods: No docs.
-
src/filter_plugin/grep.rs
GrepFilterstruct: Partial.new()function: Partial.- Impl
FilterPluginmethods: No docs.
-
src/compression_engine.rs
CompressionTypeenum: No doc.CompressionEnginetrait: Partial.- Functions (
get_compression_engine,default_compression_type): Partial.
-
src/modes/delete.rs
mode_delete()function: Partial.
-
src/parser/mod.rs
- Re-exports: No docs needed.
-
src/meta_plugin/hostname.rs
HostnameMetaPluginstruct: Partial.new()function: Partial.- Helper
get_hostname(): Partial. - Impl
MetaPluginmethods: Partial.
-
src/filter_parser.rs (duplicate of filter_parser.rs)
- Same issues as above.
-
src/services/types.rs
ItemWithMetaandItemWithContentstructs: Partial.meta_as_map()method: No doc.
-
src/modes/common.rs
OutputFormatenum: No doc.ColumnTypeenum: Partial.- Functions (
get_meta_from_env,format_size, etc.): Partial.
-
src/services/error.rs
CoreErrorenum: Partial variants.
-
src/services/compression_service.rs
CompressionServicestruct: Partial.- Methods (
new,get_item_content,stream_item_content): Partial.
-
src/services/status_service.rs
StatusServicestruct: Partial.generate_status()method: Partial.
-
src/meta_plugin/exec.rs
MetaPluginExecstruct: Partial.new()function: Partial.- Impl
MetaPluginmethods: Partial.
-
src/modes/server/api/mod.rs
add_routes()andadd_docs_routes()functions: No docs.
-
src/compression_engine/none.rs
CompressionEngineNonestruct: Partial.new()function: No doc.- Impl
CompressionEnginemethods: Partial.
-
src/meta_plugin/shell.rs
ShellMetaPluginstruct: No doc.new()function: Partial.- Impl
MetaPluginmethods: No docs.
-
src/common/status.rs
- Structs (
FilterPluginInfo,StatusInfo, etc.): No docs. generate_status_info()function: Partial.
- Structs (
-
src/plugins.rs
ProgramWriterstruct: Partial.- Impl
Write: No doc.
-
src/modes/server/api/status.rs
handle_status()function: No doc.
-
src/filter_plugin/tail.rs
TailBytesFilterandTailLinesFilterstructs: Partial.new()functions: Partial.- Impl
FilterPluginmethods: No docs.
-
src/meta_plugin/mod.rs
MetaDataandMetaPluginResponsestructs: Partial.BaseMetaPluginstruct: Partial.MetaPluginTypeenum: No doc.process_metadata_outputs()function: Partial.MetaPlugintrait: Partial.- Registry and functions: Partial.
-
src/meta_plugin/keep_pid.rs
KeepPidMetaPluginstruct: No doc.new()function: Partial.- Impl
MetaPluginmethods: No docs.
-
src/filter_plugin/exec.rs
ExecFilterstruct: Partial.new()function: Partial.- Impl
FilterPluginmethods: No docs.
-
src/modes/save.rs
validate_save_args()function: Partial.TeeReaderstruct and implRead: No docs.mode_save()function: Partial.
-
src/modes/server/api/item.rs
- Many handler functions (
handle_list_items,handle_post_item, etc.): Partial or no docs. - Helpers (
check_binary_content_allowed, etc.): No docs.
- Many handler functions (
-
src/filter_plugin/skip.rs
SkipBytesFilterandSkipLinesFilterstructs: Partial.new()functions: Partial.- Impl
FilterPluginmethods: No docs.
-
src/common/is_binary.rs
is_binary()function: Partial.- Helpers (
has_binary_signature,looks_like_utf16, etc.): No docs.
-
src/services/mod.rs
- Re-exports: No docs needed.
Summary
- Most Affected Areas: Service structs/impls (e.g., item_service.rs, filter_service.rs), meta_plugin modules (many lack trait impl docs), compression_engine modules, and API handlers (server/api).
- Common Issues: Missing
@returns,@examples, or@errorsin existing partial docs; entire public traits/impls undocumented. - Recommendations: Add
cargo doc --no-depsto check generation. Focus on public APIs first. Use#[deny(missing_docs)]in Cargo.toml for enforcement. - Files Without Issues: Cargo.toml, filter.pest (grammar), main.rs (minimal), some small utils like plugins.rs.
Generation Plan
- Run
cargo doc --no-depsto generate and inspect current docs. - Add
///comments to missing items. - Use
cargo doc --opento verify. - Ensure all public items are documented before release.
Commands
cargo doc --no-deps # Generate docs without deps
cargo doc --open # Open generated docs in browser