Mac compatible/cross-platform version of a defunct windows text processing program

  • Status Completed
  • Budget $30 - $250 USD
  • Total Bids 5

Project Description

I desire to recreate a platform-independent (or at least Mac compatible) version of a defunct/abandoned Windows program which is the sole reason I maintain a windows VM on my mac! I believe a java program is probably the best option but am open to other suggestions from the proposer.

The program is a MUSH/MUX softcode formatter/unformatter. Text should be input from either a text file (as specified by the user) or clipboard, processed according to the rules specified below, and output should be sent to either a text file or clipboard as specified.

A brief description of the unformatting rules and some source code in C and Perl can be found here: [url removed, login to view]

A compiled version of [url removed, login to view] by Greg Kempe (Windows Only) is attached for reference. I desire to replicate the "Pretty to MUSH and MUSH to Pretty" features.

Unformatting rules:

A line containing only a - denotes the end of an attribute and a new line is started.

A line starting with a # denotes a comment line and is ignored.

Leading spaces and tabs are stripped.

Trailing spaces and tabs are left as is.

A line starting with a " (double quote) denotes a literal string and is handled specially:

- Leading and trailing spaces are preserved (after removing the " character)

- The line is formatted as text (as opposed to code)

- A %r is appended to the end of the line

Formatting rules:

If the line begins with a &:

The line is broken after the first "=" character and indented.

If the next line begins with a $ (ie. it's a command) or a ^ (ie. it's a listening attribute), then the second line is broken at the first ":" character.

If a semicolon - ";" - is found, a new line is begun and indented at the same level as the previous line

If an opening brace - "{" - is found, a new line is begun and indented, the brace is placed on its own line, and another new line is begun, indented further.

If a closing brace - "}" - is found, a new line is begun and indented, the brace is placed in line with its matching opening brace, and another new line is begun and indented.

Whitespace is stripped when occurring after any of the above three characters.

Otherwise, characters are added as is.

Each line is processed independently and the resulting code block is terminated with a - character on a line of its own.

Get free quotes for a project like this
Completed by:
Skills Required

Looking to make some money?

  • Set your budget and the timeframe
  • Outline your proposal
  • Get paid for your work

Hire Freelancers who also bid on this project

    • Forbes
    • The New York Times
    • Time
    • Wall Street Journal
    • Times Online