This is a language server that adds Symfony integration in Neovim. It is the missing Vim / Neovim Symfony plugin. (totally added that for SEO reasons)
If you find a bug or want a feature, you can create an issue or a PR. I’ll probably take a look at it. We finally have several autocomplete features working in Vimfony!
gdTwig templates with @Bundle supportgdTwig functionsgdclass from within yaml / xml filesgdservice definitions for example @service_container- Autocomplete service names (works in yaml, xml and autoconfigure php attributes)
- Autocomplete Twig functions
- Autocomplete Twig variables
- Autocomplete route names and parameters in Twig files and PHP files
These features are not yet implemented but would be useful: (feel free to create a PR if you want to contribute)
- Autocomplete form options
gdTwig components- Version checker & updater (
vimfony update)
You can get these features if you build from source:
- Support for Composer’s autoload_classmap for more complete autoloading
- Support for multiple xml files in container_xml_path, for example in Sulu projects
- Autocomplete Twig files: works in php, twig and yaml (if the key is equal to ‘template’)
gdroutes
You can download a release for your OS and CPU or build from source:
git clone https://github.com/shinyvision/vimfony.git
cd vimfony
go buildAnd then move the vimfony binary to somewhere in your $PATH
Configure LSP (Neovim):
local git_root = vim.fs.root(0, ".git")
if git_root ~= nil then
vim.lsp.config('vimfony', {
cmd = { "vimfony" },
filetypes = { "php", "twig", "yaml", "xml" }, -- You can remove file types if you don't like it, but then it won't work in those files
root_markers = { ".git" },
single_file_support = true,
init_options = {
roots = { "templates" },
container_xml_path = (git_root .. "/var/cache/dev/App_KernelDevDebugContainer.xml"),
vendor_dir = git_root .. "/vendor",
-- Optional:
-- php_path = "/usr/bin/php",
},
})
vim.lsp.enable('vimfony')
endIf you use this project and like what it does, then please give it a star on Github.
PS. I highly recommend purchasing a license for Intelephense. It’s worth your 25 bucks.
I have no idea if this works for VSCode. I have never used VSCode, but I’ve heard it uses language servers in the same way as Neovim. Maybe it’ll work, maybe it won’t.
