FAR - Find And Replace

FAR

Application

Feature

Documentation

What is FAR?

FAR is a tool for search and replace operations over multiple files. You can apply ordinary
"word by word" replacement, or choose to use fully featured regular expressions.

FAR automatically creates backups (unless you deselect this option) and is designed to operate
on files dispersed over entire directory trees.

For your comfort you may define search strings that span multiple lines by just typing
multiple lines - no obscure construct like "$\r?(?s:.)^" is required.

FAR wants to be this application that you only need once a year - but then you badly need it.

Why so FAR?

FAR has been created out of the need to change the layout of a website with hundreds of html
pages. While all editors know "find and replace", and many support regular expressions, there
is only a few that allows to:

Change a selection of files from different directories at once.

Allow search (and replace) patterns that span multiple lines.

Eventually FAR seeks to be fully platform independent. Being written in Java, it runs where
Java runs.

How FAR Then?

Future development will be guided by user feedback and personal experience. Searching in archives is the next major milestone.
The capabilities of the build in text viewer might be extended as well, but all this shall be guided by two major concerns:
stability and usability.

Who is FAR?

FAR has been written by Olivier Wehner. I am a Java developer and I can't help it - I have no other hobbies.

This release comes with a new tab, providing extraction functionality similar to the well known Grep utility.
This will help you getting an overview over the content of any collection of files. And it allows you go generate condensed
information from the content of spread sources.
It is the second big feature I always wanted to integrate into FAR, and a huge step towards feature completion
(if such thing exists). Together with the usual bugfixes and FARs ripe state it deserves a 2.0 version number.
Come and grab one for yourself.

1.8 - Comfortable configuration

02-07-2014

Sometimes it takes a bit longer to get what you've got to get, especially when you follow the old open source quality principle
"it's ready when it's ready".
A lot of work has been done under the hood, but there is also some eye candy. Most notably, the configuration user interface has
received a face lift. Most visible: there are more filters for the FIND operation. For instance, you can now exclude certain directories
from your search path. I hope you enjoy this release, and do not hesitate to drop a note in the bugtracker if you want to make a wish!

1.7 - The Selection Edition

25-02-2013

First of all, a big thanks to all you loyal users. The truly sky-rocketing download numbers have been my greatest reward and motivation.
Now what's in the box? For me the coolest is subselects: You can apply a pattern to the file list to select only a few
for further processing. Useful not only for very large lists, but also to find more than one pattern in a file, which is sometimes hard to
state in a single regular expression.
Then you can save an load patterns for search or replace, there is a toolbox that allows to change the character encoding or the line break
character, and ultimately, for users of Java 6 and higher, FAR has become sensitive for drag and drop. So you can now pull a bunch of files or
directories onto the application to load all contained files into the list. And there is even more, check out the
change log for a full picture.

1.6.5 - Stayin' Alive

19-04-2012

While download numbers are ever increasing (hey, thanks everyone!), I sadly did not have much time for
FAR since the last release. That's why this one does not get a "round" version number. Yet I still managed
to add some goodies. First of all, a long standing request from Karl Jones has been implemented: Open files
and folder from the file list context menu (requires Java 6+). And then, along with the missing Copy option,
there is now a really cool Tree Copy feature. Check it out! Bugs were fixed too, of course.

1.6 - Find and Rename

05-02-2011

Now this is something I wanted to add since the beginning: bulk file renaming. It nicely blends into the general concept
of FAR as a GUI for bulk file operations. But even if you do not care about this at all, you will want to have this new
release! The "view" and "preview" window now come with a marker ruler that shows the position of matches in a file. Plus
you can save the found file list to disk, or load arbitrary lists of files for processing.

1.4 - A FAR View

03-09-2010

Here comes the feature we have waited for so desperately: View your findings and preview your changes. But that's not all
you can do with the new release. You can now also edit files directly from within the application, plus FAR now provides
you with some essential informations about the files. You gotta have it!

1.2.1 - Fix Me First

11-05-2010

A bugfix release for #2932261 - "Doesn't search all file type". I currently don't find the time to prepare a new feature
release, so I thought I fix at least this nasty malfunction. Searching for multiple extensions does now work properly.
However, enhanced viewer and editor capabilities are planned to be implemented before the end of the year.

1.2 - The Candy Release

07-12-2009

Some new features have been added that are supposed to make the handling smoother. In particular, since it's Christmas time,
Florians wish has been granted: there is an undo history on every textarea now.
And thanks to the people of launch4j FAR fits better into Windows. The integration
into Mac OS X has also been reworked. Check out the change log for details.

Number One!

22-07-2009

Version 1.0 is out with polishing and bug fixes and a tiny enhancement: You can now define
patterns to exclude files from you search. Comes in handy if you are looking for
files that are missing a particular entry. Give it a try!

A Fix To Win

09-06-2009

Sorry for those who ran into this: On Windows you where blocked when you tried to make two (2) replace operations on the same file! You would just get red lines in you file list, and maybe a silly error message. 0.9.7 fixes this.

System Requirements

FAR requires Java 1.6 (or later) in your path. Run:> java -version
on your command line to verify you have it. FAR comes with suitable launchers for Windows,
Mac OS X and other X's for best integration into your OS.

Installation & Removal:

Unpack the archive (zip or tar.gz) at a location of your choice, e.g. "C:\Program Files" or
"/opt". The archive will create a subdirectory "far" that contains everything.
To uninstall, delete that directory plus the configuration directory created at
"$USER_HOME/.net/pandoragames/FAR".

Windows user may alternatively want to use the automatic Chocolatey installation.

Updating

Simply replace your old version of FAR with this new one. Your configuration settings are
stored in a separate location at "$USER_HOME/.net/pandoragames/FAR" and will be retained.

Unpacking the Sources

Extract the tarball into a directory of your choice. It will create a subdirectory "far" that
contains the sources. You can extract source and binary version into the same directory but
you are not encouraged to do so.

License

FAR is free to use at no charge for anyone, company or individual.

FAR is released under the GNU General Public License version 3.0. It includes libraries from
the Apache Software Foundation (www.apache.org), published under Apache License 2.0.

Parts of the FAR sources are actually put under LGPL in order to allow using the core classes
in other, non GPL environments.

Viewer and editor to preview any changes or to quickly correct some last minute finding.

Find

In order to help you finding the right set of files, FAR provides the following filter:

Select the base directory and choose whether to look in subdirectories or not.

Use pattern matching for file names. You may either use an intuitive "simple"
pattern, style "*.text" or fully featured regular expressions.

Scan the content and apply regular expressions to include or exclude matching files.

Eventually you can manually exclude files from further processing by simply deselecting them in the result list.

Replace

Use the power of regular expressions to make changes to hundreds of files dispersed over an entire directory tree.
You can preview any single modification in the build in viewer. Also, as stated
on the front page, you may define search strings that span multiple lines by just
typing multiple lines - no obscure construct like "$\r?(?s:.)^" is required.

Rename

Rename files from the result list of you search. Again you can choose to use an intuitive
simple pattern or regular expressions for complicate cases. FAR protects the file
extensions from being changed inadvertently, unless you specifically allow this.

Extract

Find arbitrary text in your file selection and extract it into a single output file.
List references or recombine selected bits and parts. You may also simply count occurrences.
Check out the manual for further details.

And More

FAR keeps accumulating little helpful features. You can move and delete files from
the result list, you can export the search result or import lists of arbitrary files.
FAR supports all character sets that java supports. While FAR assumes your platforms
standard character by default, you can select a different encoding for each file
at your descretion. And yes, there is more to come.