1
0
Fork 0
nvim-configs/lua/plugins.lua

183 lines
4.8 KiB
Lua

local fn = vim.fn
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})
-- TODO: Add in downloading of sqlite dll for Windows, here.
end
lsp_client_capabilities = vim.lsp.protocol.make_client_capabilities()
return require('packer').startup(function(use)
use 'wbthomason/packer.nvim'
use 'dracula/vim'
use 'kyazdani42/nvim-web-devicons'
use {
'kyazdani42/nvim-tree.lua',
requires = 'kyazdani42/nvim-web-devicons',
config = function()
require('nvim-tree').setup {}
end
}
use 'bryanmylee/vim-colorscheme-icons'
use {
'akinsho/bufferline.nvim',
config = function()
require('bufferline').setup {
options = {
separator_style = 'slant'
}
}
end
}
use {
'NTBBloodbath/galaxyline.nvim',
config = function()
require('galaxyline.themes.minimalist')
end,
requires = { 'kyazdani42/nvim-web-devicons', opt = true }
}
use {
'tami5/sqlite.lua',
config = function()
if vim.fn.has('win32') then
-- FIXME need to download the sqlite3.dll from sqlite.org and place in config folder
vim.g.sqlite_clib_path = vim.fn.stdpath('config') .. '/sqlite3.dll'
end
end
}
use {
'nvim-telescope/telescope.nvim',
requires = { 'nvim-lua/plenary.nvim', 'nvim-telescope/telescope-smart-history.nvim' },
config = function()
local tele = require('telescope')
local actions = require('telescope.actions');
local actions_generate = require('telescope.actions.generate');
tele.setup{
defaults = {
prompt_prefix = "",
selection_caret = "",
mappings = {
i = {
["<C-Down>"] = actions.cycle_history_next,
["<C-Up>"] = actions.cycle_history_prev,
["<C-?>"] = actions_generate.which_key {
name_width = 22,
max_height = .05,
mode_width = 0,
separator = '',
column_indent = 1,
line_padding = 0
}
},
n = {
["?"] = actions_generate.which_key {
name_width = 22,
max_height = .05,
mode_width = 0,
separator = '',
column_indent = 1,
line_padding = 0,
}
}
},
history = {
path = vim.fn.stdpath('data') .. '/databases/telescope_history.sqlite3',
limit = 100,
},
layout_config = {
horizontal = {
width = 0.95,
height = 0.95,
},
vertical = {
width = 0.95,
height = 0.95,
}
}
}
}
tele.load_extension('smart_history')
end,
}
use {
'nvim-telescope/telescope-smart-history.nvim',
requires = { 'tami5/sqlite.lua' },
}
use 'habamax/vim-godot'
use 'skywind3000/asyncrun.vim'
use 'lervag/wiki.vim'
use 'valloric/listtoggle'
use {
'neovim/nvim-lspconfig',
config = function()
require('lspconfig').gdscript.setup{
capabilities = lsp_client_capabilities
}
end,
requires = { 'hrsh7th/cmp-nvim-lsp' }
}
use {
'hrsh7th/cmp-nvim-lsp',
config = function()
lsp_client_capabilities = require('cmp_nvim_lsp').update_capabilities(lsp_client_capabilities)
end
}
use 'hrsh7th/cmp-nvim-lua'
use 'hrsh7th/cmp-emoji'
use 'hrsh7th/cmp-path'
use 'hrsh7th/cmp-buffer'
use {
'hrsh7th/nvim-cmp',
config = function()
local cmp = require 'cmp'
cmp.setup({
mapping = {
['<C-d>'] = cmp.mapping.scroll_docs(-4),
['<C-f>'] = cmp.mapping.scroll_docs(4),
['<C-Space>'] = cmp.mapping.complete(),
['<C-e>'] = cmp.mapping.close(),
['<CR>'] = cmp.mapping.confirm({ select = true }),
['<TAB>'] = cmp.mapping.confirm({ select = true })
},
sources = {
{ name = 'nvim_lsp' },
{ name = 'buffer' },
{ name = 'emoji' },
{ name = 'path' },
{ name = 'nvim_lua' },
},
experimental = {
ghost_text = true
}
})
end
}
use {
'nvim-treesitter/nvim-treesitter',
run = function()
vim.cmd(':TSUpdate')
end,
config = function()
require 'nvim-treesitter.install'.compilers = { 'cl', 'clang' }
end
}
use {
'onsails/lspkind-nvim',
config = function()
require('lspkind').init{}
end
}
use 'lepture/vim-jinja'
use {
'neoclide/coc.nvim',
branch = 'release'
}
use 'editorconfig/editorconfig-vim'
end)