Reputation: 141
I am unable to load config when using require. Form below you can see that I added 2 files under the lua
directory
I am tried loading both via
-- Bufferline
use {
"akinsho/bufferline.nvim",
tag = "v3.*",
requires = 'nvim-tree/nvim-web-devicons',
config = [[require("bufferline")]]
-- config = [[require("plugins/bufferline")]]
} -- buffer list with icons
And both failed to load the config
changes. But adding the config inline in the plugins.lua
the config shows up when restring.
Please check below for my files
lua directory structure
> tree
├── bufferline.lua
├── colorscheme.lua
├── keymaps.lua
├── options.lua
├── plugins
│ └── bufferline.lua
├── plugins.lua
init.lua
require "options"
require "keymaps"
require "plugins"
require "colorscheme"
plugins.lua
--
-- Automatically install packer
local install_path = fn.stdpath "data" .. "/site/pack/packer/start/packer.nvim"
if fn.empty(fn.glob(install_path)) > 0 then
PACKER_BOOTSTRAP = fn.system {
"git",
"clone",
"--depth",
"1",
"https://github.com/wbthomason/packer.nvim",
install_path,
}
print "Installing packer close and reopen Neovim..."
vim.cmd [[packadd packer.nvim]]
end
-- Autocommand that reloads neovim whenever you save the plugins.lua file
vim.cmd [[
augroup packer_user_config
autocmd!
autocmd BufWritePost plugins.lua source <afile> | PackerSync
augroup end
]]
-- Use a protected call so we don't error out on first use
local status_ok, packer = pcall(require, "packer")
if not status_ok then
return
end
-- Have packer use a popup window
packer.init {
display = {
open_fn = function()
return require("packer.util").float { border = "rounded" }
end,
},
}
-- Install your plugins here
return packer.startup(function(use)
use "wbthomason/packer.nvim" -- Have packer manage itself
use "nvim-lua/popup.nvim" -- An implementation of the Popup API from vim in Neovim
use "nvim-lua/plenary.nvim" -- Useful lua functions used ny lots of plugins
-- Bufferline
use {
"akinsho/bufferline.nvim",
tag = "v3.*",
requires = 'nvim-tree/nvim-web-devicons',
config = [[require("bufferline")]]
-- config = [[require("plugins/bufferline")]]
} -- buffer list with icons
-- require("bufferline").setup{
-- options = {
-- numbers = "buffer_id",
-- always_show_bufferline = true,
-- separator_style = "thin"
-- }
-- }
use "christoomey/vim-tmux-navigator" -- navigate between tmux and nvim
--
-- Automatically set up your configuration after cloning packer.nvim
-- Put this at the end after all plugins
if PACKER_BOOTSTRAP then
require("packer").sync()
end
end)
Upvotes: 0
Views: 1209
Reputation: 1299
I think the general problem here is, that you're using the double brackets for the config =
option:
config = [[require("bufferline")]]
As far as I know (my lua skills aren't that great) those double brackets ([[
) are used to create a raw string in lua, so you're basically giving config
a string which, I assume, vim tries to execute it as vimscript-code.
A solution for that is simply stick to lua and convert your config =
line to the following:
config = function() require("bufferline") end,
so in total in should look like this:
-- Bufferline
use {
"akinsho/bufferline.nvim",
tag = "v3.*",
requires = 'nvim-tree/nvim-web-devicons',
config = function() require("bufferline") end,
} -- buffer list with icons
You may also need to rename your bufferline.lua
file because the module-name of the plugin already uses the name bufferline
so require("bufferline")
will actually get the module but not your bufferline.lua
!
Upvotes: 0