Skip to content

Rules and Settings

Leonard Ramminger edited this page May 14, 2026 · 1 revision

Rules and Settings

Rules

Examples:

prebyte input.txt --rule strict_variables=true
prebyte input.txt --rule .md::default_variable_value=Fallback
prebyte input.txt --rule README.md::strict_variables=false

Supported rules:

  1. strict_variables
  2. case_sensitive_variables
  3. default_variable_value
  4. variable_prefix
  5. variable_suffix
  6. max_variable_length
  7. replace_tabs
  8. tab_size
  9. trim
  10. allow_includes
  11. include_path
  12. output_encoding
  13. allow_env
  14. forbidden_env_vars
  15. error_on_false_input
  16. lua_instruction_limit
  17. lua_memory_limit_bytes
  18. max_include_depth
  19. max_render_time_ms
  20. max_output_size_bytes
  21. max_loop_iteration
  22. debug

Rule notes:

  1. output_encoding supports utf-8 and utf-16
  2. output_encoding only affects file output like CLI -o/--output and Prebyte write-to-file helpers
  3. returned strings and stdout output stay UTF-8
  4. error_on_false_input=false keeps normal if / elseif fallback behavior
  5. error_on_false_input=true raises a runtime error when an if / elseif condition is falsey

Settings File

variables:
  greeting: Hello

rules:
  strict_variables: false

file_rules:
  .md:
    default_variable_value: Fallback

profiles:
  friendly:
    variables:
      greeting: Hi

Top-level keys:

  1. variables
  2. include_paths
  3. rules
  4. file_rules
  5. profiles
  6. ignore

Clone this wiki locally