Plugin for working with Mix projects and Elixir files.
Some functionality, like text objects, depend on elixir.vim.
ad
/id
- Any macro with ado
block. Works on user-defined macros as well as keyword syntax.aD
- Likead
but include any assignment and/or attached comments (iD
exists for convenience but is identical toid
).af
/if
- A function/macro definitionaF
- Likeaf
but include all heads, docs, annotations,attr
andslot
declarations, and even matchingdo_
-prefixed heads (iF
exists for convenience but is identical toif
).iS
/aS
- A sigilim
/am
- A map or structiM
/aM
- A moduleic
/ac
- A comment or documentation
'commentstring'
is dynamically set in embedded HEEx/Surface.- matchit works in embedded HEEx/Surface templates.
- Automatically sets
:compiler
if the appropriate plugin is found. - [experimental] Remaps
ctrl-]
in templates that will jump to a phx-hook definition (it's pretty smart about it) or event handlers on otherphx-
attributes. Unfortunately this has a dependency on git-grep atm.
:Mix
runs a mix command with autocomplete.:Deps
doesn't just wrapMix deps
but adds functionality like dynamically adding packages under your cursor (:Deps add floki
, for example) or jumping to yourdeps
function no matter what you've called it (:Deps
with no args).:Gen
is a unified command for runninggen
tasks (with autocomplete!), eg::Gen migration add_name_to_users
:Gen live Accounts User users name:string age:integer
:IEx
starts a:term
window running iex.- Give a range or in visual mode, load the selected lines into a new
:term
session. This "connects" the two, updating the terminal with any changes to the selected region.
- Give a range or in visual mode, load the selected lines into a new
See :help mixer
for more details!
-
Auto-close HTML tags. Mixer is aware of this plugin and will extend
g:closetag_regions
for you so it will work with your cursor inside~H
or~F
. Due to the way closetag is implemented, you must configure the appropriate filetypes on your own. -
Among other things, it lets you pipe and unpipe args.
-
Auto-adds
end
after hitting<cr>
in insert mode (or just use copilot, I guess).
Distributed under the same terms as Vim itself. See :help license
.