Skip to content

Two way replacement of key value pairs throughout text files.

License

Notifications You must be signed in to change notification settings

sandalon/replacer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

replacer

Replacer is a simple console application that does two way text replacement based on configuration files.

#Usage The application is run via the following command:

./replacer {options-file.json} {destination}

The options file contains the replacement rules for a given replacement operation.

{
  "Brand": "SampleBrand",
  "Token": "%%",
  "DefaultDirection": "reverse",
  "Filters": [
    { "Type": "Directory", "filterPattern" : "test" },
    { "Type": "Directory", "filterPattern" : "code" },
    { "Type": "File", "filterPattern" : "cs" },
    { "Type": "File", "filterPattern" : "txt" }
  ],
  "Values": [
    { "Source": "CompanyName", "value": "Mega Corp" },
    { "Source": "Copyright", "value": "Copyright 2012.  All Rights Reserved." }
  ]
}

Brand

The brand is used purely for display purposes at this time.

Token

The token represents the start and end blocks for a given replacement. When the above configuration file is used, %%CompanyName%% gets replaced with Mega Corp.

DefaultDirection

There are two valid options:

  1. forward
  2. reverse

Forward does the replacement as you would expect. %%CompanyName%% gets replaced with Mega Corp. Reverse attempts to undo the replacement. It searches for all instances of Mega Corp and inserts %%CompanyName%%.

Reverse direction can cause issues when the replacement value (Mega Corp in this case) isn't very distinct or multiple source rules have the same value.

Filters

There are two types of filters:

  1. Directory
  2. File

Directory filters are exclusion based. { "Type": "Directory", "filterPattern" : "test" } will exclude any directory named test.

File filters are inclusive. If the filter pattern is set to "filterPattern" : "cs", only files with a .cs extension will be replaced. In the above example, all .cs and .txt files will have replacements made except for directories named test or code.

Values

The values are the actual replacement rules to be run. The above example will replace the %%CompanyName%% and %%Copyright%% placeholders with their respective values.

About

Two way replacement of key value pairs throughout text files.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages