aboutsummaryrefslogtreecommitdiffstats
path: root/lib/tools/emacs/erlang.el
AgeCommit message (Collapse)Author
2017-04-25erts: Add erlang:list_to_port/1 debug bifLukas Larsson
2017-04-25erts: Auto-import port_to_list for consistencyLukas Larsson
Follow the same pattern as pid_to_list
2017-04-21erts: Polish off erlang:list_to_ref/1Lukas Larsson
2017-04-17Remove a bunch of redundant feature and function checksBozhidar Batsov
All of those are present on the target Emacs 24.1.
2017-04-17Drop the redundant erlang-uncomment-region commandBozhidar Batsov
2017-04-16Drop some legacy compatibility codeBozhidar Batsov
This commit removes some compatibility for old GNU Emacs releases and XEmacs. erlang-mode didn't really work on them for a while now, so this is just a cleanup, nothing actually changes. It's part of the ongoing effort to clean up and modernize the codebase of erlang-mode.
2017-02-08Emacs: Consider arity when jumping to definitionsJohan Claesson
Only the xref front-end introduced in Emacs 25 consider arity. It is not implemented for older emacsen. Look for manual page files in lib/erlang/man in erlang-root-dir. Also do not give up in erlang-man-module when not finding the manual page file. Call manual-entry as a fallback. Do not bother to populate menu-bar with man pages when menu-bar-mode is nil. Add erlang extensions also to dired-omit-extensions. Remove some support for Emacs 18 and 19.
2017-02-08Fix a command's nameBozhidar Batsov
2017-02-08Set erlang-mode's encoding to utf-8Bozhidar Batsov
2017-02-08Remove redundant wrappers around Emacs version constantsBozhidar Batsov
2017-02-08Convert some defvars to defcustoms and fix some docstringsBozhidar Batsov
2017-02-08Remove some unneeded backward compatibility codeBozhidar Batsov
2017-02-08Remove redundant erlang-interactive-pBozhidar Batsov
2017-02-08Remove redundant function prog-modeBozhidar Batsov
2017-02-08Remove redundant function erlang-string-to-intBozhidar Batsov
2017-02-08Require Emacs 24.1 in erlang-modeBozhidar Batsov
2017-02-08Fix some whitespace in erlang-modeBozhidar Batsov
2016-11-28Merge branch 'maint'Dan Gudmundsson
* maint: Add an option erlang-icr-indent
2016-11-19Add an option erlang-icr-indentVictor Ren
The option makes it possible to customize the indention of if/case/recieve patterns. Before the change, the indentation of 'if' patterns is 3 steps and 'case' patterns is 4 steps. It cannot be changed alone. Some people prefer other styles, for example, zero indentation. case a of true -> do_something(); false -> do_something_else() end. This patch just adds an option `erlang-icr-indent'. Its default value is `nil' which means keeping the legacy behavior. When non-nil, the pattens of if/case/receive are indented according to `erlang-icr-indent'. "(setq erlang-icr-indent 0)" will keep if/case/receive at the same column of the sub-clauses. Change-Id: I10c32e42dbf69cbe187f55223b9aa7824853e493
2016-11-08Merge branch 'maint'Dan Gudmundsson
* maint: New commands to ease looking up OTP documentation
2016-10-25New commands to ease looking up OTP documentationLeo Liu
- erldoc-browse: open the manual entry for an MFA in the browser - erldoc-apropos: list MFAs containing a substring - erldoc-browse-topic: open user guides in the browser
2016-10-24Merge branch 'maint'Dan Gudmundsson
* maint: Fix whitespace setting in test files Avoid some error reports when stopping mnesia wx: Improve error handling Fix all whitespace-related issues in erlang.el mnesia: Fix double blocked tables which could cause a crash wx: Add wxWindow:getContentScaleFactor
2016-10-11Fix all whitespace-related issues in erlang.elBozhidar Batsov
Having a consistent whitespace usage in the source makes it easier for future contributors to send patches. This commit does the following: * Replace tabs with spaces * Kill trailing whitespace * Disable indent-tabs-mode for erlang.el to prevent tabs from creeping in
2016-10-07Merge branch 'maint'Dan Gudmundsson
* maint: New file erlang-edoc.el to support EDoc in erlang-mode Allow reusing mnesia select continuations Fix guard test for chardata
2016-10-07Merge branch 'dgud/tools/emacs/edoc-support/PR-1195/OTP-13945' into maintDan Gudmundsson
* dgud/tools/emacs/edoc-support/PR-1195/OTP-13945: New file erlang-edoc.el to support EDoc in erlang-mode
2016-10-06New file erlang-edoc.el to support EDoc in erlang-modeLeo Liu
- EDoc markup font-locking and tag completion - EDoc comment indentation
2016-10-05Merge branch 'maint'Dan Gudmundsson
* maint: erlang-mode: do not configure require-final-newline
2016-10-05Merge branch 'dgud/emacs/do-not-require-final-newline/PR-1130' into maintDan Gudmundsson
* dgud/emacs/do-not-require-final-newline/PR-1130: erlang-mode: do not configure require-final-newline
2016-09-05Implement the new ceil/1 and floor/1 guard BIFsBjörn Gustavsson
Implement as ceil/1 and floor/1 as new guard BIFs (essentially part of Erlang language). They are guard BIFs because trunc/1 is a guard BIF. It would be strange to have trunc/1 as a part of the language, but not ceil/1 and floor/1.
2016-08-31Emacs: extend support for compile optionsJohan Claesson
The syntax was limited to atoms, strings and 2-tuples. This covers most compile options but not for example {d,Macro,Value}. Add support for N-tuples and lists. Add a related unit test case.
2016-08-31Function instead of lambda in adviceJohan Claesson
Lambda advice cannot easily be updated.
2016-08-31Enable tag completion in emacs erlang shellJohan Claesson
Completion in erlang shell buffer only works in Emacs 25. Minor cleanup of completion stuff. Add test-case for completion at point. Avoid inf-loop in erlang-end-of-clause when buffer starts with whitespace.
2016-07-15erlang-mode: do not configure require-final-newlineTuncer Ayaz
Erlang source files do not require a final newline. Thus, require-final-newline is a personal setting and should not be configured in the major mode. Setting it here will also negatively impact helpers like ethan-wspace.
2016-06-14Tag completion in Emacs 25Johan Claesson
Adapt tag completion for changes in Emacs 25. Stop storing module:tag entries in the completion table for definitions in hrl-files. These entries make no sense since hrl-files are not modules. Add test-case for tag completion in erlang-test.el. Ensure prog-mode is defined for the sake of Emacs 23 and XEmacs.
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-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-02-25Add has_prepared_code_on_load/1 BIFBjö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-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-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-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.