Compare commits
1 Commits
master
...
17-project
Author | SHA1 | Date |
---|---|---|
christianchiarulli | 60c29a60a3 | 3 years ago |
@ -1,4 +0,0 @@
|
|||||||
# These are supported funding model platforms
|
|
||||||
|
|
||||||
github: christianchiarulli
|
|
||||||
patreon: chrisatmachine
|
|
@ -1,42 +0,0 @@
|
|||||||
local status_ok, alpha = pcall(require, "alpha")
|
|
||||||
if not status_ok then
|
|
||||||
return
|
|
||||||
end
|
|
||||||
|
|
||||||
local dashboard = require("alpha.themes.dashboard")
|
|
||||||
dashboard.section.header.val = {
|
|
||||||
[[ __ ]],
|
|
||||||
[[ ___ ___ ___ __ __ /\_\ ___ ___ ]],
|
|
||||||
[[ / _ `\ / __`\ / __`\/\ \/\ \\/\ \ / __` __`\ ]],
|
|
||||||
[[/\ \/\ \/\ __//\ \_\ \ \ \_/ |\ \ \/\ \/\ \/\ \ ]],
|
|
||||||
[[\ \_\ \_\ \____\ \____/\ \___/ \ \_\ \_\ \_\ \_\]],
|
|
||||||
[[ \/_/\/_/\/____/\/___/ \/__/ \/_/\/_/\/_/\/_/]],
|
|
||||||
}
|
|
||||||
dashboard.section.buttons.val = {
|
|
||||||
dashboard.button("f", " Find file", ":Telescope find_files <CR>"),
|
|
||||||
dashboard.button("e", " New file", ":ene <BAR> startinsert <CR>"),
|
|
||||||
dashboard.button("p", " Find project", ":Telescope projects <CR>"),
|
|
||||||
dashboard.button("r", " Recently used files", ":Telescope oldfiles <CR>"),
|
|
||||||
dashboard.button("t", " Find text", ":Telescope live_grep <CR>"),
|
|
||||||
dashboard.button("c", " Configuration", ":e ~/.config/nvim/init.lua <CR>"),
|
|
||||||
dashboard.button("q", " Quit Neovim", ":qa<CR>"),
|
|
||||||
}
|
|
||||||
|
|
||||||
local function footer()
|
|
||||||
-- NOTE: requires the fortune-mod package to work
|
|
||||||
-- local handle = io.popen("fortune")
|
|
||||||
-- local fortune = handle:read("*a")
|
|
||||||
-- handle:close()
|
|
||||||
-- return fortune
|
|
||||||
return "chrisatmachine.com"
|
|
||||||
end
|
|
||||||
|
|
||||||
dashboard.section.footer.val = footer()
|
|
||||||
|
|
||||||
dashboard.section.footer.opts.hl = "Type"
|
|
||||||
dashboard.section.header.opts.hl = "Include"
|
|
||||||
dashboard.section.buttons.opts.hl = "Keyword"
|
|
||||||
|
|
||||||
dashboard.opts.opts.noautocmd = true
|
|
||||||
-- vim.cmd([[autocmd User AlphaReady echo 'ready']])
|
|
||||||
alpha.setup(dashboard.opts)
|
|
@ -1,37 +0,0 @@
|
|||||||
vim.cmd [[
|
|
||||||
augroup _general_settings
|
|
||||||
autocmd!
|
|
||||||
autocmd FileType qf,help,man,lspinfo nnoremap <silent> <buffer> q :close<CR>
|
|
||||||
autocmd TextYankPost * silent!lua require('vim.highlight').on_yank({higroup = 'Visual', timeout = 200})
|
|
||||||
autocmd BufWinEnter * :set formatoptions-=cro
|
|
||||||
autocmd FileType qf set nobuflisted
|
|
||||||
augroup end
|
|
||||||
|
|
||||||
augroup _git
|
|
||||||
autocmd!
|
|
||||||
autocmd FileType gitcommit setlocal wrap
|
|
||||||
autocmd FileType gitcommit setlocal spell
|
|
||||||
augroup end
|
|
||||||
|
|
||||||
augroup _markdown
|
|
||||||
autocmd!
|
|
||||||
autocmd FileType markdown setlocal wrap
|
|
||||||
autocmd FileType markdown setlocal spell
|
|
||||||
augroup end
|
|
||||||
|
|
||||||
augroup _auto_resize
|
|
||||||
autocmd!
|
|
||||||
autocmd VimResized * tabdo wincmd =
|
|
||||||
augroup end
|
|
||||||
|
|
||||||
augroup _alpha
|
|
||||||
autocmd!
|
|
||||||
autocmd User AlphaReady set showtabline=0 | autocmd BufUnload <buffer> set showtabline=2
|
|
||||||
augroup end
|
|
||||||
]]
|
|
||||||
|
|
||||||
-- Autoformat
|
|
||||||
-- augroup _lsp
|
|
||||||
-- autocmd!
|
|
||||||
-- autocmd BufWritePre * lua vim.lsp.buf.formatting()
|
|
||||||
-- augroup end
|
|
@ -1,6 +0,0 @@
|
|||||||
local status_ok, impatient = pcall(require, "impatient")
|
|
||||||
if not status_ok then
|
|
||||||
return
|
|
||||||
end
|
|
||||||
|
|
||||||
impatient.enable_profile()
|
|
@ -1,70 +0,0 @@
|
|||||||
local status_ok, indent_blankline = pcall(require, "indent_blankline")
|
|
||||||
if not status_ok then
|
|
||||||
return
|
|
||||||
end
|
|
||||||
|
|
||||||
vim.g.indent_blankline_buftype_exclude = { "terminal", "nofile" }
|
|
||||||
vim.g.indent_blankline_filetype_exclude = {
|
|
||||||
"help",
|
|
||||||
"startify",
|
|
||||||
"dashboard",
|
|
||||||
"packer",
|
|
||||||
"neogitstatus",
|
|
||||||
"NvimTree",
|
|
||||||
"Trouble",
|
|
||||||
}
|
|
||||||
vim.g.indentLine_enabled = 1
|
|
||||||
-- vim.g.indent_blankline_char = "│"
|
|
||||||
vim.g.indent_blankline_char = "▏"
|
|
||||||
-- vim.g.indent_blankline_char = "▎"
|
|
||||||
vim.g.indent_blankline_show_trailing_blankline_indent = false
|
|
||||||
vim.g.indent_blankline_show_first_indent_level = true
|
|
||||||
vim.g.indent_blankline_use_treesitter = true
|
|
||||||
vim.g.indent_blankline_show_current_context = true
|
|
||||||
vim.g.indent_blankline_context_patterns = {
|
|
||||||
"class",
|
|
||||||
"return",
|
|
||||||
"function",
|
|
||||||
"method",
|
|
||||||
"^if",
|
|
||||||
"^while",
|
|
||||||
"jsx_element",
|
|
||||||
"^for",
|
|
||||||
"^object",
|
|
||||||
"^table",
|
|
||||||
"block",
|
|
||||||
"arguments",
|
|
||||||
"if_statement",
|
|
||||||
"else_clause",
|
|
||||||
"jsx_element",
|
|
||||||
"jsx_self_closing_element",
|
|
||||||
"try_statement",
|
|
||||||
"catch_clause",
|
|
||||||
"import_statement",
|
|
||||||
"operation_type",
|
|
||||||
}
|
|
||||||
-- HACK: work-around for https://github.com/lukas-reineke/indent-blankline.nvim/issues/59
|
|
||||||
vim.wo.colorcolumn = "99999"
|
|
||||||
|
|
||||||
-- vim.cmd [[highlight IndentBlanklineIndent1 guifg=#E06C75 gui=nocombine]]
|
|
||||||
-- vim.cmd [[highlight IndentBlanklineIndent2 guifg=#E5C07B gui=nocombine]]
|
|
||||||
-- vim.cmd [[highlight IndentBlanklineIndent3 guifg=#98C379 gui=nocombine]]
|
|
||||||
-- vim.cmd [[highlight IndentBlanklineIndent4 guifg=#56B6C2 gui=nocombine]]
|
|
||||||
-- vim.cmd [[highlight IndentBlanklineIndent5 guifg=#61AFEF gui=nocombine]]
|
|
||||||
-- vim.cmd [[highlight IndentBlanklineIndent6 guifg=#C678DD gui=nocombine]]
|
|
||||||
-- vim.opt.list = true
|
|
||||||
-- vim.opt.listchars:append "space:⋅"
|
|
||||||
-- vim.opt.listchars:append "space:"
|
|
||||||
-- vim.opt.listchars:append "eol:↴"
|
|
||||||
|
|
||||||
indent_blankline.setup({
|
|
||||||
-- show_end_of_line = true,
|
|
||||||
-- space_char_blankline = " ",
|
|
||||||
show_current_context = true,
|
|
||||||
-- show_current_context_start = true,
|
|
||||||
-- char_highlight_list = {
|
|
||||||
-- "IndentBlanklineIndent1",
|
|
||||||
-- "IndentBlanklineIndent2",
|
|
||||||
-- "IndentBlanklineIndent3",
|
|
||||||
-- },
|
|
||||||
})
|
|
@ -1,24 +0,0 @@
|
|||||||
local status_ok, lsp_installer = pcall(require, "nvim-lsp-installer")
|
|
||||||
if not status_ok then
|
|
||||||
return
|
|
||||||
end
|
|
||||||
|
|
||||||
local lspconfig = require("lspconfig")
|
|
||||||
|
|
||||||
local servers = { "jsonls", "sumneko_lua" }
|
|
||||||
|
|
||||||
lsp_installer.setup({
|
|
||||||
ensure_installed = servers,
|
|
||||||
})
|
|
||||||
|
|
||||||
for _, server in pairs(servers) do
|
|
||||||
local opts = {
|
|
||||||
on_attach = require("user.lsp.handlers").on_attach,
|
|
||||||
capabilities = require("user.lsp.handlers").capabilities,
|
|
||||||
}
|
|
||||||
local has_custom_opts, server_custom_opts = pcall(require, "user.lsp.settings." .. server)
|
|
||||||
if has_custom_opts then
|
|
||||||
opts = vim.tbl_deep_extend("force", opts, server_custom_opts)
|
|
||||||
end
|
|
||||||
lspconfig[server].setup(opts)
|
|
||||||
end
|
|
@ -0,0 +1,28 @@
|
|||||||
|
local status_ok, lsp_installer = pcall(require, "nvim-lsp-installer")
|
||||||
|
if not status_ok then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
-- Register a handler that will be called for all installed servers.
|
||||||
|
-- Alternatively, you may also register handlers on specific server instances instead (see example below).
|
||||||
|
lsp_installer.on_server_ready(function(server)
|
||||||
|
local opts = {
|
||||||
|
on_attach = require("user.lsp.handlers").on_attach,
|
||||||
|
capabilities = require("user.lsp.handlers").capabilities,
|
||||||
|
}
|
||||||
|
|
||||||
|
if server.name == "jsonls" then
|
||||||
|
local jsonls_opts = require("user.lsp.settings.jsonls")
|
||||||
|
opts = vim.tbl_deep_extend("force", jsonls_opts, opts)
|
||||||
|
end
|
||||||
|
|
||||||
|
if server.name == "sumneko_lua" then
|
||||||
|
local sumneko_opts = require("user.lsp.settings.sumneko_lua")
|
||||||
|
opts = vim.tbl_deep_extend("force", sumneko_opts, opts)
|
||||||
|
end
|
||||||
|
|
||||||
|
-- This setup() function is exactly the same as lspconfig's setup function.
|
||||||
|
-- Refer to https://github.com/neovim/nvim-lspconfig/blob/master/doc/server_configurations.md
|
||||||
|
server:setup(opts)
|
||||||
|
end)
|
||||||
|
|
@ -1,187 +0,0 @@
|
|||||||
local status_ok, which_key = pcall(require, "which-key")
|
|
||||||
if not status_ok then
|
|
||||||
return
|
|
||||||
end
|
|
||||||
|
|
||||||
local setup = {
|
|
||||||
plugins = {
|
|
||||||
marks = true, -- shows a list of your marks on ' and `
|
|
||||||
registers = true, -- shows your registers on " in NORMAL or <C-r> in INSERT mode
|
|
||||||
spelling = {
|
|
||||||
enabled = true, -- enabling this will show WhichKey when pressing z= to select spelling suggestions
|
|
||||||
suggestions = 20, -- how many suggestions should be shown in the list?
|
|
||||||
},
|
|
||||||
-- the presets plugin, adds help for a bunch of default keybindings in Neovim
|
|
||||||
-- No actual key bindings are created
|
|
||||||
presets = {
|
|
||||||
operators = false, -- adds help for operators like d, y, ... and registers them for motion / text object completion
|
|
||||||
motions = true, -- adds help for motions
|
|
||||||
text_objects = true, -- help for text objects triggered after entering an operator
|
|
||||||
windows = true, -- default bindings on <c-w>
|
|
||||||
nav = true, -- misc bindings to work with windows
|
|
||||||
z = true, -- bindings for folds, spelling and others prefixed with z
|
|
||||||
g = true, -- bindings for prefixed with g
|
|
||||||
},
|
|
||||||
},
|
|
||||||
-- add operators that will trigger motion and text object completion
|
|
||||||
-- to enable all native operators, set the preset / operators plugin above
|
|
||||||
-- operators = { gc = "Comments" },
|
|
||||||
key_labels = {
|
|
||||||
-- override the label used to display some keys. It doesn't effect WK in any other way.
|
|
||||||
-- For example:
|
|
||||||
-- ["<space>"] = "SPC",
|
|
||||||
-- ["<cr>"] = "RET",
|
|
||||||
-- ["<tab>"] = "TAB",
|
|
||||||
},
|
|
||||||
icons = {
|
|
||||||
breadcrumb = "»", -- symbol used in the command line area that shows your active key combo
|
|
||||||
separator = "➜", -- symbol used between a key and it's label
|
|
||||||
group = "+", -- symbol prepended to a group
|
|
||||||
},
|
|
||||||
popup_mappings = {
|
|
||||||
scroll_down = "<c-d>", -- binding to scroll down inside the popup
|
|
||||||
scroll_up = "<c-u>", -- binding to scroll up inside the popup
|
|
||||||
},
|
|
||||||
window = {
|
|
||||||
border = "rounded", -- none, single, double, shadow
|
|
||||||
position = "bottom", -- bottom, top
|
|
||||||
margin = { 1, 0, 1, 0 }, -- extra window margin [top, right, bottom, left]
|
|
||||||
padding = { 2, 2, 2, 2 }, -- extra window padding [top, right, bottom, left]
|
|
||||||
winblend = 0,
|
|
||||||
},
|
|
||||||
layout = {
|
|
||||||
height = { min = 4, max = 25 }, -- min and max height of the columns
|
|
||||||
width = { min = 20, max = 50 }, -- min and max width of the columns
|
|
||||||
spacing = 3, -- spacing between columns
|
|
||||||
align = "left", -- align columns left, center or right
|
|
||||||
},
|
|
||||||
ignore_missing = true, -- enable this to hide mappings for which you didn't specify a label
|
|
||||||
hidden = { "<silent>", "<cmd>", "<Cmd>", "<CR>", "call", "lua", "^:", "^ " }, -- hide mapping boilerplate
|
|
||||||
show_help = true, -- show help message on the command line when the popup is visible
|
|
||||||
triggers = "auto", -- automatically setup triggers
|
|
||||||
-- triggers = {"<leader>"} -- or specify a list manually
|
|
||||||
triggers_blacklist = {
|
|
||||||
-- list of mode / prefixes that should never be hooked by WhichKey
|
|
||||||
-- this is mostly relevant for key maps that start with a native binding
|
|
||||||
-- most people should not need to change this
|
|
||||||
i = { "j", "k" },
|
|
||||||
v = { "j", "k" },
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
local opts = {
|
|
||||||
mode = "n", -- NORMAL mode
|
|
||||||
prefix = "<leader>",
|
|
||||||
buffer = nil, -- Global mappings. Specify a buffer number for buffer local mappings
|
|
||||||
silent = true, -- use `silent` when creating keymaps
|
|
||||||
noremap = true, -- use `noremap` when creating keymaps
|
|
||||||
nowait = true, -- use `nowait` when creating keymaps
|
|
||||||
}
|
|
||||||
|
|
||||||
local mappings = {
|
|
||||||
["a"] = { "<cmd>Alpha<cr>", "Alpha" },
|
|
||||||
["b"] = {
|
|
||||||
"<cmd>lua require('telescope.builtin').buffers(require('telescope.themes').get_dropdown{previewer = false})<cr>",
|
|
||||||
"Buffers",
|
|
||||||
},
|
|
||||||
["e"] = { "<cmd>NvimTreeToggle<cr>", "Explorer" },
|
|
||||||
["w"] = { "<cmd>w!<CR>", "Save" },
|
|
||||||
["q"] = { "<cmd>q!<CR>", "Quit" },
|
|
||||||
["c"] = { "<cmd>Bdelete!<CR>", "Close Buffer" },
|
|
||||||
["h"] = { "<cmd>nohlsearch<CR>", "No Highlight" },
|
|
||||||
["f"] = {
|
|
||||||
"<cmd>lua require('telescope.builtin').find_files(require('telescope.themes').get_dropdown{previewer = false})<cr>",
|
|
||||||
"Find files",
|
|
||||||
},
|
|
||||||
["F"] = { "<cmd>Telescope live_grep theme=ivy<cr>", "Find Text" },
|
|
||||||
["P"] = { "<cmd>lua require('telescope').extensions.projects.projects()<cr>", "Projects" },
|
|
||||||
|
|
||||||
p = {
|
|
||||||
name = "Packer",
|
|
||||||
c = { "<cmd>PackerCompile<cr>", "Compile" },
|
|
||||||
i = { "<cmd>PackerInstall<cr>", "Install" },
|
|
||||||
s = { "<cmd>PackerSync<cr>", "Sync" },
|
|
||||||
S = { "<cmd>PackerStatus<cr>", "Status" },
|
|
||||||
u = { "<cmd>PackerUpdate<cr>", "Update" },
|
|
||||||
},
|
|
||||||
|
|
||||||
g = {
|
|
||||||
name = "Git",
|
|
||||||
g = { "<cmd>lua _LAZYGIT_TOGGLE()<CR>", "Lazygit" },
|
|
||||||
j = { "<cmd>lua require 'gitsigns'.next_hunk()<cr>", "Next Hunk" },
|
|
||||||
k = { "<cmd>lua require 'gitsigns'.prev_hunk()<cr>", "Prev Hunk" },
|
|
||||||
l = { "<cmd>lua require 'gitsigns'.blame_line()<cr>", "Blame" },
|
|
||||||
p = { "<cmd>lua require 'gitsigns'.preview_hunk()<cr>", "Preview Hunk" },
|
|
||||||
r = { "<cmd>lua require 'gitsigns'.reset_hunk()<cr>", "Reset Hunk" },
|
|
||||||
R = { "<cmd>lua require 'gitsigns'.reset_buffer()<cr>", "Reset Buffer" },
|
|
||||||
s = { "<cmd>lua require 'gitsigns'.stage_hunk()<cr>", "Stage Hunk" },
|
|
||||||
u = {
|
|
||||||
"<cmd>lua require 'gitsigns'.undo_stage_hunk()<cr>",
|
|
||||||
"Undo Stage Hunk",
|
|
||||||
},
|
|
||||||
o = { "<cmd>Telescope git_status<cr>", "Open changed file" },
|
|
||||||
b = { "<cmd>Telescope git_branches<cr>", "Checkout branch" },
|
|
||||||
c = { "<cmd>Telescope git_commits<cr>", "Checkout commit" },
|
|
||||||
d = {
|
|
||||||
"<cmd>Gitsigns diffthis HEAD<cr>",
|
|
||||||
"Diff",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
|
|
||||||
l = {
|
|
||||||
name = "LSP",
|
|
||||||
a = { "<cmd>lua vim.lsp.buf.code_action()<cr>", "Code Action" },
|
|
||||||
d = {
|
|
||||||
"<cmd>Telescope lsp_document_diagnostics<cr>",
|
|
||||||
"Document Diagnostics",
|
|
||||||
},
|
|
||||||
w = {
|
|
||||||
"<cmd>Telescope lsp_workspace_diagnostics<cr>",
|
|
||||||
"Workspace Diagnostics",
|
|
||||||
},
|
|
||||||
f = { "<cmd>lua vim.lsp.buf.format{async=true}<cr>", "Format" },
|
|
||||||
i = { "<cmd>LspInfo<cr>", "Info" },
|
|
||||||
I = { "<cmd>LspInstallInfo<cr>", "Installer Info" },
|
|
||||||
j = {
|
|
||||||
"<cmd>lua vim.lsp.diagnostic.goto_next()<CR>",
|
|
||||||
"Next Diagnostic",
|
|
||||||
},
|
|
||||||
k = {
|
|
||||||
"<cmd>lua vim.lsp.diagnostic.goto_prev()<cr>",
|
|
||||||
"Prev Diagnostic",
|
|
||||||
},
|
|
||||||
l = { "<cmd>lua vim.lsp.codelens.run()<cr>", "CodeLens Action" },
|
|
||||||
q = { "<cmd>lua vim.lsp.diagnostic.set_loclist()<cr>", "Quickfix" },
|
|
||||||
r = { "<cmd>lua vim.lsp.buf.rename()<cr>", "Rename" },
|
|
||||||
s = { "<cmd>Telescope lsp_document_symbols<cr>", "Document Symbols" },
|
|
||||||
S = {
|
|
||||||
"<cmd>Telescope lsp_dynamic_workspace_symbols<cr>",
|
|
||||||
"Workspace Symbols",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
s = {
|
|
||||||
name = "Search",
|
|
||||||
b = { "<cmd>Telescope git_branches<cr>", "Checkout branch" },
|
|
||||||
c = { "<cmd>Telescope colorscheme<cr>", "Colorscheme" },
|
|
||||||
h = { "<cmd>Telescope help_tags<cr>", "Find Help" },
|
|
||||||
M = { "<cmd>Telescope man_pages<cr>", "Man Pages" },
|
|
||||||
r = { "<cmd>Telescope oldfiles<cr>", "Open Recent File" },
|
|
||||||
R = { "<cmd>Telescope registers<cr>", "Registers" },
|
|
||||||
k = { "<cmd>Telescope keymaps<cr>", "Keymaps" },
|
|
||||||
C = { "<cmd>Telescope commands<cr>", "Commands" },
|
|
||||||
},
|
|
||||||
|
|
||||||
t = {
|
|
||||||
name = "Terminal",
|
|
||||||
n = { "<cmd>lua _NODE_TOGGLE()<cr>", "Node" },
|
|
||||||
u = { "<cmd>lua _NCDU_TOGGLE()<cr>", "NCDU" },
|
|
||||||
t = { "<cmd>lua _HTOP_TOGGLE()<cr>", "Htop" },
|
|
||||||
p = { "<cmd>lua _PYTHON_TOGGLE()<cr>", "Python" },
|
|
||||||
f = { "<cmd>ToggleTerm direction=float<cr>", "Float" },
|
|
||||||
h = { "<cmd>ToggleTerm size=10 direction=horizontal<cr>", "Horizontal" },
|
|
||||||
v = { "<cmd>ToggleTerm size=80 direction=vertical<cr>", "Vertical" },
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
which_key.setup(setup)
|
|
||||||
which_key.register(mappings, opts)
|
|
Loading…
Reference in new issue