= Starting the tool !RefactorErl can be started either as a standalone or as an embedded application. == Standalone application ==== Normal mode To start the tool, simply execute our startup script from the base directory of your !RefactorErl copy: (In Linux) {{{ bin/referl }}} (In Windows) {{{ bin/referl.bat }}} Note that if you do not specify the back-end to be used, the tool uses the [wiki:MnesiaDB mnesia-based database] by default. If you would like to use another back-end, for example, the [wiki:MnesiaDB NIF-based C++ graph], you should start the tool like this: {{{ bin/referl -db nif }}} ==== Options The following table details the possible startup options. You can get this list any time by using the {{{-help}}} option. {{{#!comment || -base PATH || Path to the !RefactorErl base directory || || -browser_root || Set the file browser root directory || || -build TARGET || Build TARGET (e.g. tool, doc, clean) || || -client || Start in client mode (no server is started) || || -db [mnesia|nif|kcmini] || The database engine to use (default: mnesia) || || -dir DIR || Sets the !RefactorErl data directory || || -emacs || Start as an Emacs client || || -erl PATH || Path to the Erlang executable to use || || -g++ PATH || Path of the g++ compiler to use || || -help || Print this help text || || -images_dir || Set root directory where generated Nitrogen images will be written || || -name NAME || Full name of the Erlang node || || -nitrogen || Start with Nitrogen || || -no_cpp || CPP code will not be compiled (use with ''-build tool'') || || -restricted_mode || Set restricted mode on the web interface || || -server || Start in server mode (no shell is started) || || -sname NAME || Short name of the Erlang node || || -srvname NAME || Name of the Erlang server node to connect || || -yaws_189 || Prepare for the Yaws 1.89 to use during compilation (use with '-build tool') || || -yaws_listen IP || Set yaws IP || || -yaws_name NAME || Set yaws server name || || -yaws_path PATH || Path to the Yaws ebin directory (need /ebin at the end) || || -yaws_port PORT || Set yaws port || || -synchronize || Database synchronization || }}} || -base PATH || Path to the !RefactorErl base directory || || -browser_root || Set the file browser root directory || || -build TARGET || Build TARGET (e.g. tool, doc, clean) || || -client || Start in client mode (no server is started) || || -db [mnesia|nif] || The database engine to use (default: mnesia) || || -dir DIR || Sets the !RefactorErl data directory || || -emacs || Start as an Emacs client || || -erl PATH || Path to the Erlang executable to use || || -g++ PATH || Path of the g++ compiler to use || || -help || Print this help text || || -images_dir || Set root directory where generated Nitrogen images will be written || || -name NAME || Full name of the Erlang node || || -nitrogen || Start with Nitrogen || || -no_nif || NIF code will not be compiled (use with ''-build tool'') || || -server || Start in server mode (no shell is started) || || -sname NAME || Short name of the Erlang node || || -srvname NAME || Name of the Erlang server node to connect || || -yaws || Start with yaws web server || || -yaws_listen IP || Set yaws IP || || -yaws_name NAME || Set yaws server name || || -yaws_path PATH || Path to the Yaws ebin directory (need /ebin at the end) || || -yaws_port PORT || Set yaws port || ==== Server mode !RefactorErl can be run as a server, you only have to specify a name with {{{-name}}} or {{{-sname}}} when starting the tool. If you do not need a command line access to the server, you can use the {{{-server}}} option, which starts the tool in server-only mode. ==== Client mode If you already have a running !RefactorErl instance (a running "server") started with {{{-name}}} or {{{-sname}}}, then you can connect to this server with a command line client and you can enter Erlang commands that will be executed on the server. To start a client, use the {{{-client}}} option and specify the name of the server (the name you have used in {{{-name}}} or {{{-sname}}} while starting the server) with the {{{-srvname}}} option. === Embedded application User interfaces like [EmacsInterface Emacs] and [EclipseInterface Eclipse] are capable of starting their embedded instance of !RefactorErl. For further information visit the pages of various interfaces.