Home Man
Today's Posts

Linux & Unix Commands - Search Man Pages
Man Page or Keyword Search:
Select Section of Man Page:
Select Man Page Repository:

Linux 2.6 - man page for erlang_mode (linux section 3erl)

erlang.el(3erl) 		     Erlang Module Definition			  erlang.el(3erl)

       erlang.el - Erlang mode for Emacs

       Possibly  the  most important feature of an editor designed for programmers is the ability
       to indent a line of code in accordance with the structure of the programming language. The
       Erlang  mode does, of course, provide this feature. The layout used is based on the common
       use of the language. The mode also provides things as syntax highlighting,  electric  com-
       mands,  module  name verification, comment support including paragraph filling, skeletons,
       tags support etc.

       In the following descriptions the use of the word Point means: "Point can be seen  as  the
       position  of  the cursor. More precisely, the point is the position between two characters
       while the cursor is drawn over the character following the point".

       The following command are directly available for indentation.

	 * TAB ( erlang-indent-command ) - Indents the current line of code.

	 * M-C-\ ( indent-region ) - Indents all lines in the region.

	 * M-l ( indent-for-comment ) - Insert a comment character to the right of  the  code  on
	   the line (if any).

       Lines  containing comment are indented differently depending on the number of %-characters

	 * Lines with one %-character is indented to the right of the code. The column is  speci-
	   fied by the variable comment-column , by default column 48 is used.

	 * Lines with two %-characters will be indented to the same depth as code would have been
	   in the same situation.

	 * Lines with three of more %-characters are indented to the left margin.

	 * C-c C-q ( erlang-indent-function ) - Indents the current Erlang function.

	 * M-x erlang-indent-clause RET
	   -Indent the current Erlang clause.

	 * M-x erlang-indent-current-buffer RET - Indent the entire buffer.

       When editing normal text in text mode you can let Emacs reformat the  text  by  the  fill-
       paragraph command. This command will not work for comments since it will treat the comment
       characters as words.

       The Erlang editing mode provides a command that knows about the Erlang  comment	structure
       and can be used to fill text paragraphs in comments. Ex:

	     %% This is   just a very simple test to show
	     %% how the Erlang fill
	     %% paragraph   command works.

       Clearly,  the  text is badly formatted. Instead of formatting this paragraph line by line,
       let's try erlang-fill-paragraph by pressing M-q . The result is:

	     %% This is just a very simple test to show how the Erlang fill
	     %% paragraph command works.

       C-c C-c will put comment characters at the beginning of all lines in a marked  region.  If
       you want to have two comment characters instead of one you can do C-u 2 C-c C-c

       C-c C-u will undo a comment-region command.

	 * C-a M-a ( erlang-beginning-of-function ) - Move the point to the beginning of the cur-
	   rent or preceding Erlang function. With an numeric argument (ex C-u 2 C-a  M-a  )  the
	   function skips backwards over this many Erlang functions. Should the argument be nega-
	   tive the point is moved to the beginning of a function below the current function.

	 * M-C-a ( erlang-beginning-of-clause ) - As above but move point to the beginning of the
	   current or preceding Erlang clause.

	 * C-a	M-e  (	erlang-end-of-function	)  -  Move to the end of the current or following
	   Erlang function. With an numeric argument (ex C-u 2 C-a M-e ) the function skips back-
	   wards  over	this  many Erlang functions. Should the argument be negative the point is
	   moved to the end of a function below the current function.

	 * M-C-e ( erlang-end-of-clause ) - As above but move point to the end of the current  or
	   following Erlang clause.

	 * C-c	M-h ( erlang-mark-function ) - Put the region around the current Erlang function.
	   The point is placed in the beginning and the mark at the end of the function.

	 * M-C-h ( erlang-mark-clause ) Put the region around  the  current  Erlang  clause.  The
	   point is placed in the beginning and the mark at the end of the function.

	 * C-c	C-j  (	erlang-generate-new-clause  ) - Create a new clause in the current Erlang
	   function. The point is placed between the parentheses of the argument list.

	 * C-c C-y ( erlang-clone-arguments ) - Copy the  function  arguments  of  the	preceding
	   Erlang  clause. This command is useful when defining a new clause with almost the same
	   argument as the preceding.

	 * C-c C-a ( erlang-align-arrows ) - aligns arrows after clauses inside a region.


		 sum(L) -> sum(L, 0).
		 sum([H|T], Sum) -> sum(T, Sum + H);
		 sum([], Sum) -> Sum.


		 sum(L) 	 -> sum(L, 0).
		 sum([H|T], Sum) -> sum(T, Sum + H);
		 sum([], Sum)	 -> Sum.

       The syntax highlighting can be activated from the Erlang menu. There  are  four	different

	 * Off: Normal black and white display.

	 * Level  1: Function headers, reserved words, comments, strings, quoted atoms, and char-
	   acter constants will be colored.

	 * Level 2: The above, attributes, Erlang bif:s, guards, and words in  comments  enclosed
	   in single quotes will be colored.

	 * Level  3:  The  above,  variables, records, and macros will be colored. (This level is
	   also known as the Christmas tree level.)

       For the tag commands to work it requires that you have generated a tag  file.  See  Erlang
       mode users guide

	 * M-.	( find-tag ) - Find a function definition. The default value is the function name
	   under the point.

	 * Find Tag ( erlang-find-tag ) - Like the Elisp-function `find-tag'. Capable of retriev-
	   ing Erlang modules. Tags can be given on the forms `tag', `module:', `module:tag'.

	 * M-+ ( erlang-find-next-tag ) - Find the next occurrence of tag.

	 * M-TAB ( erlang-complete-tag ) - Perform completion on the tag entered in a tag search.
	   Completes to the set of names listed in the current tags table.

	 * Tags aprops ( tags-apropos ) - Display list of all tags in tags table REGEXP matches.

	 * C-x t s ( tags-search ) - Search through all files listed in tags table for match  for
	   REGEXP. Stops when a match is found.

       A  skeleton  is	a  piece of pre-written code that can be inserted into the buffer. Erlang
       mode comes with a set of predefined skeletons. The skeletons can be accessed  either  from
       the  Erlang  menu  of  from  commands  named tempo-template-erlang-* , as the skeletons is
       defined using the standard Emacs package "tempo". Here follows a brief description of  the
       available skeletons:

	 * Simple  skeletons:  If,  Case,  Receive, Receive After, Receive Loop - Basic code con-

	 * Header elements: Module, Author - These commands insert lines on the form -module( xxx
	   ).  and  -author('my@home'). . They can be used directly, but are also used as part of
	   the full headers described below.

	 * Full Headers: Small (minimum requirement), Medium (with fields for  basic  information
	   about the module), and Large Header (medium header with some extra layout structure).

	 * Small Server - skeleton for a simple server not using OTP.

	 * Application - skeletons for the OTP application behavior

	 * Supervisor - skeleton for the OTP supervisor behavior

	 * Supervisor Bridge - skeleton for the OTP supervisor bridge behavior

	 * gen_server - skeleton for the OTP gen_server behavior

	 * gen_event - skeleton for the OTP gen_event behavior

	 * gen_fsm - skeleton for the OTP gen_fsm behavior

	 * Library module - skeleton for a module that does not implement a process.

	 * Corba callback - skeleton for a Corba callback module.

	 * Erlang test suite - skeleton for a callback module for the erlang test server.

	 * New shell ( erlang-shell ) - Starts a new Erlang shell.

	 * C-c	C-z,  ( erlang-shell-display ) - Displays an Erlang shell, or starts a new one if
	   there is no shell started.

	 * C-c C-k, ( erlang-compile ) - Compiles the Erlang module in the  current  buffer.  You
	   can also use C-u C-c C-k to debug compile the module with the debug options debug_info
	   and export_all .

	 * C-c C-l, ( erlang-compile-display ) - Display compilation output.

	 * C-u C-x` Start parsing the compiler output from the beginning. This command will place
	   the point on the line where the first error was found.

	 * C-x`  ( erlang-next-error ) - Move the point on to the next error. The buffer display-
	   ing the compilation errors will be updated so that the current error will be visible.

       On unix you can view the manual pages in emacs. In order to find  the  manual  pages,  the
       variable  `erlang-root-dir'  should  be	bound to the name of the directory containing the
       Erlang installation. The name should not include the final slash. Practically, you  should
       add a line on the following form to your ~/.emacs,

	     (setq erlang-root-dir "/the/erlang/root/dir/goes/here")

	 * M-x	imenu-add-to-menubar RET - This command will create the IMenu menu containing all
	   the functions in the current buffer.The command will ask you for a suitable	name  for
	   the menu. Not supported by Xemacs.

	 * M-x	erlang-version RET - This command displays the version number of the Erlang edit-
	   ing mode. Remember to always supply the version number when asking questions about the
	   Erlang mode.

Ericsson AB				  tools 			  erlang.el(3erl)

All times are GMT -4. The time now is 08:56 AM.

Unix & Linux Forums Content Copyrightę1993-2018. All Rights Reserved.
Show Password