variable-resolver

Crates.iovariable-resolver
lib.rsvariable-resolver
version1.1.0
sourcesrc
created_at2024-11-17 19:43:42.366842
updated_at2024-11-18 19:56:10.562727
descriptionThe aim of this package is to easily replace variables inside a given template.
homepage
repositoryhttps://github.com/bytifex/variable-resolver.git
max_upload_size
id1451516
size28,009
RoGer (RoGer2856)

documentation

README

variable-resolver

The aim of this package is to easily replace variables inside a given template.

The package contains a library and a cli application (repvar).

Format of the template

The package is capable of finding variable names inside double curly braces.

Example template:

Hello, {{name}}

Escaping double curly braces happens by using triple curly braces. Examples:

  • The following template: Hello, {{{name}}} will resolve to Hello, {{name}}
  • The following template: Hello, {{{{name}}}} will resolve to Hello, {{{name}}}
  • The following template: Hello, {{{{{name}}}}} will resolve to Hello, {{Jane}}
  • The following template: Hello, {{{{{{name}}}}}} will resolve to Hello, {{{{name}}}}

Using repvar cli utility

The following example demonstrates how every occurence of a variable is replaced with a value. In the following case every {{name}} is replaced with Jane:

echo "Hello, {{name}}" | repvar -v name=Jane

Templates inside files can be handled by piping the file into repvar. Example:

cat greeting.txt | repvar -v name=Jane

Be aware that writing to the same file as the source is not safe. Example:

cat greeting.txt | repvar -v name=Jane > greeting.txt

Todos

  • docstring
  • case-insensitive variable resolver mode
  • load variables from environment variables
  • load variables from .env files
  • load template from file
Commit count: 7

cargo fmt