Plugin for working with Mix projects and Elixir files.
Some functionality, like text objects, depend on elixir.vim.
af/if- A function/macro definitionaF- Likeafbut include all heads, docs, annotations,attrandslotdeclarations, and even matchingdo_-prefixed heads (iFexists for convenience but is identical toif).ad/id- Any macro with adoblock, likeif,cond, etc. It even works onfnblocks, user-defined macros, and even keyword syntax.aD- Likeadbut include any assignment and/or attached comments (iDexists for convenience but is identical toid).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.-is added to'iskeyword'when in embedded HEEx/Surface.- matchit works in embedded HEEx/Surface templates.
- Automatically sets
:compilerif 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.
:Mixruns a mix command with autocomplete.:Depsdoesn't just wrapMix depsbut adds functionality like dynamically adding packages under your cursor (:Deps add floki, for example) or jumping to yourdepsfunction no matter what you've called it (:Depswith no args).:Genis a unified command for runninggentasks (with autocomplete!), eg::Gen migration add_name_to_users:Gen live Accounts User users name:string age:integer
:IExstarts a:termwindow running iex.- Give a range or in visual mode, load the selected lines into a new
:termsession. 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_regionsfor you so it will work with your cursor inside~Hor~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
endafter hitting<cr>in insert mode (or just use copilot, I guess).
Distributed under the same terms as Vim itself. See :help license.