"What does Art Vandelay import?"
A Neovim plugin to automatically expand multiline imports.
- Language-aware import expansion
- Always emits trailing commas
- Lua-native, zero dependencies
- Fully configurable
- Easy to extend for more languages
- JavaScript / TypeScript (
import {}blocks) - Rust (
use {}blocks)
{
'ducks/nvim-vandelay',
config = function()
require('vandelay').setup({
alphabetize = true, -- alphabetize module imports
threshold = 2, -- min items to multiline
})
end
}
Use a keybinding:
vim.keymap.set('n', '<leader>mi', function()
require('vandelay').format_current_line()
end, { noremap = true, silent = true })
This plugin applies opinionated import formatting. If you have 2 or more imports in a block, it will always expand to multiline.
Start with this:
import { foo, bar, baz, qux } from './utils';
And get this:
import {
foo,
bar,
baz,
qux
} from './utils';
Same for Rust:
use std::{fs, io, path};
becomes:
use std::{
fs,
io,
path,
};
nvim --headless -c 'PlenaryBustedDirectory tests/ --minimal_init=tests/minimal_init.lua'
- [] Add more languages
- [] Treesitter integration
- [] Configurable width & indentation
MIT