Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Change the contents of files according to rules
JavaScript
branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
.gitignore
LICENSE
README.md
changer.js
package.json
test.js

README.md

changer

changer reads in files and modifies them according to rules that you specify. It can be used to automatically modify code, change text, or anything else.

Installation

npm install changer

To use changer you need to create some rules. A rule is a just a function, and it returns the (possibly modified) line of text. Here's an example rules file:

exports.replaceEvens = function( lineNumber, text ) {
    if( lineNumber % 2 == 2 )
        text.replace( "Hello", "Goodbye" );

    return text;
}

exports.commentOut = function( lineNumber, text ) {
    if( lineNumber > 50 && lineNumber < 60 )
        text = "// " + text;

    return text;
}

Then in another file, we can apply the rules to some files

var change = require("changer").change,
    rules = require("./ruleSet");

// An array of filepaths
var files = [
    'file1.txt'
    'C:/file2.h'
    'includes/file3.cpp'
];

// Batch process the files
for( var iFile=0; iFile<files.length; ++iFile ) {
    change( rules.replaceEvens, files[iFile] );
    change( rules.commentOut, files[iFile] );
}

// Do one more for good measure
change( rules.replaceEvens, "anotherfile.csv" );
Something went wrong with that request. Please try again.