diff --git a/modules/lang/erlang/README.org b/modules/lang/erlang/README.org new file mode 100644 index 000000000..b5b540c97 --- /dev/null +++ b/modules/lang/erlang/README.org @@ -0,0 +1,39 @@ +#+TITLE: lang/erlang +#+DATE: January 14, 2020 +#+SINCE: {replace with next tagged release version} +#+STARTUP: inlineimages nofold + +* Table of Contents :TOC_3:noexport: +- [[#description][Description]] + - [[#maintainers][Maintainers]] + - [[#module-flags][Module Flags]] + - [[#plugins][Plugins]] +- [[#prerequisites][Prerequisites]] +- [[#features][Features]] + +* Description + +This module provides support [[https://www.erlang.org/][Erlang programming language]]. Support for the +[[https://github.com/erlang/sourcer][sourcer]] language server is optional. + +** Maintainers +This module has no dedicated maintainers. + +** Module Flags ++ ~+lsp~ Enable LSP Support. Requires [[https://github.com/erlang/sourcer][sourcer]]. + + +** Plugins ++ Erlang Mode (bundled with Erlang installations) ++ [[https://github.com/joedevivo/flycheck-rebar3][flycheck-rebar3]] ++ [[https://github.com/s-kostyaev/ivy-erlang-complete][ivy-erlang-complete]] + +* Prerequisites +You should have Erlang installed. Check your distribution's package manager or a +version management tool such as [[https://github.com/kerl/kerl][kerl]]. + +If you want LSP support, install [[https://github.com/erlang/sourcer][sourcer]]. + +* Features +- Code completion (~+lsp~, ~:completion company~, and ~:completion ivy~) +- Syntax checking (~:checkers syntax~) diff --git a/modules/lang/erlang/config.el b/modules/lang/erlang/config.el index 5c6779aad..2c0773b5d 100644 --- a/modules/lang/erlang/config.el +++ b/modules/lang/erlang/config.el @@ -22,4 +22,8 @@ (use-package! company-erlang :when (featurep! :completion company) + :unless (featurep! +lsp) :hook (erlang-mode . company-erlang-init)) + +(when (featurep! +lsp) + (add-hook 'erlang-mode-local-vars-hook #'lsp!)) diff --git a/modules/lang/erlang/packages.el b/modules/lang/erlang/packages.el index a40b52568..b519fa358 100644 --- a/modules/lang/erlang/packages.el +++ b/modules/lang/erlang/packages.el @@ -6,8 +6,10 @@ (when (featurep! :checkers syntax) (package! flycheck-rebar3)) -(when (featurep! :completion ivy) +(when (and (featurep! :completion ivy) + (not (featurep! +lsp))) (package! ivy-erlang-complete)) -(when (featurep! :completion company) +(when (and (featurep! :completion company) + (not (featurep! +lsp))) (package! company-erlang))