elixir
iex
iex stands for Interactive Elixir. It’s an interactive REPL for Elixir.
iex -S mix phx.server
ifor inspecth hfor helpr MyModulefor recompilev(-1)for last valuerespawnrestart but keep history
Attach to Remote iex
Remote:
iex --name server@hostname --cookie secret -S mix
Local:
iex --name client@hostname --cookie secret --remsh server@hostname
Connect to Remote Node
iex --name client@hostname --cookie secret
Node.connect(:"server@hostname")
:rpc.call(:"server@hostname", IO, :puts, ["Hello!"])
Emacs Setup
(use-package elixir-mode
:ensure t)
;; Alchemist - for mix, compile, testing integration
(use-package alchemist
:ensure t
:hook (elixir-mode . alchemist-mode))
(use-package lsp-mode
:ensure t
:hook ((elixir-mode . lsp))
:commands lsp
:custom
(lsp-elixir-mix-env "dev")
(lsp-elixir-server-command '("~/.elixir-ls/release/language_server.sh")))
(use-package lsp-ui
:ensure t)
(use-package company
:ensure t
:config (global-company-mode))
Setup LSP
git clone https://github.com/elixir-lsp/elixir-ls.git ~/.elixir-ls
cd ~/.elixir-ls
mix deps.get && mix compile
mix elixir_ls.release2 -o release