[package] name = "en" version = "0.4.0-alpha" description = "A non-linear writing instrument." license = "AGPL-3.0-only" repository = "https://codeberg.org/jutty/en" homepage = "https://en.jutty.dev" documentation = "https://en.jutty.dev/node/Documentation" edition = "2024" rust-version= "1.94.0" [features] serial-tests = [] [dependencies] axum = "0.8.7" tokio = { version = "1.48.0", features = ["rt-multi-thread"] } tera = { version = "1.20.1", features = ["builtins"] } serde_json = "1.0.145" serde = { version = "1.0.228", features = ["derive"] } toml = "0.9.8" [dev-dependencies] tower = { version = "0.5.2", features = ["util"] } [lints.rust] # levels: allow, expect, warn, force-warn, deny, forbid unsafe_code = { level = "deny", priority = 99 } unused = { level = "warn", priority = 10 } let_underscore= { level = "warn", priority = 10 } nonstandard-style = "warn" future-incompatible = "warn" keyword-idents = "warn" non_ascii_idents = "warn" [lints.clippy] # levels: allow, warn, deny, forbid allow_attributes = "warn" arithmetic_side_effects = "warn" as_conversions = "warn" as_pointer_underscore = "warn" as_underscore = "warn" assigning_clones = "warn" branches_sharing_code = "warn" case_sensitive_file_extension_comparisons = "warn" cast_lossless = "warn" cast_possible_truncation = "warn" cast_possible_wrap = "warn" cast_precision_loss = "warn" cast_sign_loss = "warn" checked_conversions = "warn" clear_with_drain = "warn" cloned_instead_of_copied = "warn" coerce_container_to_any = "warn" collapsible_else_if = "allow" collapsible_if = "allow" collection_is_never_read = "warn" comparison_chain = "warn" copy_iterator = "warn" default_trait_access = "warn" deref_by_slicing = "warn" derive_partial_eq_without_eq = "warn" doc_broken_link = "warn" doc_comment_double_space_linebreaks = "warn" doc_include_without_cfg = "warn" doc_link_code = "warn" doc_link_with_quotes = "warn" doc_markdown = "warn" doc_paragraphs_missing_punctuation = "warn" duration_suboptimal_units = "warn" empty_drop = "warn" empty_enum_variants_with_brackets = "warn" empty_enums = "warn" empty_structs_with_brackets = "warn" equatable_if_let = "warn" error_impl_error = "warn" exit = "warn" expect_used = "warn" expl_impl_clone_on_copy = "warn" explicit_deref_methods = "warn" explicit_into_iter_loop = "warn" explicit_iter_loop = "warn" fallible_impl_from = "warn" field_reassign_with_default = "allow" filetype_is_file = "warn" filter_map_next = "warn" flat_map_option = "warn" float_cmp = "warn" float_cmp_const = "warn" fn_to_numeric_cast_any = "warn" format_collect = "warn" format_push_string = "warn" from_iter_instead_of_collect = "warn" get_unwrap = "warn" if_not_else = "warn" if_then_some_else_none = "warn" ignore_without_reason = "warn" ignored_unit_patterns = "warn" implicit_clone = "warn" implicit_hasher = "warn" imprecise_flops = "warn" inconsistent_struct_constructor = "warn" index_refutable_slice = "warn" indexing_slicing = "warn" inefficient_to_string = "warn" infinite_loop = "warn" integer_division = "warn" integer_division_remainder_used = "warn" into_iter_without_iter = "warn" invalid_upcast_comparisons = "warn" ip_constant = "warn" iter_filter_is_ok = "warn" iter_filter_is_some = "warn" iter_not_returning_iterator = "warn" iter_on_empty_collections = "warn" iter_on_single_items = "warn" iter_with_drain = "warn" iter_without_into_iter = "warn" large_digit_groups = "warn" large_futures = "warn" large_stack_arrays = "warn" large_types_passed_by_value = "warn" let_underscore_must_use = "warn" linkedlist = "warn" literal_string_with_formatting_args = "warn" lossy_float_literal = "warn" macro_use_imports = "warn" manual_assert = "warn" manual_ilog2 = "warn" manual_instant_elapsed = "warn" manual_is_power_of_two = "warn" manual_is_variant_and = "warn" manual_let_else = "warn" manual_midpoint = "warn" manual_non_exhaustive = "allow" manual_string_new = "warn" many_single_char_names = "warn" map_err_ignore = "warn" map_with_unused_argument_over_ranges = "warn" match_bool = "warn" match_same_arms = "warn" match_wild_err_arm = "warn" match_wildcard_for_single_variants = "warn" maybe_infinite_iter = "warn" mem_forget = "warn" mismatching_type_param_order = "warn" missing_assert_message = "warn" missing_asserts_for_indexing = "warn" missing_const_for_fn = "warn" missing_errors_doc = "warn" missing_fields_in_debug = "warn" missing_panics_doc = "warn" mixed_read_write_in_expression = "warn" mod_module_files = "warn" module_name_repetitions = "warn" multiple_inherent_impl = "warn" mut_mut = "warn" mutex_atomic = "warn" mutex_integer = "warn" naive_bytecount = "warn" needless_collect = "warn" needless_continue = "warn" needless_for_each = "warn" needless_pass_by_ref_mut = "warn" needless_pass_by_value = "warn" needless_raw_string_hashes = "warn" needless_raw_strings = "warn" needless_type_cast = "warn" no_effect_underscore_binding = "warn" non_send_fields_in_send_ty = "warn" non_std_lazy_statics = "warn" non_zero_suggestions = "warn" nonstandard_macro_braces = "warn" option_as_ref_cloned = "warn" option_option = "warn" panic_in_result_fn = "warn" path_buf_push_overwrite = "warn" pathbuf_init_then_push = "warn" pub_underscore_fields = "warn" pub_without_shorthand = "warn" range_minus_one = "warn" range_plus_one = "warn" rc_buffer = "warn" rc_mutex = "warn" read_zero_byte_vec = "warn" redundant_clone = "warn" redundant_closure_for_method_calls = "warn" redundant_pub_crate = "warn" redundant_test_prefix = "warn" redundant_type_annotations = "warn" ref_binding_to_reference = "warn" ref_option = "warn" ref_option_ref = "warn" renamed_function_params = "warn" rest_pat_in_fully_bound_structs = "warn" return_and_then = "warn" return_self_not_must_use = "warn" same_functions_in_if_condition = "warn" same_length_and_capacity = "warn" same_name_method = "warn" search_is_some = "warn" self_only_used_in_recursion = "warn" semicolon_if_nothing_returned = "warn" semicolon_inside_block = "warn" set_contains_or_insert = "warn" shadow_reuse = "warn" shadow_same = "warn" shadow_unrelated = "warn" should_panic_without_expect = "warn" single_char_pattern = "warn" single_match_else = "warn" single_option_map = "warn" stable_sort_primitive = "warn" str_split_at_newline = "warn" string_add = "warn" string_add_assign = "warn" string_lit_as_bytes = "warn" string_lit_chars_any = "warn" string_slice = "warn" struct_field_names = "warn" suboptimal_flops = "warn" suspicious_operation_groupings = "warn" suspicious_xor_used_as_pow = "warn" tests_outside_test_module = "warn" too_long_first_doc_paragraph = "warn" trait_duplication_in_bounds = "warn" trivially_copy_pass_by_ref = "warn" try_err = "warn" tuple_array_conversions = "warn" type_repetition_in_bounds = "warn" unchecked_time_subtraction = "warn" unicode_not_nfc = "warn" uninlined_format_args = "warn" unnecessary_box_returns = "warn" unnecessary_debug_formatting = "warn" unnecessary_join = "warn" unnecessary_literal_bound = "warn" unnecessary_self_imports = "warn" unnecessary_semicolon = "warn" unnecessary_struct_initialization = "warn" unnecessary_wraps = "warn" unneeded_field_pattern = "warn" unnested_or_patterns = "warn" unreadable_literal = "warn" unsafe_derive_deserialize = "warn" unseparated_literal_suffix = "warn" unused_async = "warn" unused_peekable = "warn" unused_result_ok = "warn" unused_rounding = "warn" unused_self = "warn" unused_trait_names = "warn" unwrap_in_result = "warn" unwrap_used = "warn" used_underscore_binding = "warn" used_underscore_items = "warn" useless_let_if_seq = "warn" verbose_file_reads = "warn" volatile_composites = "warn" wildcard_enum_match_arm = "warn" wildcard_imports = "warn" zero_sized_map_values = "warn" # cargo negative_feature_names = "warn" redundant_feature_names = "warn" wildcard_dependencies = "warn"