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 = { [""] = actions.cycle_history_next, [""] = actions.cycle_history_prev, [""] = 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 = { [''] = cmp.mapping.scroll_docs(-4), [''] = cmp.mapping.scroll_docs(4), [''] = cmp.mapping.complete(), [''] = cmp.mapping.close(), [''] = cmp.mapping.confirm({ select = true }), [''] = 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)