Eric Cornelissen

Hey there 👋 I'm software engineering and open source enthusiast with an interest in security and usability. You can find me and my work right here or at the links below.

wordrow

A small CLI tool to replace instances of words with other words in plaintext.

Description

This project was born when I was writing my Masters Thesis and I wanted to ensure I used British english instead of American english throughout the text. So, I created a simple tool that can find words in a text and replace them in a context aware way. To do this, I decided to use, and learn, the Go programming language.

As my first Go project, I started simple with a tool that performs simple string replacement in files. I gradually expended this to include more complex features such as maintaining capitalization (e.g. #26) and prefix and suffix matching (#22).

To be able to learn the ropes of the programming language as quickly as possible I decided to hold off on the usage of packages. As a result I had to implemented standard functionality such as a CLI argument parser myself. This was a valuable exercise with regards to learning the language, but also with regards to understanding the design command line interfaces better.

I spend significant effort on the documentation for wordrow. My goal was to provide detailed but readable documentation which at the same time guides the reader how the tool can be used. The result is a linear tutorial to learn the tool in which each section provides documentation on a feature.

Gradually, I become more familiar with Go tooling. Over time, I started to use tools such as golint and gofmt. In addition, I utilized Code Climate to get insights into the quality of my code. I also utilized Node's npx to be able to lint MarkDown files without extra prerequisites.

Back to top