= 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] ==== Options The following table details the possible startup options. You can get this list any time by using the {{{-help}}} option. || -build TARGET || Build TARGET (e.g. tool, doc, clean) || || -bufsrv || Build bufferserver (use with '-build tool') || || -igraph PATH || Path to the Igraph lib directory (use with '-build tool') || || -qt_gui || Build Qt GUI (use with '-build tool') || || || || || -client || Start in client mode (no server is started) || || -db DB || [mnesia|nif|kcmini] The database engine to use (default: mnesia) || || -dir DIR || Sets the !RefactorErl data directory || || -base PATH || Path to the !RefactorErl base directory || || -pos POS || [abs|rel] The positioning mode to use (default: abs) || || -erl PATH || Path to the Erlang executable to use || || -g++ PATH || Path of the g++ compiler to use || || -synchronize || Database synchronization || || -help || Print this help text || || || || || -server || Start in server mode (no shell is started) || || -sname NAME || Short name of the Erlang node || || -name NAME || Full name of the Erlang node || || -srvname NAME || Name of the Erlang server node to connect || || -client || Start in client mode (no server is started) || || || || || -emacs || Start as an Emacs client || || -vim || Start as a Vim client || || -wx || Start as a Wx client || || || || || -nitrogen || Start with Nitrogen || || -web2 || Start with Web2 || || -yaws_path PATH || Path to the Yaws ebin directory (need /ebin at the end) || || -yaws_name NAME || Set Yaws server name || || -yaws_port PORT || Set Yaws port || || -yaws_listen IP || Set Yaws IP || || -browser_root || Set the file browser root directory || || -images_dir || Set root directory where generated Nitrogen images will be written || || -restricted_mode || Set restricted mode on the web interface or on a !RefactorErl started as server || ==== Configuration File The same [#options Options ] may be used in the user configuration file ${HOME}/.referlrc. [[br]] This can be useful when multiple long command line switches are required to start the {{{bin/referel}}} tool.[[br]] The tool first reads the specified switches from the ${HOME}/.referlrc and then applies the command line arguments, if any.[[br]] Please note, this feature is currently not available on Windows. Example configuration file: {{{#!erlang % User configuration file % single entries are just plain strings like: nitrogen % entries with user defined second argument are tuples eg.: {erl, path_to_erl} % % {erl,path_to_erl} % {base,basedir} % {name,instancename} % {sname,servername} % {srvname,yourservername} % server % emacs % wx % qt % vim % nitrogen % web2 % {browser_root,browserroot} % {images_dir,imgdir} % yaws % {yaws_path,path} % {yaws_name,name} % {yaws_port,port} % {yaws_listen,ipaddress} % gcc % g++ % build % no_cpp % bufsrv % ericsson % {igraph,path} % yaws_189 % client % synchronize % {wrangler,path} % dbtype = mnesia nif kcmini % {db,dbtype} % {dbmod,dbmod} % {dir,referldir} % {dbargs,dbargs} % {pos,posi} % qt_gui }}} ==== 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] are capable of starting their embedded instance of !RefactorErl. For further information visit the pages of various interfaces.