Mess
This commit is contained in:
19
.config/nvim/lua/feline/solarized.lua
Normal file
19
.config/nvim/lua/feline/solarized.lua
Normal file
@@ -0,0 +1,19 @@
|
||||
local colors = require('solarized.colors')
|
||||
|
||||
local solarized = {
|
||||
fg = colors.fg,
|
||||
bg = colors.bg_alt,
|
||||
black = colors.black,
|
||||
skyblue = colors.paleblue,
|
||||
cyan = colors.cyan,
|
||||
green = colors.green,
|
||||
oceanblue = colors.blue,
|
||||
magenta = colors.magenta,
|
||||
orange = colors.orange,
|
||||
red = colors.red,
|
||||
violet = colors.purple,
|
||||
white = colors.white,
|
||||
yellow = colors.yellow
|
||||
}
|
||||
|
||||
return solarized
|
||||
95
.config/nvim/lua/lspconfig/settings.lua
Normal file
95
.config/nvim/lua/lspconfig/settings.lua
Normal file
@@ -0,0 +1,95 @@
|
||||
local servers = { 'pyright', 'sumneko_lua', 'eslint', 'tsserver' }
|
||||
|
||||
-- Mappings.
|
||||
-- See `:help vim.diagnostic.*` for documentation on any of the below functions
|
||||
local opts = { noremap=true, silent=true }
|
||||
vim.keymap.set('n', '<space>e', vim.diagnostic.open_float, opts)
|
||||
vim.keymap.set('n', '[d', vim.diagnostic.goto_prev, opts)
|
||||
vim.keymap.set('n', ']d', vim.diagnostic.goto_next, opts)
|
||||
vim.keymap.set('n', '<space>q', vim.diagnostic.setloclist, opts)
|
||||
|
||||
-- Use an on_attach function to only map the following keys
|
||||
-- after the language server attaches to the current buffer
|
||||
local on_attach = function(client, bufnr)
|
||||
-- Enable completion triggered by <c-x><c-o>
|
||||
vim.api.nvim_buf_set_option(bufnr, 'omnifunc', 'v:lua.vim.lsp.omnifunc')
|
||||
|
||||
-- Mappings.
|
||||
-- See `:help vim.lsp.*` for documentation on any of the below functions
|
||||
local bufopts = { noremap=true, silent=true, buffer=bufnr }
|
||||
vim.keymap.set('n', 'gD', vim.lsp.buf.declaration, bufopts)
|
||||
vim.keymap.set('n', 'gd', vim.lsp.buf.definition, bufopts)
|
||||
vim.keymap.set('n', 'K', vim.lsp.buf.hover, bufopts)
|
||||
vim.keymap.set('n', 'gi', vim.lsp.buf.implementation, bufopts)
|
||||
vim.keymap.set('n', '<C-k>', vim.lsp.buf.signature_help, bufopts)
|
||||
vim.keymap.set('n', '<space>wa', vim.lsp.buf.add_workspace_folder, bufopts)
|
||||
vim.keymap.set('n', '<space>wr', vim.lsp.buf.remove_workspace_folder, bufopts)
|
||||
vim.keymap.set('n', '<space>wl', function()
|
||||
print(vim.inspect(vim.lsp.buf.list_workspace_folders()))
|
||||
end, bufopts)
|
||||
vim.keymap.set('n', '<space>D', vim.lsp.buf.type_definition, bufopts)
|
||||
vim.keymap.set('n', '<space>rn', vim.lsp.buf.rename, bufopts)
|
||||
vim.keymap.set('n', '<space>ca', vim.lsp.buf.code_action, bufopts)
|
||||
vim.keymap.set('n', 'gr', vim.lsp.buf.references, bufopts)
|
||||
vim.keymap.set('n', '<space>f', vim.lsp.buf.formatting, bufopts)
|
||||
end
|
||||
|
||||
local capabilities = vim.lsp.protocol.make_client_capabilities()
|
||||
capabilities = require('cmp_nvim_lsp').update_capabilities(capabilities)
|
||||
|
||||
-- Use a loop to conveniently call 'setup' on multiple servers and
|
||||
-- map buffer local keybindings when the language server attaches
|
||||
for _, lsp in pairs(servers) do
|
||||
require('lspconfig')[lsp].setup {
|
||||
on_attach = on_attach,
|
||||
capabilities = capabilities,
|
||||
flags = {
|
||||
-- This will be the default in neovim 0.7+
|
||||
debounce_text_changes = 150,
|
||||
}
|
||||
}
|
||||
end
|
||||
|
||||
-- luasnip setup
|
||||
local luasnip = require 'luasnip'
|
||||
|
||||
-- nvim-cmp setup
|
||||
local cmp = require 'cmp'
|
||||
cmp.setup {
|
||||
snippet = {
|
||||
expand = function(args)
|
||||
luasnip.lsp_expand(args.body)
|
||||
end,
|
||||
},
|
||||
mapping = cmp.mapping.preset.insert({
|
||||
['<C-d>'] = cmp.mapping.scroll_docs(-4),
|
||||
['<C-f>'] = cmp.mapping.scroll_docs(4),
|
||||
['<C-Space>'] = cmp.mapping.complete(),
|
||||
['<CR>'] = cmp.mapping.confirm {
|
||||
behavior = cmp.ConfirmBehavior.Replace,
|
||||
select = true,
|
||||
},
|
||||
['<Tab>'] = cmp.mapping(function(fallback)
|
||||
if cmp.visible() then
|
||||
cmp.select_next_item()
|
||||
elseif luasnip.expand_or_jumpable() then
|
||||
luasnip.expand_or_jump()
|
||||
else
|
||||
fallback()
|
||||
end
|
||||
end, { 'i', 's' }),
|
||||
['<S-Tab>'] = cmp.mapping(function(fallback)
|
||||
if cmp.visible() then
|
||||
cmp.select_prev_item()
|
||||
elseif luasnip.jumpable(-1) then
|
||||
luasnip.jump(-1)
|
||||
else
|
||||
fallback()
|
||||
end
|
||||
end, { 'i', 's' }),
|
||||
}),
|
||||
sources = {
|
||||
{ name = 'nvim_lsp' },
|
||||
{ name = 'luasnip' },
|
||||
},
|
||||
}
|
||||
34
.config/nvim/lua/map_utils.lua
Normal file
34
.config/nvim/lua/map_utils.lua
Normal file
@@ -0,0 +1,34 @@
|
||||
local M = {}
|
||||
local module_name = 'map_utils'
|
||||
local fn_store = {}
|
||||
|
||||
local function register_fn(fn)
|
||||
table.insert(fn_store, fn)
|
||||
return #fn_store
|
||||
end
|
||||
|
||||
function M.apply_function(id)
|
||||
fn_store[id]()
|
||||
end
|
||||
|
||||
function M.apply_expr(id)
|
||||
return vim.api.nvim_replace_termcodes(fn_store[id](), true, true, true)
|
||||
end
|
||||
|
||||
function M.lua_fn(fn)
|
||||
return string.format(
|
||||
"<cmd>lua require('%s').apply_function(%s)<CR>",
|
||||
module_name,
|
||||
register_fn(fn)
|
||||
)
|
||||
end
|
||||
|
||||
function M.lua_expr(fn)
|
||||
return string.format(
|
||||
"v:lua.require'%s'.apply_expr(%s)",
|
||||
module_name,
|
||||
register_fn(fn)
|
||||
)
|
||||
end
|
||||
|
||||
return M
|
||||
54
.config/nvim/lua/plugins.lua
Normal file
54
.config/nvim/lua/plugins.lua
Normal file
@@ -0,0 +1,54 @@
|
||||
return require('packer').startup(function()
|
||||
use 'wbthomason/packer.nvim'
|
||||
|
||||
use 'nvim-lua/popup.nvim'
|
||||
|
||||
use {
|
||||
'nvim-treesitter/nvim-treesitter',
|
||||
run = ':TSUpdate'
|
||||
}
|
||||
|
||||
use {'feline-nvim/feline.nvim', requires = 'kyazdani42/nvim-web-devicons'}
|
||||
|
||||
use {
|
||||
"williamboman/nvim-lsp-installer",
|
||||
"neovim/nvim-lspconfig",
|
||||
}
|
||||
|
||||
use {
|
||||
"nvim-neo-tree/neo-tree.nvim",
|
||||
branch = "v2.x",
|
||||
requires = {
|
||||
"nvim-lua/plenary.nvim",
|
||||
"kyazdani42/nvim-web-devicons",
|
||||
"MunifTanjim/nui.nvim",
|
||||
's1n7ax/nvim-window-picker'
|
||||
}
|
||||
}
|
||||
|
||||
use 'mrjones2014/smart-splits.nvim'
|
||||
|
||||
use 'famiu/bufdelete.nvim'
|
||||
|
||||
use {'akinsho/bufferline.nvim', tag = "v2.*", requires = 'kyazdani42/nvim-web-devicons'}
|
||||
|
||||
use 'windwp/nvim-autopairs'
|
||||
|
||||
use 'lewis6991/gitsigns.nvim'
|
||||
|
||||
use 'declancm/cinnamon.nvim'
|
||||
|
||||
use 'stevearc/aerial.nvim'
|
||||
|
||||
use 'nmac427/guess-indent.nvim'
|
||||
|
||||
use {'nvim-telescope/telescope.nvim', requires = 'nvim-lua/plenary.nvim'}
|
||||
|
||||
use {
|
||||
'hrsh7th/nvim-cmp',
|
||||
'hrsh7th/cmp-nvim-lsp',
|
||||
'saadparwaiz1/cmp_luasnip',
|
||||
'L3MON4D3/LuaSnip'
|
||||
}
|
||||
|
||||
end)
|
||||
Reference in New Issue
Block a user