Git Product home page Git Product logo

vimerl's Introduction

=== Vim Erlang plugin ===

Vim plugin for the programming language Erlang. The next features
are implemented:
	- Syntax highlight
	- Code folding
	- Code completion (based on Module:module_info/1 to use the
			   Erlang introspection mechanism)
	- Auto-indent
	- QuickFix
	- Wrangler support (the refactoring Erlang tool)


== Installation ==

* Unix
	- For local installation (one user only) copy the content of the
	  tarball to your ~/.vim directory
	- For global installation copy the content of the tarball to
	  your vim runtime directory (e.g. /usr/share/vim/vimX/)


== Omni completion ==

Write the name of a module (e.g. `my_mod:') press CTRL-X CTRL-O to activate
the omni completion. The omni completion try to use the man pages to give
the definition for the standard functions. The omni completion try to compile
local modules, if it is possible, in order to call their Module:module_info/1.

The program `escript' is required, the standard Erlang installation
comes with it.


== Folding ==

To enable it just add to your vimrc `set foldenable'.


== Refactoring ==

Extract to new function:
    Select the part of code you want to extract (or point something that
    can be extracted) and press <Alt-r>e. You will be prompted to put the name
    of new function. After that you can Preview, Confirm or Cancel this
    refactoring. (Note: Preview is not currently supported).

Rename variable/function/module:
    Point on variable/function that name should be changed and press:
        <Alt-r>f for function
        <Alt-r>v for variable
    rename. To rename module, press <Alt-r>m anywere in the buffer.

Tuple function arguments:
    Select or point on function arguments that should be changed into one tuple and press
    <Alt-r>t.


== Settings ==

You can set various variables in your vimrc file to make the plugin behave
differently.

Syntax options:
The options expect a 0 value for disabling and a non-zero (e.g. 1) for enabling.

* Highlight all Erlang bifs as keywords: (default: 0)
	g:erlangHighlightBif 

Folding options:
The option expects a 0 value for disabling and a non-zero (e.g. 1) for enabling.

* Splitting functions if a new function head appears: (default: 0)
	g:erlangFoldSplitFunction

Completion options:
The options expect a string with the path and an integer value like before.

* Set the location of the Erlang man pages: (default: "/usr/lib/erlang/man")
	g:erlangManPath
* Enable/disable using Erlang man pages in the code completion: (default: 1)
	g:erlangCompletionDisplayDoc

More completion options:
The options expect a string as below is explained.

* Set the `grep' command to be use when scanning the man pages: (default: "grep")
	g:erlangCompletionGrep
* Set the suffix of the man page names: (default: "")
	g:erlangManSuffix

	- On Ubuntu, Erlang man pages are placed like this:
		/ERLANG/PATH/man/man3/lists.3erl.gz

		** So, you must set:
			let g:erlangCompletionGrep='zgrep'
			let g:erlangManSuffix='erl\.gz'

	- In another systems, Erlang man pages are placed like this:
		/ERLANG/PATH/man/man3/lists.3

		** In this case, use the default options value **

Compiler options:
The options expect a string with the path and an integer value like before.

* Set the location of the `erlang_check_file.erl' script: (default: "~/.vim/compiler/erlang_check_file.erl")
        g:erlangCheckFile
* Enable/disable highlighting erlang errors: (default 1)
        g:erlangHighlightErrors

	- This option makes try to compile the current file each time it is saved
	  highlighting the errors.

Refactoring options:
The option expects a string with the path.

* Set the location of the Wrangler tool: (default: "/usr/share/wrangler/")
        g:erlangWranglerPath

vimerl's People

Contributors

jimenezrick avatar oscarh avatar ktt avatar jadahl avatar spearalot avatar aszlig avatar

Stargazers

 avatar

Watchers

 avatar James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.