aboutsummaryrefslogtreecommitdiffstats
path: root/lib/tools/emacs
AgeCommit message (Collapse)Author
2016-05-23emacs: Improve default tag searchDan Gudmundsson
Add current module to non external functions calls. Also improves finding record and macro definitions.
2016-05-23Let find-tag visit definitions in right orderJohan Claesson
The right order is defined by find-tag-tag-order which is a list of predicate functions. Tags matched by the first function shall be visited first. After that tags matched by the seconds function shall be visited and so on. Previous behavior was to visit tags that match any of the functions in the order they appear in the TAGS file. Reported by Dan Gudmundsson.
2016-05-20Merge branch 'dgud/tools/emacs-xref/PR-1051'Dan Gudmundsson
* dgud/tools/emacs-xref/PR-1051: Add xref support in erlang.el Conflicts: lib/tools/emacs/erlang.el
2016-05-20Add xref support in erlang.elJohan Claesson
In GNU Emacs 25 xref will be introduced. It is a framework for cross referencing commands, in particular commands for finding definitions. It does not replace etags. It rather resides on top of it and provides user-friendly commands. The idea is that the user commands should be the same regardless of what back-end does the actual finding of definitions. Add to the xref commands awareness of the module:tag syntax in a similar way that is already done for the old etags commands. Xref completion support is not included in this commit. Remove all compilation warnings for GNU Emacs 24.5 and current 25 (4ffec91). Remove XEmacs incompatibility in erlang-font-lock-exported-function-name-face. Add file erlang-test.el with a single unit test. Add TAGS to .gitignore.
2016-05-18Fix line-initial commas' indentation in type specsDániel Szoboszlay
Inside type specs, line-initial commas shall align with open curly braces. This also applies to record definitions with type specs for the fields. For example: -type foo() :: { a :: integer() , b :: integer() }. For type specs for functions, the commas shall align with the opening parenthese. So do a closing parenthese when put on a new line. For example: -spec foo( X :: integer() , Y :: integer() ) -> integer(). This does not affect coding styles that don't put commas at the beginning of lines.
2016-04-29Merge remote-tracking branch 'erlang/pr/1006'Dan Gudmundsson
* erlang/pr/1006: Use define-derived-mode to define erlang-mode
2016-04-25Merge branch 'raimo/new-gen-state-machine/OTP-13065'Raimo Niskanen
* raimo/new-gen-state-machine/OTP-13065: (52 commits) Add section on state filtering Promote gen_statem over gen_fsm Modify code_change/4 to return CallbackMode Use ?NAME macro in examples Introduce Fred Herbert suggested additions Introduce corrections from Fred Hebert and Ingela Use .png pictures instead of .gif Write Design Principles chapter Fix missing short forms for event timeout Do more intricate Fred Hebert doc changes Change Caller -> From as suggested by Fred Hebert Do documentation improvements from Fred Hebert Fix broken documenation reference Rename state_timeout -> event_timeout Fix most of the system docs and emacs mode Change code_change/4 to {ok,State,Data} Fixup sharpened test suite Sharpen test suite Remove the remove_event action and all alike Relax caller() type check and cleanup ... Conflicts: lib/stdlib/src/gen.erl lib/stdlib/src/gen_event.erl lib/stdlib/src/gen_fsm.erl lib/stdlib/src/gen_server.erl lib/stdlib/test/error_logger_forwarder.erl
2016-04-16Use define-derived-mode to define erlang-modeMagnus Henoch
Remove some things that define-derived-mode does for us. Also, derive erlang-mode from prog-mode, so that a user that has added customizations meant for all programming language major modes will enjoy those in Erlang mode as well.
2016-03-15update copyright-yearHenrik Nord
2016-03-03Fix most of the system docs and emacs modeRaimo Niskanen
2016-02-25Add has_prepared_code_on_load/1 BIFBjörn Gustavsson
2016-02-17Erlang mode for Emacs: Include ct.hrl instead test_server.hrlBjörn Gustavsson
2015-09-15Don't add newline after arrow on -callback linesMagnus Henoch
In the Emacs Erlang mode, typing "->" will usually automatically add a newline, which is usually what you want when writing a function, but not when writing a type spec. Therefore, there is a check for not adding the newline when the current line starts with -spec or -type. This change adds -callback to that check, since it is usually written the same way as type specs.
2015-06-18Change license text to APLv2Bruce Yinhe
2015-06-16Remove void() type in documentationPeter Andersson
2015-06-09tools: Add new bifs to emacs highlighterDan Gudmundsson
2015-04-20Minor fixes to emacs erlang-modeSteve Vinoski
Fix "Unbalanced parentheses" error when indenting particular map constructs. Add new test cases for this fix. To prevent infinite looping when the programmer mistakenly enters incorrect syntax, detect cases where erlang-partial-parse fails to advance when called within a loop, and raise an "Illegal syntax" error.
2015-03-19Merge branch 'maint'Zandra Hird
2015-03-16Fix tags completion in erlang.el for GNU Emacs 23+Johan Claesson
The tag completion code was changed in GNU Emacs 23.1 in a way that broke erlang.el tag completion. This commit fix that for Emacs 23.1 and later. Add progress report while building completion table. Add completion of module_info/0 for all modules. Add lib/tools/emacs/*.elc to .gitignore.
2014-11-06Merge branch 'siri/sup-spec-maps/OTP-11043'Siri Hansen
* siri/sup-spec-maps/OTP-11043: Update emacs skeleton for supervisor to use maps Update dialyzer test with maps in supervisor properties Add documentation of maps in supervisor flags and child specs Add test of maps in supervisor flags and child specs New function supervisor:get_childspec/2 Allow maps for supervisor flags and child specs Rebase supervisor Add more tests of supervisor
2014-11-06Update emacs skeleton for supervisor to use mapsSiri Hansen
The example in the skeleton now uses maps instead of the old tuple format for supservisor flags and child specifications.
2014-11-04Merge branch 'davidw/add-spec-skel' into maintBruce Yinhe
OTP-12283 * davidw/add-spec-skel: Removed extra space following paren First attempt at adding a skel for -spec's
2014-11-03Removed extra space following parenDavid N. Welton
2014-10-09Add wx_object as emacs skeletonOlle Mattsson
2014-10-06First attempt at adding a skel for -spec'sDavid N. Welton
New skel adds a -spec for the function after point.
2014-10-02Merge branch 'goofansu/fix-gen-event-comment' into maintBruce Yinhe
OTP-12214 * goofansu/fix-gen-event-comment: Fix typo in erlang-mode comment
2014-09-10Fix typo in erlang-mode commentgoofansu
2014-09-09Add new bif to emacs modeDan Gudmundsson
2014-06-05Remove invalid 'bitstr' exports in erlang.erlRickard Green
The dummy BIF exports 'erlang:bitstr_to_list/1' and 'erlang:list_to_bitstr/1' seem to have appeared as a result of a copy-paste error and are now removed.
2014-03-19Merge branch 'technomancy/emacs-autoload'Henrik Nord
* technomancy/emacs-autoload: Activate Emacs erlang-mode for .app files inside ebin directory. Add more file types to Emacs auto-mode-alist. Add Emacs autoloads for .erl and .app.src. OTP-11788
2014-03-13Activate Emacs erlang-mode for .app files inside ebin directory.Phil Hagelberg
2014-03-13Add more file types to Emacs auto-mode-alist.Phil Hagelberg
2014-03-13Add Emacs autoloads for .erl and .app.src.Phil Hagelberg
2014-03-04match erlang keywords more carefullySteve Vinoski
Use word boundaries in some regex matching to avoid recognizing words that begin with keywords as keywords themselves, for example avoid recognizing a function named catcher as the catch keyword. Add a regression test for this problem.
2014-02-06tools: Update emacs mode with map highlightsLukas Larsson
2014-01-22Merge remote-tracking branch 'vinoski/vinoski/emacs-skel-indent' into ↵Dan Gudmundsson
vinoski/emacs-fixes
2014-01-22Merge remote-tracking branch 'vinoski/vinoski/emacs-sexp-error' into ↵Dan Gudmundsson
vinoski/emacs-fixes
2014-01-22Merge remote-tracking branch 'vinoski/vinoski/emacs-fun-arity' into ↵Dan Gudmundsson
vinoski/emacs-fixes
2014-01-22Merge remote-tracking branch 'vinoski/vinoski/emacs-error-fixes' into ↵Dan Gudmundsson
vinoski/emacs-fixes
2014-01-16fix emacs erlang skeleton indentationSteve Vinoski
When inserting skeletons in emacs, some Erlang language elements such as case, receive, and if statements, are not indented properly. This patch, written by Leo Liu, corrects the indentation problems.
2014-01-10fix indentation error from scan-sexp in erlang.elSteve Vinoski
Fix an indentation error being returned by scan-sexp, and add a new indentation test case for the error.
2014-01-10Remove support for query keyword from emacs modePaul Oliver
2014-01-07prevent errors from erlang.elSteve Vinoski
In erlang.el, add a line to evaluate the cl package at compile time so that the use of the block macro (such as on line 3750), which is an alias for cl-block, is evaluated correctly when erlang.el is compiled. Also modify comparisons against (point) in functions erlang-electric-lt and erlang-after-bitsyntax-close so that typing the characters '<' and '>' (without the quotes) at the beginning of a buffer does not cause errors. Thanks to user leo2007 in the #erlang channel on IRC for reporting these problems and providing fixes.
2013-12-20fix erlang-mode erlang-get-function-aritySteve Vinoski
In the emacs erlang-mode the function erlang-get-function-arity failed to return a correct arity value for functions with literal binaries as parameters, for example: function(<<Bin:20/binary>>) -> Bin. Fix erlang-get-function-arity to recognize binary parameters correctly.
2013-12-12Support EEP37 named funs in emacs erlang-modeSteve Vinoski
Change emacs erlang-mode to recognize EEP37 named funs so they're indented properly. Specifically, modify erlang-partial-parse to allow for an optional Erlang variable name to appear between the "fun" keyword and the opening parenthesis of its argument list.
2013-10-25Merge branch 'puzza007/emacs_iodata_nonempty_string_builtin_types/OTP-11394' ↵Fredrik Gustafsson
into maint * puzza007/emacs_iodata_nonempty_string_builtin_types/OTP-11394: Add iodata, nonempty_string to built-in type highlighting for emacs
2013-10-22tools: Add Erlang-specific compilation error regexp for erlang-eunitFredrik Gustafsson
This defvar was removed in a87a9699735b0a25f99397fba9576f5756da54d3 which made eunit fail on running tests in emacs.
2013-10-10Add iodata, nonempty_string to built-in type highlighting for emacsPaul Oliver
These built-in types were missing from emacs highlighting
2013-09-12Remove ^L characters hidden randomly in the code. Not those used in text ↵Pierre Fenoll
files as delimiters. While working on a tool that processes Erlang code and testing it against this repo, I found out about those little sneaky 0xff. I thought it may be of help to other people build such tools to remove non-conforming-to-standard characters.
2013-08-27tools:Fredrik Gustafsson
In Emacs it is possible to remotely edit a file, by opening for example /ssh:somehost.com:/path/to/file.erl. In Emacs, the feature that makes this possible, is called TRAMP. When compiling such a file, by typing C-c C-k, an inferior Erlang shell is opened on the remote host, but the compilation expression that was evaluated in the remote Erlang shell was: c("/ssh:somehost.com:/path/to/file", [...]). which resulted in a "no such file or directory" error. This commit changes the compilation expression into: c("/path/to/file", [...]). for files opened remotely via TRAMP. The file name is adjusted similarly when compiling .yrl and .xrl files. In a buffer opened remotely, the Elisp function buffer-file-name returns the full path with TRAMP syntax. In this example it would be "/ssh:somehost.com:/path/to/file.erl". A new function, erlang-local-buffer-file-name, has been introduced, which peels off the TRAMP syntax on remotely opened files, while for locally opened files, it just calls buffer-file-name.