summaryrefslogtreecommitdiffstats
path: root/after
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--after/ftplugin/help.lua1
-rw-r--r--after/ftplugin/java.lua11
-rw-r--r--after/plugin/autopairs.lua6
-rw-r--r--after/plugin/cmp.lua (renamed from lua/core/overrides/cmp.lua)38
-rw-r--r--after/plugin/colorizer.lua (renamed from lua/core/overrides/colorizer.lua)7
-rw-r--r--after/plugin/comment.lua26
-rw-r--r--after/plugin/dapui.lua6
-rw-r--r--after/plugin/fidget.lua14
-rw-r--r--after/plugin/gitsigns.lua28
-rw-r--r--after/plugin/hlargs.lua6
-rw-r--r--after/plugin/iconpicker.lua6
-rw-r--r--after/plugin/indent-blankline.lua17
-rw-r--r--after/plugin/jabs.lua23
-rw-r--r--after/plugin/lsp.lua105
-rw-r--r--after/plugin/lspsignature.lua12
-rw-r--r--after/plugin/luasnip.lua (renamed from lua/core/overrides/snip.lua)7
-rw-r--r--after/plugin/marks.lua9
-rw-r--r--after/plugin/mason-dap.lua8
-rw-r--r--after/plugin/mason.lua29
-rw-r--r--after/plugin/masontool.lua18
-rw-r--r--after/plugin/neorg.lua34
-rw-r--r--after/plugin/notify.lua16
-rw-r--r--after/plugin/project.lua10
-rw-r--r--after/plugin/scrollbar.lua22
-rw-r--r--after/plugin/sfm.lua (renamed from lua/core/overrides/sfm.lua)26
-rw-r--r--after/plugin/smartsplits.lua28
-rw-r--r--after/plugin/startpage.lua71
-rw-r--r--after/plugin/statusline.lua136
-rw-r--r--after/plugin/tabline.lua9
-rw-r--r--after/plugin/telescope.lua (renamed from lua/core/overrides/telescope.lua)19
-rw-r--r--after/plugin/toggleterm.lua33
-rw-r--r--after/plugin/trouble.lua (renamed from lua/core/overrides/trouble.lua)7
-rw-r--r--after/plugin/ts.lua27
-rw-r--r--after/plugin/tsc.lua10
-rw-r--r--after/plugin/tsj.lua9
-rw-r--r--after/plugin/urlview.lua8
-rw-r--r--after/plugin/whichkey.lua20
37 files changed, 839 insertions, 23 deletions
diff --git a/after/ftplugin/help.lua b/after/ftplugin/help.lua
new file mode 100644
index 0000000..fe6caae
--- /dev/null
+++ b/after/ftplugin/help.lua
@@ -0,0 +1 @@
+vim.treesitter.start()
diff --git a/after/ftplugin/java.lua b/after/ftplugin/java.lua
new file mode 100644
index 0000000..575ab1c
--- /dev/null
+++ b/after/ftplugin/java.lua
@@ -0,0 +1,11 @@
+local status_ok, jdtls = pcall(require, "jdtls")
+if not status_ok then
+ return
+end
+
+jdtls.start_or_attach {
+ cmd = {'/home/squibid/Downloads/jdt-lang-serv/bin/jdtls'},
+ root_dir = vim.fs.dirname(
+ vim.fs.find({ 'gradlew', '.git', 'mvnw' }, { upward = true })[1]
+ ),
+}
diff --git a/after/plugin/autopairs.lua b/after/plugin/autopairs.lua
new file mode 100644
index 0000000..ddf106f
--- /dev/null
+++ b/after/plugin/autopairs.lua
@@ -0,0 +1,6 @@
+local status_ok, autopairs = pcall(require, "nvim-autopairs")
+if not status_ok then
+ return
+end
+
+autopairs.setup{}
diff --git a/lua/core/overrides/cmp.lua b/after/plugin/cmp.lua
index 5fbb2a5..f69fc43 100644
--- a/lua/core/overrides/cmp.lua
+++ b/after/plugin/cmp.lua
@@ -1,3 +1,36 @@
+local status_ok, cmp = pcall(require, "cmp")
+if not status_ok then
+ return
+end
+
+local lspicons = {
+ Text = 'Tx',
+ Snippet = '<>',
+ Method = '{}',
+ Function = '{}',
+ Constructor = '{}',
+ Field = '""',
+ Variable = 'x=',
+ Class = '{}',
+ Interface = '.h',
+ Module = '{}',
+ Property = '@p',
+ Unit = ' ',
+ Value = ' ',
+ Enum = 'E#',
+ Keyword = '$1',
+ Color = ' ',
+ File = '#`',
+ Reference = ' ',
+ Folder = '[/',
+ EnumMember = ' ',
+ Constant = 'c=',
+ Struct = ' ',
+ Event = ' ',
+ Operator = '%*',
+ TypeParameter = ' ',
+}
+
local has_words_before = function()
unpack = unpack or table.unpack
local line, col = unpack(a.nvim_win_get_cursor(0))
@@ -5,7 +38,6 @@ local has_words_before = function()
[1]:sub(col, col):match("%s") == nil
end
-local cmp = require('cmp')
local luasnip = require('luasnip')
require("luasnip.loaders.from_vscode").lazy_load()
@@ -27,7 +59,7 @@ cmp.setup {
window = {
completion = {
winhighlight = "Normal:Pmenu,FloatBorder:Pmenu,Search:None",
- col_offset = -3,
+ col_offset = 0,
side_padding = 0,
}
},
@@ -58,7 +90,7 @@ cmp.setup {
elseif has_words_before() then
cmp.complete()
else
- fallback()
+ require("intellitab").indent()
end
end, { "i", "s" }),
["<S-Tab>"] = cmp.mapping(function(fallback)
diff --git a/lua/core/overrides/colorizer.lua b/after/plugin/colorizer.lua
index a18101e..830e1b9 100644
--- a/lua/core/overrides/colorizer.lua
+++ b/after/plugin/colorizer.lua
@@ -1,4 +1,9 @@
-require('colorizer').setup {
+local status_ok, colorizer = pcall(require, "colorizer")
+if not status_ok then
+ return
+end
+
+colorizer.setup {
filetypes = { '*' },
user_default_options = {
names = false,
diff --git a/after/plugin/comment.lua b/after/plugin/comment.lua
new file mode 100644
index 0000000..e95b823
--- /dev/null
+++ b/after/plugin/comment.lua
@@ -0,0 +1,26 @@
+local status_ok, comment = pcall(require, "Comment")
+if not status_ok then
+ return
+end
+
+comment.setup {
+ toggler = {
+ line = 'gcc',
+ block = 'gbc',
+ },
+ opleader = {
+ line = 'gc',
+ block = 'gb',
+ },
+ extra = {
+ above = 'gcO',
+ below = 'gco',
+ eol = 'gcA',
+ },
+ mappings = {
+ basic = true,
+ extra = true,
+ },
+ pre_hook = nil,
+ post_hook = nil,
+}
diff --git a/after/plugin/dapui.lua b/after/plugin/dapui.lua
new file mode 100644
index 0000000..56cfb1b
--- /dev/null
+++ b/after/plugin/dapui.lua
@@ -0,0 +1,6 @@
+local status_ok, dapui = pcall(require, "dapui")
+if not status_ok then
+ return
+end
+
+dapui.setup {}
diff --git a/after/plugin/fidget.lua b/after/plugin/fidget.lua
new file mode 100644
index 0000000..ee412a7
--- /dev/null
+++ b/after/plugin/fidget.lua
@@ -0,0 +1,14 @@
+local status_ok, fidget = pcall(require, "fidget")
+if not status_ok then
+ return
+end
+
+fidget.setup {
+ text = {
+ spinner = "line",
+ done = ":)",
+ },
+ window = {
+ zindex = 1,
+ }
+}
diff --git a/after/plugin/gitsigns.lua b/after/plugin/gitsigns.lua
new file mode 100644
index 0000000..b5436ae
--- /dev/null
+++ b/after/plugin/gitsigns.lua
@@ -0,0 +1,28 @@
+local status_ok, gitsigns = pcall(require, "gitsigns")
+if not status_ok then
+ return
+end
+
+gitsigns.setup {
+ signs = {
+ add = { text = '│' },
+ change = { text = '│' },
+ delete = { text = '-' },
+ topdelete = { text = '‾' },
+ changedelete = { text = '~' },
+ untracked = { text = '┆' },
+ },
+ signcolumn = true, -- Toggle with `:Gitsigns toggle_signs`
+ numhl = false, -- Toggle with `:Gitsigns toggle_numhl`
+ linehl = false, -- Toggle with `:Gitsigns toggle_linehl`
+ word_diff = false, -- Toggle with `:Gitsigns toggle_word_diff`
+ watch_gitdir = {
+ interval = 1000,
+ follow_files = true
+ },
+ attach_to_untracked = true,
+ current_line_blame_formatter = '<author>, <author_time:%Y-%m-%d> - <summary>',
+ preview_config = {
+ border = 'shadow',
+ },
+}
diff --git a/after/plugin/hlargs.lua b/after/plugin/hlargs.lua
new file mode 100644
index 0000000..85aa905
--- /dev/null
+++ b/after/plugin/hlargs.lua
@@ -0,0 +1,6 @@
+local status_ok, hlargs = pcall(require, "hlargs")
+if not status_ok then
+ return
+end
+
+hlargs.setup {}
diff --git a/after/plugin/iconpicker.lua b/after/plugin/iconpicker.lua
new file mode 100644
index 0000000..e616a67
--- /dev/null
+++ b/after/plugin/iconpicker.lua
@@ -0,0 +1,6 @@
+local status_ok, iconpicker = pcall(require, "icon-picker")
+if not status_ok then
+ return
+end
+
+iconpicker.setup {}
diff --git a/after/plugin/indent-blankline.lua b/after/plugin/indent-blankline.lua
new file mode 100644
index 0000000..830ad99
--- /dev/null
+++ b/after/plugin/indent-blankline.lua
@@ -0,0 +1,17 @@
+local status_ok, indent_blankline = pcall(require, "indent_blankline")
+if not status_ok then
+ return
+end
+
+indent_blankline.setup {
+ char = "",
+ char_highlight_list = {
+ "IndentBlanklineIndent1",
+ "IndentBlanklineIndent2",
+ },
+ space_char_highlight_list = {
+ "IndentBlanklineIndent1",
+ "IndentBlanklineIndent2",
+ },
+ show_trailing_blankline_indent = false,
+}
diff --git a/after/plugin/jabs.lua b/after/plugin/jabs.lua
new file mode 100644
index 0000000..123de41
--- /dev/null
+++ b/after/plugin/jabs.lua
@@ -0,0 +1,23 @@
+local status_ok, jabs = pcall(require, "jabs")
+if not status_ok then
+ return
+end
+
+jabs.setup {
+ offset = { bottom = 2, right = 2 },
+
+ symbols = {
+ current = "@",
+ split = "|",
+ alternate = "*",
+ hidden = "\\",
+ locked = "=",
+ ro = "=",
+ edited = "+",
+ terminal = ">_",
+ default_file = "~",
+ terminal_symbol = ">_",
+ },
+
+ use_devicons = false,
+}
diff --git a/after/plugin/lsp.lua b/after/plugin/lsp.lua
new file mode 100644
index 0000000..50b6201
--- /dev/null
+++ b/after/plugin/lsp.lua
@@ -0,0 +1,105 @@
+local status_ok, lspconfig = pcall(require, "lspconfig")
+if not status_ok then
+ return
+end
+
+local function lsp_keymaps(bufnr)
+ local map = function(m, lhs, rhs)
+ local opts = {remap = false, silent = true, buffer = bufnr}
+ vim.keymap.set(m, lhs, rhs, opts)
+ end
+
+ -- LSP actions
+ map('n', 'K', '<cmd>lua vim.lsp.buf.hover()<cr>')
+ map('n', 'gd', '<cmd>lua vim.lsp.buf.definition()<cr>')
+ map('n', 'gD', '<cmd>lua vim.lsp.buf.declaration()<cr>')
+ map('n', 'gi', '<cmd>lua vim.lsp.buf.implementation()<cr>')
+ map('n', 'go', '<cmd>lua vim.lsp.buf.type_definition()<cr>')
+ map('n', 'gr', '<cmd>lua vim.lsp.buf.references()<cr>')
+ map('n', '<S-Tab>', '<cmd>lua vim.lsp.buf.signature_help()<cr>')
+ map('n', '<F2>', '<cmd>lua vim.lsp.buf.rename()<cr>')
+ map('n', '<F4>', '<cmd>lua vim.lsp.buf.code_action()<cr>')
+
+ -- Diagnostics
+ map('n', '<Tab>', '<cmd>lua vim.diagnostic.open_float()<cr>')
+ map('n', '[d', '<cmd>lua vim.diagnostic.goto_prev()<cr>')
+ map('n', ']d', '<cmd>lua vim.diagnostic.goto_next()<cr>')
+end
+
+local function lsp_settings()
+ local sign = function(opts)
+ vim.fn.sign_define(opts.name, {
+ texthl = opts.name,
+ text = opts.text,
+ numhl = ''
+ })
+ end
+
+ sign({name = 'DiagnosticSignError', text = 'x'})
+ sign({name = 'DiagnosticSignWarn', text = '!'})
+ sign({name = 'DiagnosticSignHint', text = 'h'})
+ sign({name = 'DiagnosticSignInfo', text = 'i'})
+
+ vim.diagnostic.config({
+ virtual_text = false,
+ signs = true,
+ update_in_insert = false,
+ underline = true,
+ severity_sort = true,
+ float = {
+ focusable = false,
+ show_header = true,
+ style = 'minimal',
+ border = 'shadow',
+ source = 'always',
+ header = '',
+ prefix = '* ',
+ },
+ })
+
+ vim.lsp.handlers['textDocument/hover'] = vim.lsp.with( vim.lsp.handlers.hover,
+ { border = 'shadow', }
+ )
+
+ vim.lsp.handlers['textDocument/signatureHelp'] = vim.lsp.with(
+ vim.lsp.handlers.signature_help,
+ {border = 'shadow'}
+ )
+
+ local command = vim.api.nvim_create_user_command
+
+ command('LspWorkspaceAdd', function()
+ vim.lsp.buf.add_workspace_folder()
+ end, {desc = 'Add folder to workspace'})
+
+ command('LspWorkspaceList', function()
+ vim.notify(vim.inspect(vim.lsp.buf.list_workspace_folders()))
+ end, {desc = 'List workspace folders'})
+
+ command('LspWorkspaceRemove', function()
+ vim.lsp.buf.remove_workspace_folder()
+ end, {desc = 'Remove folder from workspace'})
+end
+
+local function lsp_attach(client, bufnr)
+ local buf_command = vim.api.nvim_buf_create_user_command
+
+ lsp_keymaps(bufnr)
+
+ buf_command(bufnr, 'LspFormat', function()
+ vim.lsp.buf.format()
+ end, {desc = 'Format buffer with language server'})
+end
+
+lsp_settings()
+
+require('mason').setup({})
+require('mason-lspconfig').setup({})
+
+local get_servers = require('mason-lspconfig').get_installed_servers
+for _, server_name in ipairs(get_servers()) do
+ lspconfig[server_name].setup({
+ on_attach = lsp_attach,
+ capabilities = require('cmp_nvim_lsp').default_capabilities(),
+ })
+end
diff --git a/after/plugin/lspsignature.lua b/after/plugin/lspsignature.lua
new file mode 100644
index 0000000..7e2c1b2
--- /dev/null
+++ b/after/plugin/lspsignature.lua
@@ -0,0 +1,12 @@
+local status_ok, lspsignature = pcall(require, "lsp_signature")
+if not status_ok then
+ return
+end
+
+lspsignature.setup {
+ hint_enable = false,
+ floating_window = true,
+ handler_opts = {
+ border = "shadow"
+ }
+}
diff --git a/lua/core/overrides/snip.lua b/after/plugin/luasnip.lua
index c11236e..1374bc3 100644
--- a/lua/core/overrides/snip.lua
+++ b/after/plugin/luasnip.lua
@@ -1,6 +1,9 @@
-local ls = require('luasnip')
+local status_ok, luasnip = pcall(require, "luasnip")
+if not status_ok then
+ return
+end
-ls.config.set_config {
+luasnip.config.set_config {
-- return back into snippet
history = true,
diff --git a/after/plugin/marks.lua b/after/plugin/marks.lua
new file mode 100644
index 0000000..be51c58
--- /dev/null
+++ b/after/plugin/marks.lua
@@ -0,0 +1,9 @@
+local status_ok, marks = pcall(require, "marks")
+if not status_ok then
+ return
+end
+
+marks.setup {
+ default_mappings = true,
+ builtin_marks = nil,
+}
diff --git a/after/plugin/mason-dap.lua b/after/plugin/mason-dap.lua
new file mode 100644
index 0000000..0b7a57e
--- /dev/null
+++ b/after/plugin/mason-dap.lua
@@ -0,0 +1,8 @@
+local status_ok, masondap = pcall(require, "mason-nvim-dap")
+if not status_ok then
+ return
+end
+
+masondap.setup {
+ automatic_setup = true,
+}
diff --git a/after/plugin/mason.lua b/after/plugin/mason.lua
new file mode 100644
index 0000000..ccd812e
--- /dev/null
+++ b/after/plugin/mason.lua
@@ -0,0 +1,29 @@
+local status_ok, mason = pcall(require, "mason")
+if not status_ok then
+ return
+end
+
+mason.setup({
+ ui = {
+ border = "shadow",
+ width = 0.6,
+ height = 0.9,
+
+ icons = {
+ package_installed = "+",
+ package_pending = "?",
+ package_uninstalled = "x"
+ }
+ },
+ keymaps = {
+ toggle_package_expand = "<CR>",
+ install_package = "i", -- Keymap to install the package under the current cursor position
+ update_package = "u", -- Keymap to reinstall/update the package under the current cursor position
+ check_package_version = "c", -- Keymap to check for new version for the package under the current cursor position
+ update_all_packages = "U", -- Keymap to update all installed packages
+ check_outdated_packages = "C", -- Keymap to check which installed packages are outdated
+ uninstall_package = "r", -- Keymap to uninstall a package
+ cancel_installation = "<C-c>", -- Keymap to cancel a package installation
+ apply_language_filter = "<C-f>", -- Keymap to apply language filter
+ },
+})
diff --git a/after/plugin/masontool.lua b/after/plugin/masontool.lua
new file mode 100644
index 0000000..ee9d012
--- /dev/null
+++ b/after/plugin/masontool.lua
@@ -0,0 +1,18 @@
+local status_ok, masontool = pcall(require, "mason-tool-installer")
+if not status_ok then
+ return
+end
+
+masontool.setup {
+ -- a list of all tools you want to ensure are installed upon
+ -- start; they should be the names Mason uses for each tool
+ ensure_installed = {
+ 'lua-language-server',
+ 'stylua',
+ 'shellcheck',
+ 'editorconfig-checker',
+ 'shfmt',
+ 'clangd',
+ 'clang-format',
+ },
+}
diff --git a/after/plugin/neorg.lua b/after/plugin/neorg.lua
new file mode 100644
index 0000000..2331864
--- /dev/null
+++ b/after/plugin/neorg.lua
@@ -0,0 +1,34 @@
+local status_ok, neorg = pcall(require, "neorg")
+if not status_ok then
+ return
+end
+
+neorg.setup {
+ load = {
+ ["core.defaults"] = {},
+ ["core.dirman"] = {
+ config = {
+ workspaces = {
+ home = "~/Documents/notes/home",
+ }
+ }
+ },
+ ["core.concealer"] = {
+ config = {
+ dim_code_blocks = {
+ padding = { right = 2, },
+ content_only = false,
+ width = "content",
+ },
+ }
+ },
+ ["core.export"] = {},
+ ["core.completion"] = {
+ config = {
+ engine = "nvim-cmp",
+ }
+ },
+ }
+}
+
+-- vim.cmd('Neorg sync-parsers')
diff --git a/after/plugin/notify.lua b/after/plugin/notify.lua
new file mode 100644
index 0000000..1a3d1e9
--- /dev/null
+++ b/after/plugin/notify.lua
@@ -0,0 +1,16 @@
+local status_ok, notify = pcall(require, "notify")
+if not status_ok then
+ return
+end
+
+notify.setup {
+ icons = {
+ DEBUG = "B",
+ ERROR = "x",
+ INFO = "i",
+ TRACE = "t",
+ WARN = "!"
+ },
+ minimum_width = 35,
+ max_width = 80,
+}
diff --git a/after/plugin/project.lua b/after/plugin/project.lua
new file mode 100644
index 0000000..fd44e4c
--- /dev/null
+++ b/after/plugin/project.lua
@@ -0,0 +1,10 @@
+local status_ok, project = pcall(require, "project_nvim")
+if not status_ok then
+ return
+end
+
+project.setup {
+ detection_methods = { "pattern" },
+ patterns = { ".git", "_darcs", ".hg", ".bzr", ".svn", "Makefile", "package.json" },
+ show_hidden = false,
+}
diff --git a/after/plugin/scrollbar.lua b/after/plugin/scrollbar.lua
new file mode 100644
index 0000000..7421536
--- /dev/null
+++ b/after/plugin/scrollbar.lua
@@ -0,0 +1,22 @@
+local status_ok, scrollbar = pcall(require, "scrollbar")
+if not status_ok then
+ return
+end
+
+scrollbar.setup({
+ hide_if_all_visible = true,
+ handle = {
+ hide_if_all_visible = true,
+ },
+ marks = {
+ Cursor = {
+ text = "*",
+ }
+ },
+ handlers = {
+ cursor = true,
+ diagnostic = true,
+ gitsigns = true, -- Requires gitsigns
+ handle = true,
+ },
+})
diff --git a/lua/core/overrides/sfm.lua b/after/plugin/sfm.lua
index 06c77d1..dcbbe95 100644
--- a/lua/core/overrides/sfm.lua
+++ b/after/plugin/sfm.lua
@@ -1,12 +1,18 @@
-local sfm = require('sfm')
+local status_ok, sfm = pcall(require, "sfm")
+if not status_ok then
+ return
+end
sfm.setup {
view = {
- side = "left", -- side of the tree, can be `left`, `right`
- width = 30
+ side = 'right',
+ width = 35,
},
mappings = {
custom_only = false,
+ list = {
+ -- user mappings go here
+ }
},
renderer = {
icons = {
@@ -24,17 +30,17 @@ sfm.setup {
folder_closed = "",
folder_open = "",
file = "",
- },
+ }
}
- },
+ }
}:load_extension('sfm-git', {
icons = {
- staged = "^",
unstaged = "+",
- unmerged = "",
- renamed = ">",
+ staged = "S",
+ unmerged = "U",
+ renamed = "r",
untracked = "?",
- deleted = "x",
- ignored = "#"
+ deleted = "-",
+ ignored = "?",
}
})
diff --git a/after/plugin/smartsplits.lua b/after/plugin/smartsplits.lua
new file mode 100644
index 0000000..54fc07c
--- /dev/null
+++ b/after/plugin/smartsplits.lua
@@ -0,0 +1,28 @@
+local status_ok, smartsplits = pcall(require, "smart-splits")
+if not status_ok then
+ return
+end
+
+smartsplits.setup {
+ default_amount = 3,
+ resize_mode = {
+ quit_key = '<leader>r',
+ resize_keys = {
+ '<C-h>',
+ '<C-j>',
+ '<C-k>',
+ '<C-l>',
+ },
+ silent = true,
+ hooks = {
+ on_enter = function()
+ vim.notify("Resize mode on", vim.log.levels.INFO, { title = "Smart Splits" })
+ vim.cmd('unmap <leader>r')
+ end,
+ on_leave = function()
+ vim.notify("Resize Mode off", vim.log.levels.INFO, { title = "Smart Splits" })
+ vim.keymap.set('n', '<leader>r', smartsplits.start_resize_mode, {})
+ end,
+ },
+ },
+}
diff --git a/after/plugin/startpage.lua b/after/plugin/startpage.lua
new file mode 100644
index 0000000..2f12e56
--- /dev/null
+++ b/after/plugin/startpage.lua
@@ -0,0 +1,71 @@
+local status_ok, alpha = pcall(require, "alpha")
+if not status_ok then
+ return
+end
+
+-- buttons
+local function button(sc, txt, keybind)
+ local opts = {
+ position = "center",
+ shortcut = sc,
+ cursor = 5,
+ width = 80,
+ align_shortcut = "right",
+ hl_shortcut = "Keyword",
+ }
+ local function on_press()
+ local key = vim.api.nvim_replace_termcodes(keybind .. "<Ignore>", true, false, true)
+ vim.api.nvim_feedkeys(key, "t", false)
+ end
+
+ return {
+ type = "button",
+ val = txt,
+ on_press = on_press,
+ opts = opts,
+ }
+end
+
+-- actual config
+local R = {}
+
+R.width = vim.api.nvim_win_get_width(0)
+R.height = vim.api.nvim_win_get_height(0)
+
+if R.width >= 120 then
+ alpha.setup {
+ layout = {
+ { type = "padding", val = math.floor(R.height / 2.5) },
+ button([[ `'::. `'::::. ]], "Recent Files", "<cmd>Telescope oldfiles<CR>"),
+ button([[ _________H ,%%&%, _____A_ ]], "New File", "<cmd>ene<CR>"),
+ button([[ /\ _ \%&&%%&% / /\ ]], "Update Plugins", "<cmd>DepSync<CR>"),
+ button([[ / \___/^\___\%&%%&& __/__/\__/ \___ ]], "", ""),
+ button([[ | | [] [] |%\Y&%' /__|" '' "| /___/\ ]], "", ""),
+ button([[ | | .-. | || |''|"'||'"| |' '|| ]], "", ""),
+ button([[~~@._|@@_|||_@@|~||~~~ ~`""`""))""`"`""""`~~]], "", ""),
+ button([[ `""") )"""` // ]], "", ""),
+ }
+ }
+end
+if R.width <= 119 then
+ local header = {
+ [[ `'::. `'::::. ]],
+ [[ _________H ,%%&%, _____A_ ]],
+ [[ /\ _ \%&&%%&% / /\ ]],
+ [[ / \___/^\___\%&%%&& __/__/\__/ \___ ]],
+ [[ | | [] [] |%\Y&%' /__|" '' "| /___/\ ]],
+ [[ | | .-. | || |''|"'||'"| |' '|| ]],
+ [[~~@._|@@_|||_@@|~||~~~ ~`""`""))""`"`""""`~~]],
+ [[ `""") )"""` // ]],
+ }
+ alpha.setup {
+ layout = {
+ { type = "padding", val = math.floor(R.height / 2.5) },
+ { type = "text", val = header, opts = { position = "center", hl = "AlphaHeader" } },
+ { type = "padding", val = 1 },
+ button([[]], "Recent Files", "<cmd>Telescope oldfiles<CR>"),
+ button([[]], "New File", "<cmd>ene<CR>"),
+ button([[]], "Update Plugins", "<cmd>DepSync<CR>"),
+ }
+ }
+end
diff --git a/after/plugin/statusline.lua b/after/plugin/statusline.lua
new file mode 100644
index 0000000..d3a6ed2
--- /dev/null
+++ b/after/plugin/statusline.lua
@@ -0,0 +1,136 @@
+local status_ok, el = pcall(require, "el")
+if not status_ok then
+ return
+end
+
+el.reset_windows()
+
+local builtin = require "el.builtin"
+local sections = require "el.sections"
+local c = require "components"
+
+-- color setup
+local hl_statusline = "StatusLine"
+--diagnostic colors
+local hl_hint = "DiagnosticHint"
+local hl_info = "DiagnosticInfo"
+local hl_warn = "DiagnosticWarn"
+local hl_err = "DiagnosticError"
+-- git colors
+local hl_red = "ErrorMsg"
+local hl_green = "diffAdded"
+local hl_yellow = "WarningMsg"
+local highlights = {
+ -- diagnostic colors
+ diag_err = c.extract_hl({
+ bg = { [hl_statusline] = "bg" },
+ fg = { [hl_err] = "fg" },
+ bold = true,
+ }),
+ diag_warn = c.extract_hl({
+ bg = { [hl_statusline] = "bg" },
+ fg = { [hl_warn] = "fg" },
+ bold = true,
+ }),
+ diag_info = c.extract_hl({
+ bg = { [hl_statusline] = "bg" },
+ fg = { [hl_info] = "fg" },
+ bold = true,
+ }),
+ diag_hint = c.extract_hl({
+ bg = { [hl_statusline] = "bg" },
+ fg = { [hl_hint] = "fg" },
+ bold = true,
+ }),
+
+ -- git colors
+ red_fg = c.extract_hl({
+ bg = { [hl_statusline] = "bg" },
+ fg = { [hl_red] = "fg" },
+ bold = true,
+ }),
+ green_fg = c.extract_hl({
+ bg = { [hl_statusline] = "bg" },
+ fg = { [hl_green] = "fg" },
+ bold = true,
+ }),
+ yellow_fg = c.extract_hl({
+ bg = { [hl_statusline] = "bg" },
+ fg = { [hl_yellow] = "fg" },
+ bold = true,
+ }),
+}
+
+-- modes
+local modes = {
+ -- display name, mode, highlight group
+ n = { "Normal", "N" },
+ niI = { "Normal", "N" },
+ niR = { "Normal", "N" },
+ niV = { "Normal", "N" },
+ no = { "N·OpPd", "?" },
+ v = { "Visual", "V" },
+ V = { "V·Line", "Vl" },
+ [""] = { "V·Block", "Vb" },
+ s = { "Select", "S" },
+ S = { "S·Line", "Sl" },
+ [""] = { "S·Block", "Sb" },
+ i = { "Insert", "I" },
+ ic = { "ICompl", "Ic" },
+ R = { "Replace", "R" },
+ Rv = { "VReplace", "Rv" },
+ c = { "Command", "C" },
+ cv = { "Vim Ex", "E" },
+ ce = { "Ex (r)", "E" },
+ r = { "Prompt", "P" },
+ rm = { "More ", "M" },
+ ["r?"] = { "Confirm", "Cn" },
+ ["!"] = { "Shell ", "S" },
+ nt = { "Term ", "T" },
+ t = { "Term ", "T" },
+}
+
+el.setup {
+ generator = function()
+
+ local items = {
+ { c.mode { modes = modes, fmt = " %s %s ", icon = "", hl_icon_only = false } },
+ { sections.split, required = true },
+ { sections.collapse_builtin { { builtin.filetype }, { " " } } },
+ { sections.maximum_width(builtin.tail_file, 0.50), required = true },
+ { sections.collapse_builtin { { " " }, { builtin.modified_flag } } },
+ { sections.split, required = true },
+ { c.diagnostics {
+ fmt = "[%s]", lsp = true,
+ hl_err = highlights.diag_err,
+ hl_warn = highlights.diag_warn,
+ hl_info = highlights.diag_info,
+ hl_hint = highlights.diag_hint,
+ icon_err = 'x', icon_warn = '!', icon_info = 'i', icon_hint = 'h'
+ }
+ },
+ { c.git_branch { fmt = "%s *%s", icon = "" } },
+ { c.git_changes_buf {
+ fmt = "[%s]",
+ icon_insert = "+",
+ icon_change = "~",
+ icon_delete = "-",
+ hl_insert = highlights.green_fg,
+ hl_change = highlights.yellow_fg,
+ hl_delete = highlights.red_fg,
+ }
+ },
+ }
+
+ local add_item = function(result, item)
+ table.insert(result, item)
+ end
+
+ local result = {}
+ for _, item in ipairs(items) do
+ add_item(result, item)
+ end
+
+ return result
+end,
+}
diff --git a/after/plugin/tabline.lua b/after/plugin/tabline.lua
new file mode 100644
index 0000000..7ec5cf1
--- /dev/null
+++ b/after/plugin/tabline.lua
@@ -0,0 +1,9 @@
+local status_ok, luatab = pcall(require, "luatab")
+if not status_ok then
+ return
+end
+
+luatab.setup {
+ windowCount = function() return '' end,
+ devicon = function() return '' end,
+}
diff --git a/lua/core/overrides/telescope.lua b/after/plugin/telescope.lua
index c17e56c..0674b21 100644
--- a/lua/core/overrides/telescope.lua
+++ b/after/plugin/telescope.lua
@@ -1,13 +1,20 @@
-local telescope = require('telescope')
+local status_ok, telescope = pcall(require, "telescope")
+if not status_ok then
+ return
+end
local actions = require('telescope.actions')
telescope.setup {
defaults = {
- borderchars = { " ", " ", " ", " ", " ", " ", " ", " " },
+ borderchars = {
+ prompt = {' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ' };
+ results = {' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ' };
+ preview = {' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ' };
+ },
sorting_strategy = 'ascending',
+ layout_strategy = 'bottom_pane',
layout_config = {
- height = 0.9,
- prompt_position = 'top',
+ height = 0.3,
},
mappings = {
i = {
@@ -25,16 +32,16 @@ telescope.setup {
},
extensions = {
["ui-select"] = {
- require("telescope.themes").get_dropdown {
+ require("telescope.themes").get_ivy {
-- even more opts
}
}
},
}
}
-telescope.load_extension('undo')
telescope.load_extension('file_browser')
telescope.load_extension('ui-select')
+telescope.load_extension('projects')
a.nvim_create_autocmd('User', {
pattern = 'TelescopePreviewerLoaded',
diff --git a/after/plugin/toggleterm.lua b/after/plugin/toggleterm.lua
new file mode 100644
index 0000000..b0cd2c8
--- /dev/null
+++ b/after/plugin/toggleterm.lua
@@ -0,0 +1,33 @@
+local status_ok, toggleterm = pcall(require, "toggleterm")
+if not status_ok then
+ return
+end
+
+toggleterm.setup {
+ shade_terminals = true,
+ float_opts = {
+ border = 'shadow',
+ },
+ on_open = function()
+ vim.opt.cmdheight = 0
+ end,
+ on_close = function()
+ vim.opt.cmdheight = 1
+ end
+}
+
+local term = require('toggleterm.terminal').Terminal
+local glow = term:new({
+ cmd = "glow",
+ hidden = true,
+ direction = "float",
+ float_opts = {
+ border = "shadow",
+ width = 120,
+ height = 50,
+ }
+})
+
+function _glow()
+ glow:toggle()
+end
diff --git a/lua/core/overrides/trouble.lua b/after/plugin/trouble.lua
index eabbd7e..bdf9f37 100644
--- a/lua/core/overrides/trouble.lua
+++ b/after/plugin/trouble.lua
@@ -1,4 +1,9 @@
-require("trouble").setup {
+local status_ok, trouble = pcall(require, "trouble")
+if not status_ok then
+ return
+end
+
+trouble.setup {
icons = false,
fold_open = "v",
fold_closed = ">",
diff --git a/after/plugin/ts.lua b/after/plugin/ts.lua
new file mode 100644
index 0000000..7e5a490
--- /dev/null
+++ b/after/plugin/ts.lua
@@ -0,0 +1,27 @@
+local status_ok, treesitter = pcall(require, "nvim-treesitter.configs")
+if not status_ok then
+ return
+end
+
+treesitter.setup {
+ ensure_installed = {
+ "c",
+ "lua",
+ "bash",
+ "vim",
+ "vimdoc",
+ "query",
+ "git_rebase",
+ "gitattributes",
+ "gitcommit",
+ "gitignore",
+ "git_config",
+ },
+
+ auto_install = true,
+
+ highlight = {
+ enable = true,
+ additional_vim_regex_highlighting = false,
+ },
+}
diff --git a/after/plugin/tsc.lua b/after/plugin/tsc.lua
new file mode 100644
index 0000000..70131e7
--- /dev/null
+++ b/after/plugin/tsc.lua
@@ -0,0 +1,10 @@
+local status_ok, tc = pcall(require, "treesitter-context")
+if not status_ok then
+ return
+end
+
+tc.setup{
+ enable = true,
+ line_numbers = true,
+ separator = '-',
+}
diff --git a/after/plugin/tsj.lua b/after/plugin/tsj.lua
new file mode 100644
index 0000000..8465a40
--- /dev/null
+++ b/after/plugin/tsj.lua
@@ -0,0 +1,9 @@
+local status_ok, treesj = pcall(require, "treesj")
+if not status_ok then
+ return
+end
+
+treesj.setup {
+ use_default_keymaps = false,
+ max_join_length = 120,
+}
diff --git a/after/plugin/urlview.lua b/after/plugin/urlview.lua
new file mode 100644
index 0000000..1cae07c
--- /dev/null
+++ b/after/plugin/urlview.lua
@@ -0,0 +1,8 @@
+local status_ok, urlview = pcall(require, "urlview")
+if not status_ok then
+ return
+end
+
+urlview.setup {
+ default_picker = 'telescope',
+}
diff --git a/after/plugin/whichkey.lua b/after/plugin/whichkey.lua
new file mode 100644
index 0000000..66c8a9e
--- /dev/null
+++ b/after/plugin/whichkey.lua
@@ -0,0 +1,20 @@
+local status_ok, whichkey = pcall(require, "which-key")
+if not status_ok then
+ return
+end
+
+whichkey.setup {
+ icons = {
+ breadcrumb = '>>',
+ separator = '->',
+ },
+ winblend = 0,
+ window = {
+ border = 'shadow',
+ margin = { 1, 5, 2, 5 },
+ },
+ layout = {
+ width = { min = 20, max = 50 },
+ align = 'left',
+ }
+}